1.DWR简介
DWR(Direct Web Remoting)是一种Ajax的Java实现,它提供了一种能在web游览器端采用JavaScript语言直接调用后台业务商业组件的解决方案。DWR通过JavaScript直接调用组件可以减少web开发时间,特别对于那些具有和用户频繁交互的web应用程序。DWR使得游览器不用刷新页面就可以从远程web服务器取得用户需要的数据,这种无刷新页面的交互方式大大提高web页面的响应时间。
2.DWR的配置
第一步,准备工作。从DWR官网 http://directwebremothing.org/dwr/downloads/index.html下载DWR核心文件“dwr.jar”,截止到目前DWR最新版本为3.1RC。
DWR非常依赖Commons-logging项目。Commons-logging是Apache的一个开源项目,其目的是为所有的Java日志实现“提供一个统一的借口”,可以从官方下载最新版本文件“commons-logging-1.1.1-bin.zip”,下载地址:http://commons.apache.org/downloads/download_logging.cgi。下载后将zip文件中的“commons-logging-1.1.1.jar”解压出来与“dwr.jar”文件放在一起以后备用。
第二步,打开web.xml文件,加入Servlet配置信息:
<servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param>
</servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
第三步:将工程部署到Tomcat并启动服务,在地址栏输入http://localhost:8080/项目名/dwr后,当看到“Classes known to DWR”信息就代表DWR部署成功了。
3:例子
写一个普通的java类
- package com.dwr01;
- public class Hello {
- public String sayHello(String name){
- System.out.println("hello "+name);
- return "hello "+name;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
- <dwr>
- <allow>
- <create creator="new">
- <param name="class" value="com.dwr01.Hello"/>
- </create>
- </allow>
- </dwr>
- <%@page contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>JSP Page</title>
- <script src="<%=request.getContextPath()%>/dwr/engine.js"></script>
- <script src="<%=request.getContextPath()%>/dwr/interface/Hello.js"></script>
- <script>
- Hello.sayHello("张三");
- </script>
- </head>
- <body>
- <h1>Hello World!</h1>
- </body>
- </html>