Introdução a Arquitetura J2EE com Servlets

porLuis Augusto Moretto

Introdução a Arquitetura J2EE com Servlets

Visão Geral

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.

Interface ServletRequest

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:

  1. Object getAttribute (String name) – Esse método retorna o valor do atributo nomeado como Object e null se não estiver presente. Podemos usar 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.
  2. String getParameter (String name) – Este método retorna o parâmetro request como String. Podemos usar o getParameterNames()método para obter a enumeração de nomes de parâmetros para o pedido.
  3. String getServerName () – retorna o nome do host do servidor.
  4. int getServerPort () – retorna o número da porta do servidor no qual está escutando.

A interface filho de ServletRequesté HttpServletRequestque contém alguns outros métodos para gerenciamento de sessão, cookies e autorização de solicitação.

Interface ServletResponse

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:

  1. void addCookie (Cookie cookie) – Usado para adicionar cookies à resposta.
  2. void addHeader (String name, String value) – usado para adicionar um cabeçalho de resposta com o nome e valor fornecidos.
  3. String encodeURL (java.lang.String url) – codifica o URL especificado incluindo o ID da sessão ou, se a codificação não for necessária, retorna o URL inalterado.
  4. String getHeader (String name) – retorna o valor para o cabeçalho especificado ou null se este cabeçalho não tiver sido definido.
  5. void sendRedirect (local String) – usado para enviar uma resposta de redirecionamento temporário ao cliente usando o URL de local de redirecionamento especificado.
  6. void setStatus (int sc) – usado para definir o código de status da resposta.

Servlets & JSON

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");