u
DWR是什么
Direct Web Remoting
u
RPC样式的AJAX框架
u
方便Java开发人员使用的AJAX
u
AJAX:
将Java发布成JavaScript
u
反向AJAX:
将JavaScript对象传递给Java
下载dwr.jar
把dwr.jar拷贝到WEB-INF/lib目录下
u
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-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>
u
<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
</allow>
</dwr>
将dwr.xml放置到WEB-INF目录下
u
package com.lovo.dwr;
public class HelloWorld {
public String msgInWind(){
return
"彼无书,且知勉。"+
"头悬梁,锥刺股。"+
"彼不教,自勤苦。"+
"如囊萤,如映雪。";
}
}
2、 编写dwr.xml文件
1、建立一个jsp页面
user.jsp
页面
写上表单
2.配置web.xml文件
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-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>
<utl-pattern>/dwr/*</utl-pattern>
</servlet-mapping>
3、建立pojo类和业务类
User UserManager
5、在jsp页面添加js代码
<script type="text/javascript"
src="dwr/interface/UserManager.js"></script>
<script type="text/javascript"
src="dwr/engine.js"></script>
<script type="text/javascript"
src="dwr/util.js"></script>
<script type="text/javascript">
<dwr>
<allow>
<create creator="new"
javascript="HelloWorld"
scope="page">
<param name="class"
value="com.lovo.dwr.HelloWorld"/>
</create>
</allow>
</dwr>
u
<script type="text/javascript"
src="dwr/interface/UserManager.js"></script>
<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/UserManager.js"></script>
<script type="text/javascript"
src="dwr/engine.js"></script>
<script type="text/javascript"
src="dwr/util.js"></script>
<script type="text/javascript">
4、
在JavaScript调用服务器端java类中的方法
<script type="text/javascript">
window.onload = function() {
functon callback(str) {
$(‘output’).innerHTML ="<pre>"+str+"</pre>";
}
HelloWorld.msgInWind(callback);
}
</script>
(注意: $(‘output’)类似于function ($id){
}
)
5、
u
Java对象的有效范围
对象的范围可以通过dwr.xml中create的scope属性来决定的。
<dwr>
<allow>
<create creator="new"
javascript="HelloWorld"
scope="session">
<param name="class"
value="com.lovo.dwr.HelloWorld"/>
</create>
</allow>
</dwr>
6、DWR的数据转换
u
自动类型转化
•
基础数据类型
•
java.lang.String
•
java.util.Date
u
DWR预置多个转化器。
•
bean
•
Collection
•
Dom
u
<allow>
<convert converter="bean"
match="com.lovo.dwr.User"/>
</allow>
u
<dwr>
<allow>
<create creator="new“
javascript="HelloWorld" scope="page">
<param name="class"
value="com.lovo.dwr.HelloWorld" />
<exclude method=“noUse"/>
</create>
<convert converter="bean“
match="com.lovo.dwr.User">
<param name="exclude" value="password"/>
</convert>
</allow>
</dwr>
u
使用include和exclude控制java的方法暴露
二: 与Spring集成
u
u
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.spring.DwrSpringServlet
</servlet-class>
u
通过Spring配置文件来配置BEAN
====================================================================
我 的测试步骤 :
1、建立一个jsp页面
user.jsp
页面
写上表单
2.配置web.xml文件
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-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>
<utl-pattern>/dwr/*</utl-pattern>
</servlet-mapping>
3、建立pojo类和业务类
User UserManager
4、新建dwr.xml文件
<dwr>
<allow>
<create creator="new“
javascript="HelloWorld" scope="page">
<param name="class"
value="com.lovo.dwr.HelloWorld" />
<exclude method=“noUse"/>
</create>
<convert converter="bean“
match="com.lovo.dwr.User">
<param name="exclude" value="password"/>
</convert>
</allow>
</dwr>
creator建造者
convert类型转换器
自动类型转化
基础数据类型
java.lang.String
java.util.Date
DWR预置多个转化器。
bean
Collection
Dom
<dwr>
<allow>
<create creator="new“
javascript="HelloWorld" scope="page">
<param name="class"
value="com.lovo.dwr.HelloWorld" />
<exclude method=“noUse"/>
</create>
<convert converter="bean“
match="com.lovo.dwr.User">
<param name="exclude" value="password"/>
</convert>
</allow>
</dwr>
creator建造者
convert类型转换器
自动类型转化
基础数据类型
java.lang.String
java.util.Date
DWR预置多个转化器。
bean
Collection
Dom
5、在jsp页面添加js代码
<script type="text/javascript"
src="dwr/interface/UserManager.js"></script>
<script type="text/javascript"
src="dwr/engine.js"></script>
<script type="text/javascript"
src="dwr/util.js"></script>
<script type="text/javascript">
当然我的 Dwr+spring+Hibernate的整合代码下面上传!以便复用copy