DWR框架配置入门

来源:互联网 发布:淘宝汽车装饰品 编辑:程序博客网 时间:2024/06/11 05:05

本人使用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;     }}