`
zengbo0710
  • 浏览: 414021 次
社区版块
存档分类
最新评论

DWR1.1.1的基本应用

阅读更多
DWR(直接Web远程控制)项目是在Apache许可下的一个开源的解决方案,它供给那些想要以一种简单的方式使用AJAX和 XMLHttpRequest的开发者。它具有一套Javascript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。它操控不同类型的参数,并同时保持了HTML代码的可读性。

DWR不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和 servlet框架内的应用配合的很好。对缺少DHTML编程经验的开发者来说,DWR也提供了一个JavaScript库包含了经常使用的DHTML任务,如组装表,用item填充select下拉框,改变HTML元素的内容,如<div>和<span>
DWR网站是详尽的并且有大量的文档,这也是这篇文章的基础。一些例子用来展示DWR如何使用和用它的库可以完成什么样的工作。

首先要加DWR的JAR包到你的CLASSPATH中或者Web应用的WEB-INF/lib目录中
然后在web.xml中增加一个servlet声明,并创建DWR的配置文件。DWR的分发中需要使用一个单独的jar文件。你必须将DWR servlet加到应用的WEB-INF/web.xml中。

   <servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <display-name>DWR Servlet</display-name>
        <description>Direct Web Remoter Servlet</description>
        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>     //当DWR在调试模式时,
            <param-value>true</param-value>       //你可以从HTMl网页中看到所有的可访问的Java对象
        </init-param>
     </servlet>
    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>
现在你必须让DWR知道通过XMLHttpRequest对象,什么对象将会接收请求。这个任务由叫做dwr.xml的配置文件来完成。在配置文件中,定义了DWR允许你从网页中调用的对象。从设计上讲,DWR允许访问所有公布类的公共方法,但在我们的例子中,我们只允许访问几个方法。下面是我们示例的配置文件:
<dwr>
   //初始化一个转换器,在DWR的默认里面没有我们需要的转换的时候 可以用到
      <init>
        <converter id="conver" class="com.xxx.util.*" />
    </init>
    <allow>
   //创建一个JAVABEAN 转换为JAVASCRIPT 对象 因为DWR默认的不会转换普通bean
   //不带param  默认访问所有该BEAN的所有属性
       <convert converter="bean" match="com.xxx.entity.Comments">
            <param name="include" value="id,articleId,author,email,content,time,status" />
     </convert>    
    //新建一个存在的方法,默认访问该类所有的方法,加上include method就只访问列出的方法
    <create creator="new" javascript="ApartmentDAO" class="dwr.sample.ApartmentDAO">
            <include method="findApartments"/>
            <include method="countApartments"/>
        </create>
//结合SPRING的BEAN
      <create creator="spring" javascript="pageGenerationService">
         <param name="beanName" value="pageGenerationService" />
     </create>
    </allow>
</dwr>

配置完成后,你就可以启动你的Web应用了,这时DWR会为从你的HTML或Java服务器端页面(JSP)上调用所需方法作好准备,并不需要你创建 JavaScript文件。在jsp文件中, 我们必须增加由DWR提供的JavaScript接口,还有DWR引擎,加入以下三行到我们的代码中:
<script src='dwr/interface/ApartmentDAO.js'></script>
<script src='dwr/interface/pageGenerationService.js'></script>
  <script src='dwr/engine.js'></script>
  <script src='dwr/util.js'></script>

然后你就可以在JAVASCRITP中调用了pageGenerationService.method();ApartmentDAO.findApartments();
ApartmentDAO.countApartments();



安全因素
为了保持示例的简要,ApartmentDAO类尽可能的保持简单,但这样的一个类通常有一组设置方法来操作数据,如insert(), update()和delete()。DWR暴露了所有公共方法给所有的HTML页面调用。出于安全的原因,像这样暴露你的数据访问层是不明智的。开发者可以创建一个门面来集中所有JavaScript函数与底层业务组件之间的通信,这样就限制了过多暴露的功能。
 

分享到:
评论

相关推荐

    dwr1、2、3版本的jar

    - DWR 1.x是其早期版本,引入了基本的远程方法调用(RMI)概念到Web应用,使开发者能够轻松地创建动态交互的页面。 - 此版本可能包含了基本的AJAX支持,允许异步更新部分网页而无需整个页面刷新。 - 它可能提供了...

    commons-logging-1.1.1,DWR,jstl

    DWR在富互联网应用(RIA)中广泛应用,因为它可以简化AJAX开发,提高用户体验,使得页面更新更加实时。DWR的核心组件包括:CORS(跨域资源共享)、AutoComplete、逆向Ajax(Reverse AJAX)和安全机制等。 "jstl"...

    dwr和ajax技术

    - **commons-logging-1.1.1.jar**:Apache Commons Logging库,用于日志记录,DWR可能使用它来记录运行时信息。 - **jstl.jar**:JavaServer Pages Standard Tag Library的JAR文件,用于JSP页面上的标准标签库,可能...

    dwr用到的相关jar包

    一个基本的`dwr.xml`配置可能如下: ```xml ``` 在这个例子中,`MyService` 类被暴露给JavaScript,允许客户端调用其方法。同时,所有`java.util.Date`类型的对象将被自动转换为指定格式的字符串。 ...

    dwr相关jar包资源

    这个压缩包包含了两个关键的JAR文件,分别是`dwr.jar`和`commons-logging-1.1.1.jar`,它们对于理解DWR的工作原理以及如何在项目中集成DWR至关重要。 1. **DWR.jar**:这是DWR的主要库文件,包含了所有DWR的核心...

    2011DWR 相关jar包

    Direct Web Remoting (DWR) 是一个开源Java库,它允许在Web应用程序中实现JavaScript与服务器端Java对象的双向通信。这个"2011DWR 相关jar包"包含了一些关键组件,用于搭建和运行DWR环境。 1. **DWR.jar**:这是DWR...

    DWR入门,含有我整理的word,PDF书,代码,jar包

    DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现JavaScript和服务器端Java对象之间的双向通信。它简化了Ajax(异步JavaScript和XML)应用的开发,允许开发者实时更新网页而无需刷新整个页面。现在...

    dwr ajax 下拉框自动搜索

    DWR (Direct Web Remoting) 是一个开源Java框架,它允许JavaScript在客户端与服务器端的Java对象进行交互,实现富互联网应用程序(RIA)的功能。在这个特定的项目中,"dwr ajax 下拉框自动搜索"是指利用DWR框架和...

    dwr3 学习笔记<一>

    这个学习笔记可能涵盖了DWR的基本概念、安装配置、API使用以及实际应用示例。 【描述】中虽然没有提供具体信息,但通常博主会通过博文分享对DWR的理解,包括如何在项目中集成DWR3,讲解其核心功能如AJAX通信、反向...

    dwr jar和配置,文档

    `commons-logging-1.1.1.jar` 是Apache Commons Logging的实现,提供了一个通用的日志接口,使得DWR可以灵活地选择和切换底层日志实现。 `DWR中文文档.pdf` 是DWR的中文用户手册,包含了详细的使用指南、配置示例和...

    JAVAEE框架源码

    首先,DWR 1.1.1是早期版本,其主要目标是简化Web应用程序中的远程方法调用。通过DWR,开发者可以在客户端JavaScript中直接调用服务器端Java对象的方法,无需处理复杂的HTTP请求和响应。这一特性极大地提高了用户...

    dwr 实例详解

    - **添加依赖**:首先需要在项目中引入DWR的jar包,包括`commons-logging-1.1.1.jar`和`dwr2.jar`。 - **配置Web应用**:在`web.xml`中注册DWR的Servlet,设置`servlet-name`为`dwr`,`servlet-class`为`uk.ltd....

    dwr相关jar包

    2. **commons-logging-1.1.1.jar**:这是Apache Commons Logging库的版本,它是DWR依赖的一个日志框架。Commons Logging提供了一个抽象层,允许应用程序使用多种日志实现,如Log4j、Java Util Logging或JDK内置的...

    DWR框架的使用.pdf

    - **添加依赖**:首先,你需要将DWR的jar包添加到项目的类路径中,通常包括`commons-logging-1.1.1.jar`和`dwr2.jar`等。 - **配置web.xml**:在`web.xml`中声明DWR的Servlet,例如`&lt;servlet-name&gt;dwrservlet...

    Ajax、DWR开发文档

    总结,Ajax和DWR都是为了提高Web应用的交互性和用户体验。Ajax通过XMLHttpRequest对象实现了客户端与服务器的异步通信,而DWR则是Ajax的一种高级封装,简化了服务器端方法的远程调用。理解并掌握这两者,对于构建高...

    Eclipse3.4_SSH2框架搭建

    - **dwr-1.1.1.jar**:Direct Web Remoting,一种将JavaScript调用转化为Java方法调用的技术。 - **freemarker-2.3.16.jar**:模板引擎,用于生成动态HTML页面。 - **javassist.jar**:动态字节码工程,用于生成和...

    选课小系统(初学者)

    7. **文件"classes12.jar"、"dwr.jar"、"commons-logging-1.1.1.jar"**:这些是项目的依赖库。"classes12.jar"可能包含了项目编译后的类文件;"dwr.jar"是Direct Web Remoting的库,它简化了浏览器与服务器之间的...

    精通JS脚本之ExtJS框架.part2.rar

    1.1.1 JavaScript简介 1.1.2 JavaScript特点 1.1.3 JavaScript与Java 1.2 第一个JavaScript程序 1.2.1 嵌入JavaScript 1.2.2 链接外部JavaScript文件 1.2.3 注意事项 1.3 基础语法 1.3.1 数据类型 1.3.2 ...

Global site tag (gtag.js) - Google Analytics