`
一纸红颜岂值倾尽天下
  • 浏览: 29366 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

dwr 操作使用

    博客分类:
  • dwr
dwr 
阅读更多

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.

 

第一步:

1.去官网下载dwr.jar包
http://directwebremoting.org/dwr/downloads/index.html



第二步:配置servlet
  <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>

 

1
0
分享到:
评论
2 楼 一纸红颜岂值倾尽天下 2014-10-09  
ajax是通过js发出请求,被Servlet拦截下来,通过Servlet来与持久层打交道,而DWR就是对这一层Servlet进行了封装,使得js可以直接调用持久层的方法。
1 楼 bewithme 2014-10-09  
用jquery ajax调用servlet不是很好吗为什么一定要用dwr

相关推荐

    Dwr入门操作手册Dwr

    Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr...

    dwr demo dwr简单使用

    暴露给JavaScript的服务器端方法可能会引发安全风险,因此需要谨慎设置DWR的访问权限,避免敏感数据和操作被不授权的用户调用。 通过这个简单的DWR演示项目,你可以深入理解DWR的工作原理,掌握如何配置DWR、编写可...

    DWR操作数据库模拟实现Google搜索效果

    在本项目"**DWR操作数据库模拟实现Google搜索效果**"中,我们将探讨如何利用DWR技术来创建一个类似Google搜索的体验。这个项目的核心目标是通过用户在前端输入关键词,实时从后台数据库中检索匹配的信息,并在页面上...

    dwr实例操作+rmi实例操作

    **DWR(Direct Web Remoting)实例操作** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现Ajax(Asynchronous JavaScript and XML)技术的框架。它允许JavaScript与服务器端的Java代码进行直接交互,...

    dwr操作文件上传下载

    在这个场景下,"dwr操作文件上传下载"指的是利用DWR框架来处理文件的上传和下载功能。 1. **DWR简介** DWR的核心功能是提供一种简单的API,使得JavaScript可以与服务器端的Java对象进行交互。它包括了自动处理JSON...

    dwr+oracle数据操作

    **DWR(Direct Web Remoting)与Oracle数据操作** DWR,全称为Direct Web Remoting,是一种在Web应用中实现JavaScript与服务器端Java代码进行异步通信的技术。它允许开发者在浏览器端直接调用服务器上的Java方法,就...

    dwr 包的 使用入门

    - 在`dwr.xml`中配置安全设置,限制对敏感数据和操作的访问。 8. **错误处理和调试**: - DWR提供了错误处理机制,当服务器端或网络出现问题时,可以在JavaScript中捕获错误信息。 - 开发模式下,DWR会提供详细...

    DWR 视频教程 使用DWR开发AJAX For JavaEE

    9. **实战项目**:“[浪曦原创]零散视频三 使用DWR开发AJAX For J2EE(JustCode).wrf”可能是一个实际操作视频,详细演示如何使用DWR构建一个简单的AJAX应用,通过观看可以加深对上述理论知识的理解。 10. **资源...

    DWR技术文档、快速使用DWR、java技术

    **DWR(Direct Web Remoting)技术文档** DWR,全称Direct Web Remoting,是一种在Web应用程序中实现...通过理解其核心功能、配置步骤以及使用流程,开发者可以快速地在项目中引入DWR,构建高效、动态的Web应用。

    dwr和ajax使用demo

    【DWR(Direct Web Remoting)与Ajax技术详解】 DWR(Direct Web Remoting)是一种在Web应用程序中...理解并掌握DWR和Ajax的结合使用,能够极大地提升你的Web开发能力,让你能构建出更加高效、用户体验优良的应用。

    dwr框架的使用简介

    ### dwr框架的使用简介 #### 一、引言 随着AJAX技术的广泛应用,Web项目的开发变得越来越复杂。AJAX技术(Asynchronous JavaScript and XML)作为一种无须刷新整个页面即可进行局部更新的技术,极大地提升了用户...

    关于dwr及使用

    综上所述,"关于dwr及使用"的学习资料将涵盖DWR的基本概念、配置、使用方法、安全性和性能优化等方面,对于想要入门DWR或者提升DWR技能的开发者来说,是一份非常有价值的资源。通过研究"dwrhell"o项目,可以直观地...

    简单使用dwr完整例子

    在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...

    dwr异步操作

    在"dwr异步操作"这个主题中,我们需要关注以下几个关键知识点: 1. **DWR架构**:DWR由三部分组成:`Client-side API`、`Server-side Engine` 和 `Configuration`。Client-side API包含JavaScript库,允许前端与...

    Dwr入门操作手册及dwr包

    **DWR(Direct Web Remoting)入门操作手册及DWR包** DWR,全称Direct Web Remoting,是一个...通过深入学习"Dwr入门操作手册"并实践使用"dwr.jar",你可以掌握如何利用DWR构建交互性更强、用户体验更好的Web应用。

    dwr笔记 dwr自学资料

    4. **Ajax API**:为JavaScript提供了一组API,如`dwr.engine.remote.execute()`用于调用服务器方法,`dwr.util.*`提供了数据操作和类型转换的工具。 四、DWR的使用步骤 1. **引入依赖**:在项目中添加DWR库。 2. *...

    dwr结合ssh使用

    DWR (Direct Web Remoting) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时通信,而无需使用插件或复杂的JavaScript代码。DWR的使用通常结合其他流行的Java开发框架,如Struts、Spring(SSH中的S...

    DWR的使用方法

    3. **生成配置文件**: 使用DWR的生成工具(如`dwr-gen`)自动生成JavaScript接口文件,这些文件包含了服务器端类和方法的引用。 4. **编写JavaScript代码**: 在HTML页面中,引入DWR生成的JavaScript文件,然后就...

Global site tag (gtag.js) - Google Analytics