Tutorial DWR Configuração e uso Por Alexandre Soli
Passo 1 – Ferramentas A versão do DWR utilizada neste tutorial e a 2.0.5 (funciona com Java 1.3 em diante) e pode ser encontrada no link abaixo: http://directwebremoting.org/dwr/download TOMCAT 5.5 como servidor web Java 6 Eclipse 3.4.1
Passo 2 – Criando o projeto exemplo Dentro do Eclipse clique em File > New > Project e selecione Dynamic Web Project
Selecione Dynamic Web Project
Nomeie o projeto para tutorial-dwr e finalize o processo.
Passo 3 - Configuração Copie o jar do dwr para a pasta WEB-INF/lib
Nosso web.xml: <servlet> <servlet-name> dwr -invoker</servlet-name>  <servlet-class> org . directwebremoting . servlet .DwrServlet</servlet-class> <init-param> <param-name> config </param-name> <param-value>/WEB-INF/ dwr . xml </param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>false</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name> dwr -invoker</servlet-name> <url-pattern>/ dwr /*</url-pattern> </servlet-mapping>
Crie um arquivo chamado dwr.xml dentro do diretório WEB-INF.
Conteudo do arquivo dwr.xml <!DOCTYPE dwr PUBLIC &quot;-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN&quot; &quot;../config/dwr20.dtd&quot;> <dwr> <allow>  <!--  Declaracao   da   classe   que   ira  responder as  requisicoes  AJAX --> <create creator= &quot;new&quot;  javascript= &quot;ExemploLookup&quot; > <param name= &quot;class&quot;  value= &quot;br.com.neoimage.ExemploLookup&quot;  /> </create> <!--  Utilizado   para   conversao   de   objetos   javascript /java --> <convert converter= &quot;bean&quot;  match= &quot;br.com.neoimage.usuario.Usuario&quot; /> </allow> </dwr>
Crie as classes ExemploLookup, Usuario e exemplo.jsp
Passo 4 – Explicações Usuario - representa um usuário e contém apenas 2 atributos e seus respectivos getters e setters. ExemploLookup irá atuar como um serviço para as requisições AJAX. Exemplo.jsp – contém a chamada javascript para nosso serviço AJAX. Dwr.xml – contém a declaração de nosso serviço e da classe Usuario.
Passo 5 - Codificação Classe Usuario package  br.com.neoimage.usuario; public   class  Usuario { private  String nome; private  String sobrenome; public  String getNome() { return  nome; } public   void  setNome(String nome) { this .nome = nome; } public  String getSobrenome() { return  sobrenome; } public   void  setSobrenome(String sobrenome) { this .sobrenome = sobrenome; } }
Classe ExemploLookup package  br.com.neoimage; import  br.com.neoimage.usuario.Usuario; public   class  ExemploLookup { /** Responde  as  requisições  AJAX  vindas   da   página   exemplo . jsp A  entrada :<convert converter=&quot;bean&quot; match=&quot; br . com . neoimage . usuario . Usuario &quot;/> dentro  do  dwr . xml   permite  o  tráfego  do  objeto   entre  o Java e o  javascript .  */ public  String metodoExemplo(Usuario usuario) { String nomeCompleto = usuario.getNome() + &quot; &quot; + usuario.getSobrenome(); return  nomeCompleto; } }
Página exemplo.jsp <html> <!-- Imports  necessários   para  o DWR --> <script src= 'dwr/engine.js'  type= 'text/javascript'  ></script>  <script src= 'dwr/util.js'  type= 'text/javascript'  ></script>  <!-- Import  da   classe  ExemploLookup --> <script type= 'text/javascript'  src= 'dwr/interface/ExemploLookup.js' ></script> <script language= &quot;javascript&quot; > var  usuario =  new  Object();  // cria um objeto de comunicacao javascript/java usuario.nome = &quot;Alexandre&quot;;  // equivalente ao usuario.setNome usuario.sobrenome = &quot;Soli&quot;;  // equivalente ao usuario.setSobrenome // faz a chamada para o metodo -metodoExemplo- da classe ExemploLookup // o obj usuario e passado como parametro ExemploLookup . metodoExemplo (usuario,  function (data) { // todo codigo a seguir sera executado apos a resposta do metodo -metodoExemplo- alert(data); // data contém a resposta vinda do Java. }); </script> </html>
Passo 6 – Testando o exemplo Inicie o servidor e aponte para o endereço http://localhost:8080/tutorial-dwr/exemplo.jsp Ao ser carregada, a página irá mostrar uma mensagem com o nome e sobrenome passados como parametros na pagina jsp. var usuario = new Object();  usuario.nome = &quot;Alexandre&quot;; usuario.sobrenome = &quot;Soli&quot;;  O serviço ExemploLookup irá interceptara chamada ao método metodoExemplo, fará a concatenação das variáveis e devolverá uma String. public  String metodoExemplo(Usuario usuario) { String nomeCompleto = usuario.getNome() + &quot; &quot; + usuario.getSobrenome(); return  nomeCompleto; }
Página com a mensagem de resposta.
Dúvidas ou comentários? Envie um email para  [email_address]   Visite meu blog para mais dicas e tutorias http://alexandresoli.wordpress.com

