DWR框架简介
DWR框架是一个可以允许你去创建AJAX WEB站点的JAVA开源库。它可以让你在浏览器的JavaScript代码中调用Web服务器的Java代码,就像Java代码在浏览器中一样。DWR工作原理是通过动态把Java类生成JavaScript,让使用者感觉调用就像发生在浏览器端。
2、DWR的使用场合
当我们的业务需要在页面不提交的情况下访问服务器端并实现页面数据局部刷新时,我们就可以使用DWR。
3、DWR的使用步骤
1、导入dwr的jar包
2、编写一个dwr框架在页面中用JavaScript要调用到的java类。
3、配置web.xml文件,将以下内容配置到web.xml中
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.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>
4、配置dwr.xml
创建一个dwr.xml文件,将它放在web.xml所在的WEB-INF目录下。
该文件在dwr的jar包中可以找到,里面的dtd导入语句可以拷贝过来。
<?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" javascript="testClass" >
<param name="class" value= "com.entity.DwrClass" />
<include method="sayHello"/>
</create>
<convert converter="bean" match="com.entity.BookType">
<param name="include" value="tname,desc" />
</convert>
</allow>
</dwr>
5、编写jsp页面,用javascript调用后台的java代码
⑴在页面中引入以下javascript脚本
<script type="text/javascript" src="dwr/interface/MyHelloWorld.js" ></script>
<script type="text/javascript" src="dwr/engine.js" ></script>
<script type="text/javascript" src="dwr/util.js" ></script>
其中的第一句是由DWR框架在运行时自动生成的,dwr/是一个虚拟的路径,我们并不能真是的看到这个文件的存在。后面两句中的js文件在dwr的jar包中可以找到,需要把这两个文件复制到WebRoot/dwr文件夹中,这里也可以不取名叫dwr,但为了保持和前面自动生成的虚拟文件夹路径一致,所以我们也给它取名叫dwr。
⑵编写javascript调用后台java代码。如果从后台获取了返回值,还可以通过DOM技术将值表现在页面上,这时页面并不会被全局刷新,只是局部发生改变,可以极大提高用户体验。