HttpServlet

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().