DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Desvendando os Servlets 3.0 - Java Magazine 81

Apresentação das novidades mais significativas introduzidas na nova versão da especificação de servlets, a 3.0. Cada uma das funcionalidades é explicada em detalhes, fazendo um comparativo com o que existia na versão anterior da especificação.






Desvendando os Servlets 3.0
Conheça as principais novidades dos Servlets 3.0

Em novembro de 2009 a Sun lançou a nova versão do Java EE (Enterprise Edition). Batizada de Java EE 6, esta versão trouxe um grande número de mudanças significativas nas mais diversas especificações que compõem a plataforma. Uma destas especificações é a JSR 315, que define a versão 3.0 dos servlets.
Os servlets estão presentes no Java EE há bastante tempo. Quem começou a trabalhar com eles há alguns anos certamente não notou grandes mudanças neste período. Na prática, pouca coisa foi modificada até a versão 2.5, que era a versão que vigorava até o ano passado. Agora, com a introdução da versão 3.0, a Sun procurou adicionar alterações que mudaram a forma de trabalhar com os servlets, facilitando a sua configuração e aumentando a produtividade do desenvolvedor.
Mesmo depois do aparecimento destas novidades, vale ressaltar que ainda é possível usar os servlets da forma como você já está habituado. A nova versão da especificação abre novas possibilidades, mas, ao mesmo tempo, mantém a compatibilidade com versões anteriores.
Este artigo abordará as principais mudanças na especificação, que são o suporte à configuração usando annotations, carregamento em tempo de execução e chamadas assíncronas a servlets.
Até o momento, apenas o servidor de aplicações GlassFish 3.0, que é a implementação de referência da Sun, suporta o Java EE 6 na sua totalidade.

Configurando servlets através do uso de annotations
Até a especificação 2.5, a criação de um servlet obrigava o desenvolvedor a criar a sua classe (que estende de HttpServlet) e configurá-lo corretamente no arquivo web.xml. A Listagem 1 mostra um exemplo de classe de um servlet, enquanto a Listagem 2 mostra como configurar, no web.xml, o servlet criado. De acordo com a configuração, ProcessarServlet é mapeado para /Processar.
Na nova versão da especificação, é possível utilizar annotations em substituição às configurações anteriormente feitas no arquivo web.xml. Isto simplifica o processo, uma vez que todas as informações necessárias podem ficar restritas à classe do servlet. A Listagem 3 mostra o mesmo ProcessarServlet, mas agora usando annotations.
No Java EE 6, o web.xml é um arquivo de uso opcional ao desenvolver aplicações web.
A annotation @WebServlet deve ser utilizada para configurar o servlet. No exemplo apresentado, o atributo urlPatterns foi utilizado para indicar o padrão de URL que deverá ser mapeado para o servlet. Ele permite também a definição de mais de um pattern, o que representa, na prática, que você pode delegar a um servlet o atendimento de requisições que usam diversos padrões de URL. A vantagem desta abordagem é que você centraliza suas operações em apenas um objeto e, dependendo da requisição feita, pode tratá-la de forma adequada.
A annotation @WebServlet também possui outros atributos, como name (para definir um nome para o servlet), description (para definir uma descrição), asyncSupported (para suporte a servlets assíncronos, que serão abordados mais adiante) e initParams.
O atributo initParams merece um destaque especial, pois possibilita que sejam fornecidos parâmetros ao servlet, os quais podem ser recuperados posteriormente através da chamada getServletConfig().getInitParameter(). Utilizar a passagem de parâmetros é interessante para tirar do código-fonte determinada informação que pode sofrer alteração com o passar do tempo. A definição de cada um dos parâmetros é feita através da annotation @WebInitParam. A Listagem 4 mostra como definir um parâmetro chamado msg e acessá-lo a partir do código do servlet.
Sempre que uma mesma configuração for feita através de annotations e no arquivo web.xml, o que está definido no arquivo possui precedência.
Listagem 1. Implementando o servlet.
package servlet;

public class ProcessarServlet extends HttpServlet {
"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    1 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Jefferson Moreira Da Silva
É melhor colocar no web.xml o WebInitParam porque se voce publicar um servlet em um servidor web, tera a possibilidade de editar o web.xml para configurar conforme o perfil daquele ambiente. Se ficar dentro do servlet, que vira um .class ou .jar no servidor, nao adianta nada, continua dentro do codigo-fonte.
[há +1 ano] - Responder

 



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Carlos Eduardo G. Tosin

Instrutor oficial dos cursos on-line de Java da Softblue. Formado em Ciência da Computação pela PUC-PR, pós-graduado em Desenvolvimento de Jogos para Computador pela Universidade Positivo e Mestre em Informática na área de Sistemas Distribuídos, também pela PUC...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
1   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03