`
itwangxinli
  • 浏览: 147913 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DWR使用手记(转)

阅读更多
DWR使用手记

      前段时间想做个东西玩玩,又想学点新的技术,就想起来用DWR(Direct Web Remoting)。把东西做完之后,想想DWR用起来还是很方便的,DWR主要是为了方便javascript调用java class方法,在中间起了一个协调作用,这个功劳主要取决于apache的开源API-bsf.jar。DWR可以声明哪些类可以供javascript调用,可以细到只能调用哪些方法。目前DWR还支持调用spring beans。总结一下使用过程:

 1.在WEB.XML中配置DWRServlet:

 <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <display-name>DWR Servlet</display-name>
    <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

 <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

 上面配置debug=true后,我们就可以通过http://localhost/webapp/dwr/查看,当前有哪些类可以供javascript调用,同时还可以对类中方法进行测试.对于DWRServlet还有一些参数可以自行设置,如logLevel设置日志级别等.具体可以参照源码.

 2 DWR默认的读取/WEB-INF/dwr.xml文件,dwr.xml文件配置如下:

<dwr>
  <allow>

    <init></init>
        <create creator="new" javascript="Ask">
             <param name="class" value="com.test.Ask"/>
        </create>
        <convert converter="bean" match="Message"/>

        <signatures></signatures>
   </allow>
</dwr>

       从上面可以看出来dwr.xml文件的基本结构,每个<create>声明一个可供javascript调用的类,javascript="Ask"表明:在javascript中可以用Ask调用类Ask的方法,creator="new"表明每个请求都新建一个Ask实例.

       下面的<convert>是:如果在类中把一个对象作为参数(例如A.take(B b)),从javascript调用此方法时,DWR会自动把javascript传过来的参数自动转为对应的bean对象.dwr中已经声明了部分参数类型的自动转换,例如string,int等.

      如果我们不想每个请求都新建一个对象,所有请求使用一个实例,我们可以这样配置:(需要bsf.jar)

  <create creator="script" javascript="Ask">

         <param name="language" value="beanshell"/>

         <param name="script">

            <![CDATA[

                         import com.test.Ask;

                         return Ask.getInstance();

           ]]>

        </param>

   </create>

  同时在<create>中还可以加入<include method="answe"/>一个或多个,用来限制javascript可以调用哪些方法. 

 

       <signatures>:如果我们在类方法中声明了List这样的类型参数,DWR不知道传过来的值自动转化为什么类型放到List中,这时候我们就需要在这个标签中声明,一般的我们还是建议放到List中的是javabean,不要是Date等这些类型.

<signatures>  <![CDATA[  import java.util.List;  import com.example.Check;  Check.setLotteryResults(List<Integer> nos);  ]]></signatures>
  3.JAVA类和JAVASCRIPT调用
   只举简单例子:
public class Ask
{
   public String answer(String question)
   {
      return question;
   }
}
页面文件:
<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/Ask.js'></script>
<script language="javascript">
function getAnswer()
{
    //用一个function接收返回值
    Ask.answer(gotAnswer);
}
//ans即为返回值
function gotAnswer(ans)
{
   alert(ans);
}
</script>
    总体用起来DWR那是"相--当"灵活的,目前DWR.JAR到了1.1BETA版, 官方网站http://getahead.ltd.uk/dwr/index
分享到:
评论

相关推荐

    DWR使用方法-step by step

    ### DWR使用方法详解:逐步指南 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在浏览器端直接调用服务器端的方法,如同调用本地对象一样简单。本篇文章将从安装DWR、配置相关文件到...

    java dwr 使用例子

    对于初学者来说,这是一个很好的起点,它涵盖了DWR基本的使用方式和配置,同时也提供了一个可运行的示例,帮助理解Ajax通信的工作原理。通过深入学习和实践,你可以利用DWR构建更复杂的交互式Web应用。

    DWR的使用方法

    **DWR(Direct Web Remoting)使用方法详解** DWR,全称为Direct Web Remoting,是一种开源Java技术,用于在Web应用程序中实现浏览器与服务器之间的实时双向通信。它允许JavaScript直接调用Java方法,就像它们在...

    DWR 框架使用手册

    DWR通过在客户端和服务器之间建立一个通信层,使得开发者可以轻松地在JavaScript中使用Java对象,极大地简化了前后端交互的复杂性。 DWR的核心组件包括: 1. **DWRServlet**:这是DWR的主要入口点,它是一个...

    dwr使用方法,配置

    【DWR(Direct Web Remoting)使用方法及配置详解】 DWR(Direct Web Remoting)是一种开源类库,专门用于帮助开发人员构建包含AJAX技术的Web应用。它允许JavaScript代码在浏览器中直接调用服务器端的Java函数,...

    dwr使用例子配置和使用

    下面我们将详细探讨DWR的配置和使用方法。 首先,配置DWR涉及以下几个关键步骤: 1. **引入DWR库**:在项目中添加dwr.jar,这是DWR的核心库,包含了所有必要的类和接口。 2. **创建Java类**:定义你需要在客户端...

    dwr demo dwr简单使用

    在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...

    dwr跨域访问以及dwr的使用+dwr.jar

    Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、安全的双向通信,有效地打破...然而,正确配置和使用DWR,以及处理好跨域安全问题,是每个开发者必须面对和解决的挑战。

    dwr dwrdwr

    dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr

    Dwr的使用实例

    Dwr的使用实例 war文件 1. lib要导入包: dwr-2.0.M3.jar 2. web.xml配置: 3. WEB-INF下dwr.xml的配置 4. bean例子: 5. index.jsp的例子 详细内容请下载

    适合初学者的DWR基本使用视频教程

    资源名称:适合初学者的DWR基本使用视频教程资源目录:【】dwr01_dwr的安装【】dwr02_dwr的转换器和异常处理【】dwr03_dwr的util的介绍【】dwr04_文件上传和与spring进行整合【】dwr05_dwr的debug和获取ServletAPI...

    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 包的 使用入门

    以下是对DWR包的使用入门的详细说明: 1. **DWR的安装与配置**: - 在Java项目中引入DWR库,通常通过Maven或Gradle添加依赖。 - 配置DWR的`dwr.xml`文件,定义允许的远程方法和类,这是DWR的核心配置文件,用于...

    dwr说明dwr说明dwr说明

    DWR (Direct Web ...总的来说,DWR提供了一种高效且易于使用的解决方案,使得开发者能够构建高度互动的Web应用,同时减少了传统AJAX技术的复杂性。通过学习和掌握DWR,你可以更轻松地创建动态、响应式的网页应用。

    dwr和ajax使用demo

    五、DWR使用步骤 1. **配置DWR**:在Web应用的`web.xml`中添加DWR的Servlet配置。 2. **生成DWR映射文件**:为每个要在客户端调用的Java方法生成一个对应的DWR接口。 3. **编写JavaScript代码**:在JavaScript中使用...

    Ajax的DWR使用

    **Ajax的DWR使用** Direct Web Remoting (DWR) 是一种开源JavaScript库,它使得在Web应用程序中实现Ajax(Asynchronous JavaScript and XML)技术变得简单。DWR允许JavaScript与服务器端Java对象直接通信,无需编写...

    DWR使用详解.doc

    ### DWR 使用详解 #### 一、DWR简介 DWR (Direct Web Remoting) 是一个简化 AJAX 编程的框架。它允许开发者在客户端 JavaScript 中直接调用服务器端 Java 方法,无需编写复杂的 AJAX 代码。DWR 基于 AJAX 实现,...

    ajax框架Dwr的具体使用步骤

    下面将详细介绍Dwr的使用步骤: 1. **导入DWR库**: 在项目中引入DWR的核心库dwr.jar。这通常通过Maven或Gradle等构建工具完成,或者手动将JAR文件添加到项目的类路径中。 2. **配置DWR**: 在`web.xml`文件中...

    dwr中文文档pdf格式

    这份中文文档详细介绍了DWR的相关概念和技术,对于学习和使用DWR的开发者来说是一份非常宝贵的资源。 **1. DWR基本概念** DWR的核心是反向Ajax(Reverse AJAX),即服务器可以主动向客户端发送数据,而不仅仅局限于...

Global site tag (gtag.js) - Google Analytics