搭建环境
a)首先 将新建一个web项目 导入 dwr.jar 以及commons-logging.jar
b)web.xml 配置
<servlet>
<servlet-name>dwr_servlet</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>scriptCompressed</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr_servlet</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
c)dwr.xml配置(位置在web-inf下)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<!-- 配置一个JavaScript 可以调用的Java类 JavaScript的值就是Javascript调用的对象-->
<create creator="new" javascript="Demo">
<param name="class" value="com.dwr.Demo"/>
<!-- 配置那些方法可以供JavaScript 调用 -->
<include method="sayHello"/>
<include method="getStudent"/>
</create>
<!--
<convert converter="bean" match="test.User"/>
-->
<!-- 配置JavaScript对象跟Java对象的转换 match 匹配转换的对象 converter 在dwr.jar dwr.xml 中查找-->
<convert match="com.dwr.Student" converter="bean"></convert>
</allow>
</dwr>
下面是类图
d)测试dwr是否发布成功 启动服务http://loclahost:8080/项目名称/dwr
e)在jsp 中引入js 这个js 引入的代码可以在测试页面copy
<script type='text/javascript' src='/项目名称/dwr/engine.js'></script>
<script type='text/javascript' src='/项目名称/dwr/interface/Java类.js'></script>
f)js调用
function send(){
var name=document.getElementById("test").value;
Demo.sayHello(name,function callData(data){
document.getElementById("sp").innerHTML=data;
});
}
function getStudent(){
Demo.getStudent(function callbackdata(data){
for(var i=0;i<data.length;i++){
st=data[i];
document.write(st.age+"<br/>");
document.write(st.name+"<br/>");
}
});
}
jsp 图