DWR是ajax的一个实现框架,它通过客户端的javascript代码直接对服务器端的java类进行操作,动态的将java类生成为javascript代码,实现了异步传输。可以实现页面的异步刷新。
要应用dwr框架所需的工作:
1.将dwr.jar包放到/WEB-INF/lib下
2.让web服务器在启动的时候认得dwr,必须在web.xml文件中进行配置。如:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
mysite</display-name>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<!--下面是2.0时的写法
<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-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
这是一个简单的配置。
3.配置dwr.xml文件(自己配置)
这个文件的存放位置通常和web.xml处于同一目录
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<!-- init is only needed if you are extending DWR -->
<init>
<creator id="..." class="..."/>
<converter id="..." class="..."/>
</init>
<!-- without allow, DWR isn't allowed to do anything -->
<allow>
<create creator="..." javascript="..."/>
<convert converter="..." match="..."/>
</allow>
<!-- you may need to tell DWR about method signatures -->
<signatures>
...
</signatures>
</dwr>
<4>编写被调用的java类(自己编写)
<5>页面上调用
--->引入三个文件:
<script type='text/javascript' src='/你的工程名/dwr/interface/showViewer.js'></script>--这个是由你的java类经过测试后生成的
<script type='text/javascript' src='/你的工程名/dwr/engine.js'></script>
<script type='text/javascript' src='/你的工程名/dwr/util.js'></script>
------>在javascript代码中调用java类
<SCRIPT language=JavaScript type=text/JavaScript>
function getCount(){
showViewer.getCount("参数",callBackCount);
}
function callBackCount(data){
DWRUtil.setValue("count","您是第"+data+"个访问者");
}
</SCRIPT>