Tutorial Dwr - Configuração e Uso

  • 1.
    Tutorial DWR Configuraçãoe uso Por Alexandre Soli
  • 2.
    Passo 1 –Ferramentas A versão do DWR utilizada neste tutorial e a 2.0.5 (funciona com Java 1.3 em diante) e pode ser encontrada no link abaixo: http://directwebremoting.org/dwr/download TOMCAT 5.5 como servidor web Java 6 Eclipse 3.4.1
  • 3.
    Passo 2 –Criando o projeto exemplo Dentro do Eclipse clique em File > New > Project e selecione Dynamic Web Project
  • 4.
  • 5.
    Nomeie o projetopara tutorial-dwr e finalize o processo.
  • 6.
    Passo 3 -Configuração Copie o jar do dwr para a pasta WEB-INF/lib
  • 7.
    Nosso web.xml: <servlet><servlet-name> dwr -invoker</servlet-name> <servlet-class> org . directwebremoting . servlet .DwrServlet</servlet-class> <init-param> <param-name> config </param-name> <param-value>/WEB-INF/ dwr . xml </param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>false</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name> dwr -invoker</servlet-name> <url-pattern>/ dwr /*</url-pattern> </servlet-mapping>
  • 8.
    Crie um arquivochamado dwr.xml dentro do diretório WEB-INF.
  • 9.
    Conteudo do arquivodwr.xml <!DOCTYPE dwr PUBLIC &quot;-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN&quot; &quot;../config/dwr20.dtd&quot;> <dwr> <allow> <!-- Declaracao da classe que ira responder as requisicoes AJAX --> <create creator= &quot;new&quot; javascript= &quot;ExemploLookup&quot; > <param name= &quot;class&quot; value= &quot;br.com.neoimage.ExemploLookup&quot; /> </create> <!-- Utilizado para conversao de objetos javascript /java --> <convert converter= &quot;bean&quot; match= &quot;br.com.neoimage.usuario.Usuario&quot; /> </allow> </dwr>
  • 10.
    Crie as classesExemploLookup, Usuario e exemplo.jsp
  • 11.
    Passo 4 –Explicações Usuario - representa um usuário e contém apenas 2 atributos e seus respectivos getters e setters. ExemploLookup irá atuar como um serviço para as requisições AJAX. Exemplo.jsp – contém a chamada javascript para nosso serviço AJAX. Dwr.xml – contém a declaração de nosso serviço e da classe Usuario.
  • 12.
    Passo 5 -Codificação Classe Usuario package br.com.neoimage.usuario; public class Usuario { private String nome; private String sobrenome; public String getNome() { return nome; } public void setNome(String nome) { this .nome = nome; } public String getSobrenome() { return sobrenome; } public void setSobrenome(String sobrenome) { this .sobrenome = sobrenome; } }
  • 13.
    Classe ExemploLookup package br.com.neoimage; import br.com.neoimage.usuario.Usuario; public class ExemploLookup { /** Responde as requisições AJAX vindas da página exemplo . jsp A entrada :<convert converter=&quot;bean&quot; match=&quot; br . com . neoimage . usuario . Usuario &quot;/> dentro do dwr . xml permite o tráfego do objeto entre o Java e o javascript . */ public String metodoExemplo(Usuario usuario) { String nomeCompleto = usuario.getNome() + &quot; &quot; + usuario.getSobrenome(); return nomeCompleto; } }
  • 14.
    Página exemplo.jsp <html><!-- Imports necessários para o DWR --> <script src= 'dwr/engine.js' type= 'text/javascript' ></script> <script src= 'dwr/util.js' type= 'text/javascript' ></script> <!-- Import da classe ExemploLookup --> <script type= 'text/javascript' src= 'dwr/interface/ExemploLookup.js' ></script> <script language= &quot;javascript&quot; > var usuario = new Object(); // cria um objeto de comunicacao javascript/java usuario.nome = &quot;Alexandre&quot;; // equivalente ao usuario.setNome usuario.sobrenome = &quot;Soli&quot;; // equivalente ao usuario.setSobrenome // faz a chamada para o metodo -metodoExemplo- da classe ExemploLookup // o obj usuario e passado como parametro ExemploLookup . metodoExemplo (usuario, function (data) { // todo codigo a seguir sera executado apos a resposta do metodo -metodoExemplo- alert(data); // data contém a resposta vinda do Java. }); </script> </html>
  • 15.
    Passo 6 –Testando o exemplo Inicie o servidor e aponte para o endereço http://localhost:8080/tutorial-dwr/exemplo.jsp Ao ser carregada, a página irá mostrar uma mensagem com o nome e sobrenome passados como parametros na pagina jsp. var usuario = new Object(); usuario.nome = &quot;Alexandre&quot;; usuario.sobrenome = &quot;Soli&quot;; O serviço ExemploLookup irá interceptara chamada ao método metodoExemplo, fará a concatenação das variáveis e devolverá uma String. public String metodoExemplo(Usuario usuario) { String nomeCompleto = usuario.getNome() + &quot; &quot; + usuario.getSobrenome(); return nomeCompleto; }
  • 16.
    Página com amensagem de resposta.
  • 17.
    Dúvidas ou comentários?Envie um email para [email_address] Visite meu blog para mais dicas e tutorias http://alexandresoli.wordpress.com