您的位置:首页 > 其它

DWR框架配置入门

2011-10-28 10:09 288 查看
本人使用DWR的目的不单是为了使用它的AJAX功能,最主要还是因为它能够“直接”访问java类中的方法,实际上在使用的时候DWR框架把在验证文件里面写的JS转换为java代码去访问指定的方法,然后再把结果返回给javascript



本文DEMO下载地址:http://download.csdn.net/download/xpsharp/3727772

配置

第一步:下载dwr.jar包。commons-logging.jar包(这个包主要是打印DWR框架的debug信息)

第二步:在WebRoot/WEB-INF/下web.xml中配置过滤器

<!-- dwr -->
<servlet>
<servlet-name>dwr-invoker</servlet-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>
<!--  end dwr -->


第三步:DWR框架也有自己的一个“dwr.xml ”配置文件,用来配置javascript中使用的对象映射java中的哪个类

<?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>
<create creator="new" javascript="TestDwr">
<param name="class" value="dwr.TestDwr"/>  <!-- dwr.TestDwr 为自己定义的一个类用来处理JS请求的方法 -->
</create>
</allow>
</dwr>


第四步:在jsp页面中使用DWR框架

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DWR's  HelloWorld</title>
<!-- 这三个js为使用DWR框架中必须引用的三个JS文件,在现实文件中是不存在的,在使用DWR的时候才会动态为你创建 -->
<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/TestDwr.js'></script>
<!-- 这三个js为使用DWR框架中必须引用的三个JS文件,在现实文件中是不存在的,在使用DWR的时候才会动态为你创建 -->

<!-- 这个文件为真正使用DWR框架的文件 -->
<script type='text/javascript' src='hello.js'></script>
<!-- 这个文件为真正使用DWR框架的文件 -->
</head>
<body>
<input id="user" type="text" /><input type='button' value='哈罗' onclick='hello();' />  <div id="result"></div>
</body>
</html>


hello.js

function hello(){
var user = document.getElementById('user').value;
TestDwr.sayHello(user,callback);
}

function callback(msg){
DWRUtil.setValue('result',msg);
}


dwr.TestDwr.java

package dwr;
public class TestDwr {

public static String sayHello(String name){

return "sharp"+name;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: