Servlet

Origem: Wikipédia, a enciclopédia livre.
Ciclo de vida de um componente JSP.

Servlet (servidorzinho em tradução livre) é uma classe Java usada para estender as funcionalidades de um servidor. Apesar dos servlets poderem responder a quaisquer tipos de requisições, eles normalmente são usados para estender as aplicações hospedadas por servidores web, desta forma eles podem ser imaginados como Applets Java que rodam em servidores em vez de rodarem nos navegadores web. Estes tipos de servlets são os equivalentes Java a outras tecnologias de conteúdo Web dinâmico, como PHP e ASP.NET.

Também pode ser definido como um componente semelhante um servidor, que gera dados HTML e XML para a camada de apresentação de uma aplicação Web. Ele processa dinamicamente requisições e respostas.

Descrição[editar | editar código-fonte]

A API Java Servlet (do pacote javax.servlet) proporciona ao desenvolvedor a possibilidade de adicionar conteúdo dinâmico em um servidor web usando a plataforma Java.

Esta tecnologia disponibiliza ao programador da linguagem Java uma interface para o servidor web (ou servidor de aplicação), através de uma API. As aplicações baseadas no Servlet geram conteúdo dinâmico (normalmente HTML) e interagem com os clientes, utilizando o modelo requisição-resposta.

Os servlets normalmente utilizam o protocolo HTTP, apesar de não serem restritos a ele. Um Servlet necessita de um container Web para ser executado.

Eles são frequentemente usados para:

  • Processar ou armazenar dados que foram submetidos de um formulário HTML
  • Fornecer conteúdo dinâmico, como os resultados de uma consulta a um banco de dados
  • Gerenciar a informação de estado que não existe no protocolo sem estado HTTP, como inserir/retirar os itens de uma cesta de compras de um cliente específico

Tecnicamente falando, um "servlet" é uma classe Java no Java EE que obedece à API Java Servlet, um protocolo pelo qual uma classe Java pode responder a requisições. Servlets podem, em princípio, se comunicar sobre qualquer protocolo cliente-servidor, mas eles são na maioria das vezes usados com o protocolo HTTP. Desta forma, "servlet" normalmente é usado como uma abreviação para "servlet HTTP". Assim, um desenvolvedor de software pode usar um servlet para adicionar conteúdo dinâmico para um servidor web usando a plataforma Java. O conteúdo gerado normalmente é HTML, mas pode ser outro dado como XML. Servlets podem manter estado em variáveis de sessão através de muitas transações de servidores, usando cookies HTTP ou reescrita de URL.

Hierarquia das classes Servlet[editar | editar código-fonte]

Toda classe Servlet é extensão direta ou indireta da classe GenericServlet, que trata dos métodos relacionados a uma servlet genérica. A classe HttpServlet, por exemplo, estende Generic Servlet. Como é específica para o protocolo HTTP, métodos específicos são implementados, como os métodos doPost e doGet. . . .

Exemplo da implementação de um Servlet Hello World[editar | editar código-fonte]

import java.io.IOException;
import java.io.PrintWriter;
//Bibliotecas da classe Servlet
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends HttpServlet {
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("<html>\n" +
                "<head><title>Hello WORLD</title></head>\n" +
                "<body>\n" +
                "<h1>Hello WORLD</h1>\n" +
                "</body></html>");
  }
}

Ver também[editar | editar código-fonte]

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.