`
无心之悠
  • 浏览: 37451 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

dwr的基本运用

阅读更多
Tips:纯三段式的ajax一直没怎么使用过,还是喜欢使用dwr

一、在web.xml中配置dwr
引用

<!-- 添加dwr配置 -->
  <servlet>
     <servlet-name>dwr</servlet-name>   
     <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
     <init-param>
     <param-name>debug</param-name>
     <param-value>true</param-value>
     </init-param>
    <init-param>
        <param-name>classes</param-name>
        <param-value>java.lang.Object</param-value>
    </init-param>
   </servlet>
<servlet-mapping>
    <servlet-name>dwr</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!-- 上下文监听器:是否初始化 -->
<listener>
  <listener-class>
  org.springframework.web.context.ContextLoaderListener
  </listener-class>
</listener>
       <!-- 认识上下文环境 -->
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
   /WEB-INF/applicationContext.xml
  </param-value>
  </context-param>


二、编写dwr.xml
引用
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<!-- dwr.xml中在dwr下面只能带一个allow对象,所有的对象函数声明均放在这个对象下面  -->
  <allow>
  <!-- 创建一个IUserinfo.js文件-->
     <create javascript="IUserinfo" creator="spring">
      <param name="beanName" value="IUserinfo" />
         <include method="checkUserName" />
         <include method="checkPswd" />
         <include method="checkLogin" />
     </create>
     <!-- 方法返回集合,集合的数据从Object转成Userinfo类 -->
     <convert match="com.us.Dao.Userinfo" converter="bean"/>
    
      <!-- 创建一个IArticle.js-->
     <create javascript="IArticle" creator="spring">
      <param name="beanName" value="IArticle" />
         <include method="getPageData" />
         <include method="getTotalPage" />
     </create>
     <convert match="com.us.Dao.Article"  converter="bean"/>
    
  </allow>
</dwr>


三、测试是否成功



PS:点击进去里面封装了所有的方法(如下图所示)



PS:输入参数,单击“Execute”按钮执行,可以查看执行结果.

四、在页面中的使用
1、引入生成的js文件
引用
<script type='text/javascript' src='/BlogOnline/dwr/interface/IArticle.js'></script>


2、实现数据的同步交互
<script language="javascript">
//显示分页加载的数据
function selectPageData()
{
    var pageId = 1;
    IArticle.getPageData(pageId,4,backList);
}
function backList(list)
{
    clear();
    alert(list.size());
    for(var i=0;i<list.size();i++)
    {
       var row = document.createElement("tr");
       var cloTitle = document.createElement("td");
       cloTitle.innerText = list[i].title;
       row.appendChild(cloTitle);
       tabBody.appendChild(row);
    }
}
//清空表格数据
function clear()
{
    if(tabBody.childNodes.length>0)
       tabBody.removeChild(tabBody.firstChild);
}
</script>

3、在页面加载中进行调用
<body background="" onLoad="selectPageData()">

4、局部更新
引用
<table width="100%" border="0" align="right" bgcolor="#FFFFFF" >
    <tr>
    <td height="26" align="left" background="images/titleBg.jpg" valign="middle">博文 [管理]</td>
    </tr>
    <tr>
      <td height="443">
        <div id="showArticlesDiv" style="position:absolute; left: 263px; top: 53px; width: 416px; height: 423px;">
          <table width="100%" border="0" align="center">
           <tbody id="tabBody"></tbody>
          </table>

        </div>
      </td>
    </tr>
    <tr>
    <td>      
     <form name="form2" method="post" action="">
        <table width="90%" border="0" align="center">
          <tr>
            <td align="center">共<span id="totalPage"></span> 页&nbsp;第<span id="pageId"></span>页&nbsp;首页&nbsp;上一页&nbsp;下一页&nbsp;尾页&nbsp;跳至
              <input type="text" name="goto" size="3">
              页 <img src="images/pagego.gif"/></td>
          </tr>
        </table>
    </form> 
    </td>
    </tr>
</table>


PS:这里分页没有实现

  • 大小: 12.6 KB
  • 大小: 12.7 KB
分享到:
评论
22 楼 lirong1978 2010-11-02  
好象JQ,看源代码就能看到个所以然了吧,传什么数据好象都能看得着
21 楼 无心之悠 2010-11-02  
小小流浪猪 写道
我们公司现在就用这个

上面很多TX都提到了一些问题,你们是怎么处理的呢?
PS:实用倒是实用
20 楼 小小流浪猪 2010-11-01  
我们公司现在就用这个
19 楼 无心之悠 2010-11-01  
robyjeffding 写道
我不知道ajax+dwr这样的标题是否合适?
其实LZ纯粹就是说的DWR,而DWR是对ajax的封装.
dwr对于ajax应用确实比较方便好用,但就如楼上所说,都用dwr了那么MVC模式的C岂不是要失业了?


是额,当时没想那么多
谢谢提醒啦

PS:看到好多投新手贴啊,才发现貌似好像确实是发错地方啦

加入JE没多久,好多规则都不知道额
请大家多多体谅啦!以后绝对不会出现类似的这种问题啦
18 楼 superyang 2010-11-01  
robyjeffding 写道
我不知道ajax+dwr这样的标题是否合适?
其实LZ纯粹就是说的DWR,而DWR是对ajax的封装.
dwr对于ajax应用确实比较方便好用,但就如楼上所说,都用dwr了那么MVC模式的C岂不是要失业了?

在所做的网站中,MVC中的C好像失业了,但有些还是一定要用到C的。。
17 楼 robyjeffding 2010-11-01  
我不知道ajax+dwr这样的标题是否合适?
其实LZ纯粹就是说的DWR,而DWR是对ajax的封装.
dwr对于ajax应用确实比较方便好用,但就如楼上所说,都用dwr了那么MVC模式的C岂不是要失业了?
16 楼 无心之悠 2010-11-01  
呵呵,以前是自己在用
但工作了,发觉公司好像没有用这个额
15 楼 superyang 2010-11-01  
无心之悠 写道
superyang 写道
dwr 很好很强大, 基本上网页全部用的就是dwr


你们公司是用的它吗?
感觉现在很少用的啦

为什么现在很少用??
不是公司在用,是自已一个人在用,方便快捷舒适敏捷..
PS:精通于dwr数据处理...


引用
一直纠结于,jquery还有必要吗?(jquery 我不会)
14 楼 无心之悠 2010-11-01  
superyang 写道
dwr 很好很强大, 基本上网页全部用的就是dwr


你们公司是用的它吗?
感觉现在很少用的啦
13 楼 superyang 2010-11-01  
dwr 很好, 基本上网页全部用的就是dwr




12 楼 fordybeach 2010-11-01  
无心之悠 写道
fordybeach 写道
不知道楼主有没有想过,你用dwr提交的ajax请求,怎么通过权限系统的过滤器呢?


这个考虑过啊
直接略过,并没有通过权限系统的过滤器。
现在我也已经很少使用啦,在用Jquery的ajax


jQuery是正解,:-),灵活方便
11 楼 无心之悠 2010-11-01  
ring09h 写道
DWR的死锁很纠结啊,官方中有很多人提出了死锁问题,一直没有解决。


最初学习的时候,只是觉得比ajax的那三段式简单,并且可以在dwr界面测试是否成功,这样就可以确保在页面正常读取。现在来看,问题多多额!
10 楼 ring09h 2010-11-01  
DWR的死锁很纠结啊,官方中有很多人提出了死锁问题,一直没有解决。
9 楼 无心之悠 2010-11-01  
fordybeach 写道
不知道楼主有没有想过,你用dwr提交的ajax请求,怎么通过权限系统的过滤器呢?


这个考虑过啊
直接略过,并没有通过权限系统的过滤器。
现在我也已经很少使用啦,在用Jquery的ajax
8 楼 无心之悠 2010-11-01  
westlwt 写道
一直纠结于,dwr还有必要吗?


现在同感啦!
7 楼 fordybeach 2010-11-01  
不知道楼主有没有想过,你用dwr提交的ajax请求,怎么通过权限系统的过滤器呢?
6 楼 Foxswily 2010-11-01  
用了几次,dwr对前后两端的入侵性都过强,放弃了,用jQuery的ajax加其他框架同样可以解决。
不过Joe Walker还是挺有想法的,对跨域攻击等等几个方面研究的挺深入。
项目版本到3.0rc1之后很久没动,更新确实挺慢
5 楼 qiming1988 2010-11-01  
dwr除了配置麻烦一点,用起来作异步校验,直接插入数据还是挺不错的。不过我们开发项目现在基本上不用,因为如果你使用MVC的思想来开发,dwr可以跳过控制层进行操作。那以已个符合三层架构的思想。
小弟陋闻,请各位多多指教。
4 楼 laobi18 2010-11-01  
个人感觉在安全方面的配置还不是很灵活...
3 楼 lgstarzkhl 2010-10-31  
现在项目里边基本都没用,以前倒是用过

相关推荐

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

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

    DWR的基本原理以及前后台互相调用并整合SPRING的简易DEMO

    在这个“DWR的基本原理以及前后台互相调用并整合SPRING的简易DEMO”中,我们将探讨DWR的核心概念和如何将它与Spring框架集成。首先,我们需要理解DWR的工作机制: 1. **DWR Engine**:这是DWR的核心组件,负责处理...

    dwr的jar包

    5. **DWR的高级特性和实践**:包括批量调用、异步调用、回调函数、JSON支持、自定义转换器等,以及如何在实际项目中运用这些特性。 6. **DWR与Spring框架的集成**:如果书籍涉及,可能会讲解如何在Spring环境中使用...

    dwr_demo_test

    总结起来,DWR是实现客户端和服务器端高效通信的工具,通过`dwr_demo_test`,你可以学习到如何在实际项目中运用DWR,提升Web应用的交互性和用户体验。通过深入研究`dwr.xml`配置、Java服务端代码以及JavaScript调用...

    DWR3.0 jar包API文档

    - **JavaScript API**:DWR生成的JavaScript库提供了与远程Java对象交互的接口,如`dwr.engine`对象用于基本的调用控制,`DWRUtil`对象则提供了数据绑定和DOM操作的辅助方法。 - **安全配置**:必须正确配置DWR的...

    dwr框架资料(主要是关于dwr配置文件的说明)

    DWR(Direct Web Remoting)框架是一个开源的Java技术,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时通信,极大...通过熟练运用DWR,你可以构建出响应式、动态且易于维护的Web界面,提升用户体验。

    DWR中文文档

    1. **DWR的基本概念**:DWR的核心概念包括Remoting、Reverse Ajax以及CORS(跨源资源共享)。Remoting允许你在浏览器中直接调用服务器端的方法,Reverse Ajax则是指服务器可以主动向客户端推送数据,而CORS则解决了...

    DWR入门教程及实例(含源代码)

    通过本教程的学习,开发者将能够熟练地运用DWR构建动态、交互性强的Web应用。同时,提供的源代码是实践学习的重要辅助,可以帮助读者快速上手,体验DWR的强大功能。在学习过程中,建议读者动手实践,结合源代码逐步...

    dwr软件包,文档、源代码、示例

    DWR (Direct Web Remoting) 是一个开源Java库,它...Dwr.jar和相关的配置文件可以帮助开发者快速集成DWR到他们的项目中,而文档和示例则提供了详细的指导和实践操作示例,帮助开发者更好地理解和运用DWR的各项功能。

    DWR+dwr入门手册

    1. **DWR的基本概念**:DWR的核心是Remoting Engine,它负责在客户端JavaScript和服务器端Java之间建立通信通道。DWR提供了一套API,包括`dwr.engine`,用于管理与服务器的连接,以及`RemoteObject`,用于调用服务器...

    dwr测试,java调用js

    描述中提到的“dwr的简单应用,包括前台调用后台,后台调用js”,涵盖了DWR的基本功能。下面将详细介绍这两个方面: 1. **前端调用后台(Call模式)**: 使用DWR,前端JavaScript可以调用服务器上的Java方法。首先...

    DWR中文文档v0.9PDF

    《DWR中文文档v0.9PDF》是一个关于Direct Web ...总的来说,通过深入学习《DWR中文文档v0.9PDF》,开发者可以掌握DWR的基本原理和高级特性,从而在Web应用开发中充分利用DWR的优势,构建更加动态和交互性强的网页应用。

    dwr3ReverseAjax示例

    通过学习和实践这个“dwr3ReverseAjax示例”,开发者可以掌握DWR的基本用法,以及如何利用Ajax和反向Ajax构建实时Web应用。这不仅对理解DWR的工作原理有所帮助,也能提升在实际项目中运用这些技术的能力。

    DWR中文文档 ,非常详细

    DWR(Direct Web Remoting)是一种...通过学习这份详尽的DWR中文文档,开发者可以深入了解DWR的工作原理,熟练运用其功能,构建高效、用户体验优秀的Web应用。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。

    DWR中文教程(教程实在不可多得)

    1. **DWR的基本概念** - **Web Remoting**:远程调用技术,让客户端能够跨域访问服务器端的资源。 - **AJAX**:异步JavaScript和XML,用于创建更动态、响应更快的网页,无需刷新整个页面即可更新内容。 - **...

    DWR2.0中文文档

    书中还会通过示例代码和案例分析来帮助读者掌握DWR的精髓,从而在自己的项目中高效地运用这项技术。 总的来说,这本DWR2.0中文文档是J2EE开发者提升Ajax应用开发能力的重要参考资料,无论你是初学者还是有经验的...

    dwr API dwr入门教程

    在DWR入门教程中,首先会介绍DWR的基本概念和工作原理。DWR的核心是将Java方法暴露给JavaScript,通过在服务器端创建一个称为"逆向Ajax"的通道,使得JavaScript能够调用远程服务器上的Java方法。这个过程涉及到几个...

    DWR框架学习资料...

    DWR(Direct Web Remoting)框架是一个开源的Java库,它允许Web应用程序在客户端和...通过学习这两个PPT,你可以全面了解DWR框架,掌握其核心概念和使用技巧,从而在实际项目中更好地运用DWR实现高效、动态的Web应用。

    DWR3.0应用

    **DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。...通过深入理解和熟练运用DWR,可以极大地提升Web应用的用户体验和功能。

    Practical.DWR.2.Projects

    本书首先介绍了DWR的基本原理、架构以及安装配置流程,为读者提供了一个坚实的基础,确保他们能够顺利地开始项目开发。 #### 2. **项目示例** - **在线聊天室**:展示了如何使用DWR实现实时双向通信,创建一个动态...

Global site tag (gtag.js) - Google Analytics