Servlet é uma tecnologia server side J2EE para criar aplicativos da Web em Java. Os pacotes javax.servlet
e javax.servlet.http
fornecem interfaces e classes para escrever nossos próprios servlets.
Todos os servlets devem implementar a javax.servlet.Servletinterface, que define os métodos de ciclo de vida do servlet. Ao implementar um serviço genérico, podemos estender a GenericServlet fornecida com a API do Java Servlet. A HttpServletclasse fornece métodos, como doGet()e doPost(), para manipular serviços específicos de HTTP.
Na maioria das vezes, os aplicativos da web são acessados usando o protocolo HTTP e é por isso que geralmente estendemos a classe HttpServlet.
A interface ServletRequest é usada para fornecer informações de solicitação do cliente ao servlet. O contêiner de servlet cria o objeto ServletRequest a partir da solicitação do cliente e passa-o ao método servlet service () para processamento.
Alguns dos métodos importantes da interface ServletRequest são:
getAttributeNames()
método para obter a enumeração de nomes de atributos para o pedido. Essa interface também fornece métodos para configurar e remover atributos.getParameterNames()
método para obter a enumeração de nomes de parâmetros para o pedido.A interface filho de ServletRequest
é HttpServletRequest
que contém alguns outros métodos para gerenciamento de sessão, cookies e autorização de solicitação.
A interface ServletResponse é usada pelo servlet no envio de resposta ao cliente. O contêiner de servlet cria o objeto ServletResponse e o transmite ao método servlet service () e, posteriormente, usa o objeto de resposta para gerar a resposta HTML para o cliente.
Alguns dos métodos importantes no HttpServletResponse são:
Por utilizar o protocolo HTTP para fazer requisições e respostas na Web, um Servlet também pode responder requisições em JSON. Para isso basta imprimir a String JSON na saida. De forma que o JSON seja interpretado corretamente pelo cliente, devemos alterar a resposta de nosso servlet conforme abaixo.
response.setContentType("application/json");