DWR基本配置
DWR——Direct Web Remoter Servlet
供给那些想要以一种简单的方式使用Ajax和XMLHttpRequest的开发者。它具有一套Javascript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。它操控不同类型的参数,并同时保持了HTML代码的可读性。
DWR不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和servlet框架内的应用配合的很好。
配置步骤:
1.拷贝dwr.jar到WEB-INF/ lib下 下载地址:http://getahead.ltd.uk/dwr/
2.在web.xml中增加dwr配置, 在WEB-INF目录中建立一个dwr.xml
<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>
3.建立一个被调用的类,和普通java类没有区别
package dwr.test; public class Service { public String getMessage() { return "this is the dwr invoke test!"; } }
4.在WEB-INF下增加dwr的配置文件dwr.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <allow> <create javascript="service" creator="new"> <param name="class" value="dwr.test.Service" /> </create> </allow> </dwr>
5.书写调用
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>首页</title> <mce:script type="text/javascript" src="dwr/engine.js" mce_src="dwr/engine.js"></mce:script> <mce:script type="text/javascript" src="dwr/util.js" mce_src="dwr/util.js"></mce:script> <mce:script type="text/javascript" src="dwr/interface/service.js" mce_src="dwr/interface/service.js"></mce:script> <mce:script type="text/javascript"><!-- // 调用服务端getMessage方法 function firstDwr(){ service.getMessage(callBackHello); } // 回调方法,显示从服务器返回的信息 function callBackHello(data){ alert(data); } // --></mce:script> </head> <body> <input type="button" name="button" value="测试" onclick="firstDwr()"> </body> </html>
注意:
这两个js引入是dwr框架的
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
第三个<script type="text/javascript" src="dwr/interface/service.js">
是在dwr.xml中我们配置的 <create javascript="service"
调用dwr与调用java方法类似,但调用后存在一个回调函数,结果由回调函数处理
6.结果: