首页 > 其他 > 详细

DWR详细操作使用

时间:2014-02-14 00:14:53      阅读:491      评论:0      收藏:0      [点我收藏+]

去官网下载dwr.jar包

http://directwebremoting.org/dwr/downloads/index.html

bubuko.com,布布扣


第一步、配置dwr servlet

 <!-- 配置dwrserlvet -->
  <servlet>
      <servlet-name>dwrinvoker</servlet-name>
      <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
      <!-- 自动生成测试页面(写上下列代码,项目启动后浏览器上输入这个url:http://ip:端口/项目名/dwr/index.html
      页面上有个类的超链接点击后相信你会明白下一步该这么做) -->
      <init-param>
          <param-name>debug</param-name>
          <param-value>true</param-value>
      </init-param>
  </servlet>
 
  <!-- 配置映射关系 -->
  <servlet-mapping>
      <servlet-name>dwrinvoker</servlet-name>
      <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

第二步、编写类

package com.chni.dwr;

public class FirstDWR {

    /**
     * 调用js测试方法
     * @param uname  传过来的用户名
     * @return
     */
    public String getTime(String uname){
        
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return uname+"你好:服务器上的时间是:"+System.currentTimeMillis();
    }
}


第三步、在WEB-INF下配置新建一个dwr.xml 文件

<!-- dwr.xml 配置文件 -->
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
    "http://getahead.org/dwr/dwr20.dtd">
    
    <dwr>
        <allow>
        <!-- javascript调用类方法使用的名字 creator 创建类的方式   scope 存储范围
        page/request/session/application/script
        creator:职责实例化:方式  new 、none、spring 跟多详细信息建议网上吸收
        -->
            <create javascript="FirstDWR" creator="new" scope="request" >
                <!-- 对应类 -->
                <param name="class" value="com.chni.dwr.FirstDWR"/>
                <!--
                <exclude method="getTime"/>禁止页面上调用那些方法
                <include method=""/>规定页面上只能调用那些方法
                <filter class=""></filter>
                <auth role="" method=""/>许你指定一个J2EE的角色作为将来的访问控制检查
                 -->
            </create>
            <!-- bean的转换器,可以将com.pojos包下的所有类转换成Bean对象 可以模糊匹配(比如说com.chni.* 配置了com.chni包下所有类) -->
            <!--
                <convert match="实体类" converter=""></convert>
             -->
        </allow>
    </dwr>


第四步、在页面上引用(运行起来你就可以看到效果了)

 <title>简单的dwr实现</title>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   <!-- FirstDWR.js是DWR引擎自动生成的脚本 -->
  <script type=‘text/javascript‘ src=‘/dwr/dwr/interface/FirstDWR.js‘></script>
  <!-- 这个文件是DWR的核心库,只要需要使用DWR就不能缺少该文件-->
  <script type=‘text/javascript‘ src=‘/dwr/dwr/engine.js‘></script>
  <!-- dwr.util.js 是js的工具包 -->
  <script type=‘text/javascript‘ src=‘/dwr/dwr/util.js‘></script>

<script type="text/javascript">
    //响应页面事件 调用java方法
    function javaMethod(){
        //获取页面文本框的值
        var varStr=document.getElementById("name").value;
        /*
        还可以使用dwr中的组件名获取文本框的值
        var varStr=dwr.util.getValue("userName");
        */    
        /*调用服务器对应方法 第一个参数java需要传入的参数,
            第二个参数处理完之后返回来的值
        相当于sampleXMLHttpReq.onreadystatechange = processResponse;,
        */
        //页面加载
        document.getElementById("none").style.display="inline";
        FirstDWR.getTime(varStr,function(data){
            if(data!=""){
                document.getElementById("none").style.display="none";
            }
            document.getElementById("vardata").value=data;
        });
    }
    //清除
    function clare(){
        document.getElementById("name").value=‘‘;
        document.getElementById("vardata").value=‘‘;
    }
</script>
  </head>
 
  <body>
    <pre>
        你的用户名:
        <input type="text" name="userName" id="name" onchange="javaMethod()"/>
        <br>服务器回应:
        <textarea cols="50" rows="5" name="serverReplay" id="vardata"></textarea>
        <input type="button" value="清 除" onclick="clare()">
        </pre>
        <div align="center" id="none" style="display: none"><img src="images/load.gif"/></div>
</body>
</html>


DWR详细操作使用

原文:http://blog.csdn.net/blogluoqi/article/details/19158493

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!