Por que eu devo ler este artigo:

O artigo trata das novidades trazidas pela versão 3.1 da API Servlets, componente básico do desenvolvimento de aplicações Web em Java. Dentre as novas funcionalidades da API, o artigo mostra exemplos de uso de operações de entrada e saída não bloqueantes em requisições assíncronas, melhorias de segurança e upgrade de protocolo.

O tema é útil para qualquer desenvolvedor Web Java, em especial àqueles que utilizam diretamente a tecnologia Servlets. Programadores que usam apenas as funcionalidades oferecidas por frameworks Web podem se beneficiar indiretamente das novidades da API, pois as mesmas serão utilizadas pelos desenvolvedores dos frameworks para melhorá-los, e também aumentar seu conhecimento do funcionamento interno do seu framework favorito, tornando-se um desenvolvedor melhor.

Após o advento da Internet na década de 1980, a década de 90 presenciou o surgimento de tecnologias de programação para a Web (como o CGI em 93, PHP em 94, ASP em 95, etc.) que permitiam que as páginas não fossem mais apenas documentos estáticos. Por meio desta tecnologia, páginas Web poderiam ser produzidas dinamicamente combinando dados fornecidos pelos usuários, obtidos em bases de dados e outras fontes. A criação de aplicações Web dinâmicas permitiram a proliferação de sites de comércio eletrônico, motores de pesquisa, redes sociais, etc.

A Sun Microsystems, criadora da plataforma Java e principal responsável pela evolução da tecnologia Java até sua aquisição pela Oracle em 2009, entrou na onda das aplicações Web dinâmicas em 1997 com o lançamento da versão 1.0 da tecnologia Servlets. Os Servlets são componentes de software (objetos Java) gerenciados por um container, muitas vezes chamado de servidor Web Java, que estendem as funções básicas do servidor com funcionalidades específicas de uma aplicação.

Nota: Servlets não são restritos à plataforma Web e podem responder a requisições advindas de outros protocolos que não o HTTP (Hyper Text Transfer Protocol), protocolo utilizado pelos navegadores Web. No entanto, seu uso mais comum é em servidores Web, respondendo a requisições HTTP.

A Figura 1 ilustra o funcionamento básico de um Servlet: o servidor Web recebe uma requisição HTTP de um navegador que está acessando um endereço específico dentro de uma aplicação (ex.: http://localhost:8080/MinhaAppWeb/servlets/helloWorld). Na configuração da aplicação Web em questão (que se encontra no arquivo WEB-INF/web.xml) este endereço específico está associado com uma classe Java que estende a classe abstrata javax.servlet.http.HttpServlet. O container, então, cria uma instância dessa classe, chama o método apropriado (que pode executar alguma lógica de negócio da aplicação) e envia uma resposta ao container. Finalmente, o servidor envia a resposta de volta ao navegador (no exemplo, a mensagem “Hello, World!”).

Imagem 1

Figura 1. Funcionamento de um Servlet num ambiente Web.

Desde sua primeira versão em 1997, a API Servlets já evoluiu bastante até sua versão atual, 3.1, lançada este ano como parte da plataforma Java EE 7 e definida pela JSR 340 (veja o Box 1 e a seção Links). Esta versão traz como novidades principais a capacidade dos Servlets de utilizar operações de entrada e saída (I/O) não bloqueantes ao responder requisições assíncronas, suporte ao mecanismo de upgrade do protocolo HTTP e algumas melhorias na segurança. Em um vídeo sobre Servlet 3.1 no blog The Aquarium (veja Links) um desenvolvedor da Oracle declarou que a nova versão da API facilita o desenvolvimento de aplicações Web escaláveis, aumenta a produtividade dos desenvolvedores e vem atender requisitos de aplicações corporativas.

Box 1. Java Specification Request

JSR – Java Specification Request ou Pedido de Especificação Java – é um pedido de especificação de uma nova tecnologia (ou nova versão de uma tecnologia existente) dentro da plataforma Java. Cada especificação é desenvolvida e posteriormente aprovada para revisão pública e para publicação final dentro do JCP – Java Community Process ou Processo da Comunidade Java. O JCP é o meio pelo qual a comunidade Java (empresas, organizações sem fins lucrativos e desenvolvedores) propõe, desenvolve e publica padrões para tecnologias relacionadas a Java.

Utilizando uma aplicação de exemplo, este artigo apresenta as principais novidades da API Servlets 3.1. Primeiro, no entanto, é preciso instalar as fer ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora