Artigo Java Magazine 48 - DWR: Todo o Poder do Ajax
Artigo publicado pela Java Magazine 48.
DWR: Todo o Poder do Ajax Invoque código Java a partir de JavaScript de maneira simples Conheça os fundamentos do framework Direct Web Remoting e os recursos poderosos oferecidos para a criação de aplicações Ajax Veremos nesse artigo como o framework DWR (Direct Web Remoting) suporta a criação de aplicações Ajax avançadas, permitindo invocar código Java no servidor a partir de funções JavaScript e convertendo objetos e parâmetros entre as duas tecnologias. Visão geral O framework DWR permite que trechos de código JavaScript na camada cliente invoquem métodos O DWR gera código JavaScript baseado O ponto central do DWR é o seu servlet, que é responsável pela geração do JavaScript e pelo tráfego e conversão dos dados entre o servidor e o browser. O servlet gera dinamicamente os arquivos .js que representam os objetos Java no servidor; também gera outros arquivos .js que compõem a infra O DWR fornece ainda vários utilitários JavaScript que facilitam a realização de tarefas repetitivas e também o uso de DHTML. Entre as tarefas, podemos destacar a população de elementos, por exemplo de tabelas HTML. Como aplicações Ajax são fortemente baseadas em JavaScript, acabamos tendo que codificar muito na camada cliente, e esses utilitários reduzem bastante esta codificação. Explorando os principais recursos do DWR Nessa seção exploraremos alguns dos principais recursos do DWR através de um exemplo simples. Depois criaremos um exemplo mais complexo para ilustrar funcionalidades mais avançadas. Instalando o primeiro exemplo Os projetos de exemplo estão disponíveis para download no site da Java Magazine, sendo disponibilizados como WARs. Utilizaremos o Eclipse com WTP (Web Tools Platform) para importar esses WARs – mas você pode usar seu IDE preferido adaptando os passos mostrados no artigo. Também será necessário ter um container web instalado. Recomendamos o Apache Tomcat em sua versão 5.5 ou mais recente. Não será preciso utilizar um banco de dados para o primeiro exemplo. No segundo, utilizaremos o MySQL. No Eclipse, importe o primeiro exemplo – dwr.war – usando File|Import>Web>WAR. Utilize o nome do projeto como o contexto da aplicação (“/dwr”) e na tela seguinte não selecione nenhum dos JARs para que sejam criados como projetos. A estrutura criada deverá ser similar à da Figura 1. Figura 1. Estrutura do primeiro exemplo Podem ocorrer problemas com a versão do código Entendendo o primeiro exemplo O primeiro passo na configuração do DWR é a declaração do seu servlet. Na Listagem 1, vemos essa declaração, mapeando o servlet para atender a todas as requisições no caminho /dwr. Listagem 1. Configuração do web.xml para o DWR. <?xml version="1.0" encoding="UTF <web <servlet> <servlet <servlet org.directwebremoting.servlet.DwrServlet </servlet <init <param <param </init </servlet> <servlet <servlet <url </servlet </web
Nota 1: Os “Facets” são extensões do núcleo comum do WTP que dão suporte específico a alguma especificação ou API; por exemplo Java SE 5 ou Servlets 2.5. A escolha dos Facets faz o WTP adaptar vários comportamentos, por exemplo, validando arquivos de configuração com o XSD/DTD da versão exata pedida por um release específico da API utilizada.
Precisamos também de uma classe para disponibilizar como um objeto JavaScript. Para o exemplo, criamos a classe TimeService (Listagem 2), contendo apenas um método que retorna a data e a hora do servidor como uma string. Podemos ver que esta classe é um simples POJO – não é necessário implementar nenhuma interface ou herdar de alguma classe para que possa ser utilizada com o DWR." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo