Open silvaotavio1 opened 6 years ago
O principal pilar do desenvolvimento Web em Java é a API de Servlets. Com ela é possível executarmos código de uma determinada classe Java a partir de requisições HTTP para uma URL. Esse acesso é feito através de configurações não triviais de um servidor e arquivos específicos, de maneira diferente às antigas linguagens de script, como Perl, o que pode tornar o aprendizado de Servlets complicado.
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.
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.
Foi aprovada a versão nova do JavaEE 6, trazendo entre várias especificações novas, uma versão para Servlets, contendo diversas atualizações, a JSR 315, também conhecida como Servlet 3.0.