A classe
HttpServlet
é uma extensão de
GenericServlet
especificamente projetada para a conexão
de servlets a servidores HTTP. Assim, métodos dedicados a
lidar com solicitações HTTP, tais como doGet()
,
doPost()
e doPut()
, são especificados. A
implementação padrão do método service()
é um
dispatcher, que reconhece qual o
tipo de solicitação recebida e invoca o método correspondente.
Este exemplo ilustra a
utilização de um servlet que envia uma mensagem fixa no corpo
de uma página HTML em resposta a uma requisição GET ao servidor Web,
usando para tal o método doGet()
.
Outros métodos que suportam a interação do servlet através de
solicitações HTTP incluem getLastModified()
, que é
invocado pelo servidor para obter a data da última modificação do
"documento" (um número negativo se não houver informação ou
long
com o número de segundos desde 1 de janeiro de 1970
GMT); e getServletInfo()
, que retorna uma string
de documentação sobre o servlet, tal como nome, autor e versão.
A passagem de dados de um formulário do cliente para o
servlet pode se dar através do método
getParameter()
, que permite obter uma string com
o valor do campo especificado. Por exemplo, se um
formulário HTML
especificasse um campo de texto para entrada do nome do usuário, como
em
<INPUT type="text" name="username" size=20>
esse valor poderia ser obtido no código do servlet do exemplo anterior através da invocação
String nome = solicitacao.getParameter("username");
Além de getParameter()
, o método
getParameterValues()
retorna um arranjo de
strings com todos os valores de um determinado parâmetro.
Outros métodos são oferecidos para obter informação das aplicações que
estão invocando o servlet, tais como
getRemoteHost()
, getServerName()
,
getServerPort()
e, especificamente para HTTP,
getHeaderNames()
e getHeader()
.