第一步,在原来的springmvc+hibernate的框架基础上融入dwr
1.引入dwr的jar包,由于本系统是使用maven进行管理
所以在pom.xml中添加配置
<!--DWR的jar包-->
<dependency>
<groupId>org.directwebremoting</groupId>
<artifactId>dwr</artifactId>
<version>3.0.M1</version>
</dependency>
2. 在web.xml中增加dwr的配置
<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>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value> false</param-value>
</init-param>
<init-param>
<param-name>allowScriptTagRemoting</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>
3. 新建一个测试类,用于进行数据返回的
package xhsoft.douding.admin.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.springframework.web.bind.annotation.RequestParam;
@RemoteProxy(name = "hello")
public class Hello
{
@RemoteMethod
public void test(String name)
{
System.out.println("111111111111111=" + name);
return "hello" + name;
}
}
PS:@RemoteProxy用于声明是远程代码类;@RemoteMethod用于声明是远程调用的方法
4.新建dwr.xml,用来配置js函数与java代码的映射关系
<?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="hello">
<param name="class" value="xhsoft.douding.admin.controller.Hello"/>
</create>
</allow>
</dwr>
其中<include>标签指定要公开给javascript的方法。不指定的话就公开所有方法。
<exclude>标签指定要防止被访问的方法
5.在页面中准备调用
<%@page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/interface/hello.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script>
hello.test("张三");
</script>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
其中的dwr/*.js文件的引入,无需特意配置就可以正常使用
在浏览器中访问此页面时,就会在后台的日志中输出信息了