DWR – Direct Web Remoting
DWR é um framework para se trabalhar com chamadas Ajax em implementações Java. Uma chamada Ajax é uma solicitação assíncrona de um recurso do sistema, ou seja, enquanto a solicitação é processada, o usuário pode interagir com outras partes do sistema até sua resposta.
É inerente a uma chamada Ajax: HTML, XHTML, CSS, DOM, XML, XMLHttpRequest, JavaScript. O grande benefício do uso do Ajax, certamente, é a possibilidade de maior interação do usuário com a aplicação, construção de aplicações ricas para a web, além de, melhor tempo resposta perceptível.
Diagrama de uma chamada Ajax:
No intuito de otimizar o desenvolvimento de aplicações Java que façam uso de Ajax, o uso do DWR é bastante aceito, por ser uma ferramenta Open Source, por propiciar chamadas seguras a códigos Java a pártir de um browser, integrável com os principais frameworks de mercado, encapsula detalhes e complexidades da implementação do XMLHttpRequest, realiza a conversão de classes Java para implementações JavaScript, permitindo seu uso dentro de um browser.
O diagrama abaixo demonstra o uso do DWR em uma solicitação Ajax a uma implementação Java:O PROJETO
Utilizando a IDE Eclipse, crie um novo Dynamic Web Project, conforme imagem abaixo:
Finalize a criação.
Para obter o arquivo dwr.jar, faça o download do mesmo em: http://directwebremoting.org/dwr/downloads/index.html
O DWR usa o artefato commons-logging.jar, portanto, este arquivo será necessário, pode ser obtido a partir de: http://commons.apache.org/logging/
Copie ambos arquivos para o diretório WEB-INF\lib do seu projeto.
Devemos configurar o servlet do DWR em nosso projeto, abra o arquivo web.xml de seu projeto e adicione:
DWR Servlet dwr-invoker org.directwebremoting.servlet.DwrServlet debug true dwr-invoker /dwr/*
É necessário, também, a criação de um arquivo de configuração do DWR, crie o arquivo como abaixo descrito, este deve constar no diretório WEB-INF de seu projeto, com o nome de dwr.xml:
Feito estas configurações, o DWR deverá estar pronto para uso. Inicie seu servidor, neste exemplo utiliza-se Tomcat 7, e acesse sua aplicação do seguinte modo:
Observe que o projeto lista o JavaScript JDate, que contém a classa java.util.Date em sua versão para JavaScript, convertida pelo DWR. Se você clicar sobre o link JDate, verá listados todos os métodos relativos a classe java.util.Date.
Nosso projeto apresentará o calculo do IMC (índice de massa córporea), onde a chamada e a apresentação do resultado serão via Ajax.
Para tanto, criaremos uma classe, como mostra a figura a seguir:
Implementamos a lógica como:
package br.com.serjava.dwr; public class CalculoIMCAjax { public String calcularImc(Double peso, Double altura) { Double imc = (peso / Math.pow(altura, 2)); if (imc < 18.5) { return "Seu imc é: " + imc + " Abaixo de 18,5 Você está abaixo do peso ideal"; } else if (imc >= 18.5 && imc < 24.9) { return "Seu imc é: " + imc + " Entre 18,5 e 24,9 Parabéns — você está em seu peso normal!"; } else if (imc >= 24.9 && imc < 29.9) { return "Seu imc é: " + imc + " Entre 25,0 e 29,9 Você está acima de seu peso (sobrepeso)"; } else if (imc >= 29.9 && imc < 34.9) { return "Seu imc é: " + imc + " Entre 30,0 e 34,9 Obesidade grau I"; } else if (imc >= 34.9 && imc <= 39.9) { return "Seu imc é: " + imc + " Entre 35,0 e 39,9 Obesidade grau II"; } else { return "40,0 e acima Obesidade grau III"; } } }
Devemos mapear a classe acima como um objeto do DWR, para isso deve-se editar o arquivo dwr.xml incluindo o seguinte:
Criaremos a página que apresentará o conteúdo, crie, caso já não exista, a página index.jsp, dentro do diretório WebContent, segue a implementação:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>Insert title here
Altura (m) | |
Peso (kg) |
É isso ai Fábio, tá show de bola o blog.
ResponderExcluirContinue assim.
Abraço.
Valeu, na medida do possível terá conteúdo novo!
ResponderExcluir