Dwr的基本配置说明
1.需要的包
将dwr.jar放在WEB-INF/lib下面;
2.web.xml中配置
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
说明:<url-pattern>/dwr/*</url-pattern> 中dwr是dwr中配置的路径,util.js和engine.js都在dwr下面配置。具体见页面中导入js的说明。
3.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 creator="new" javascript="service">
<param name="class" value="test.vo.Service" />
</create>
</allow>
</dwr>
说明:javascript="service"在页面中调用的名称。
value="test.vo.Service" 是对应的类的路径。
4.java的编写
public class Service {
public String sayHello(String name, HttpSession session) {
String msg = " hello " + name;
return msg;
}
}
5.jsp的编写
<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
<title>My JSP 'first_dwr.jsp' starting page</title>
<script type='text/javascript' src='/dwr/util.js'></script>
<script type='text/javascript' src='/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr/interface/service.js'>
</script>
<script type="text/javascript">
function firstDwr(){
service.sayHello(document.getElementById('but').value,callBackHello);
}
function callBackHello(data){
document.getElementById("data").value=data;
}
</script>
</head>
<body>
<tr>
<td><input type=text name=data >
<input type="button" name="but" value="测 试" onclick="firstDwr()">
</td>
</tr>
</body>
</html>
说明:
<script type='text/javascript' src='/dwr/util.js'></script> /dwr/是web.xml中配置的
<script type='text/javascript' src='/dwr/engine.js'></script> /dwr/是web.xml中配置的
<script type='text/javascript' src='/dwr/interface/service.js'> /dwr/是web.xml中配置的,service.js是在dwr中配置的文件名,一定要统一,否则浏览器会报“对象未初始化错误”;
按照这样的配发dwr就可以使用了,如果还想更深的学习和使用,你只需将java类继续改造或者dwr.xml文件继续配置。
6.注意事项
Ø 无需将util.js和engine.js拷贝到项目的js目录下面;
Ø Js引入的时候,是web.xml中配置的路劲,如/dwr/*。