`
008590a
  • 浏览: 15165 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

ajax和DWR的一些整理

阅读更多
1.什么是ajax
        1.它是一个客户端技术,是将原来的一些老的技术进行结合使用,产生一种新的应用。
        2.可以跟任何服务端技术开发的程序进行交互。
        3.ajax不是一门新的语言或者技术,只是将xml,dom,js,css等技术进行结合使用。
        4.异步的交互方式。

2.ajax的执行流程
       1.发出一个Http请求:通过XMLHttpRequest对象发送,在生成XMLHttpRequest对象时,要注意区分浏览器的类型(IE和非IE)
    2.声明回调函数:即:指定当服务器为你的请求作出相应后,有哪个javaScript函数来处理这个响应
    3.打开请求:http_request.open("GET/POST", url, true/false);
    4.发送请求:http_request.send(parm);
    5.接受响应:由第二步中所指定的回调函数来接受
    6.处理响应数据:
    1)responseText:作为文本串返回
    2)responseXML:作为Xml文件返回
    从这点可以看出来Ajax的一个最大的缺点:Ajax接受的响应都是"文本类型"的,需要对其进行解析,耗费大量的时间和带宽,
    当响应所返回的数据比较大时,会严重的影响速度,因此,在这种情况下,最好不要使用Ajax

3.ajax的优缺点:
优点: 
  1、最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。
    2、使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。
    3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理
    4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

缺点  :1.它可能破坏浏览器后退按钮的正常行为。如用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。
2.查询返回大量的数据的时候不适宜用ajax(ajax不适合传输大量数据)

4.为什么会出现ajax
     ajax用来开发比较复杂的B/S架构的客户端。
     传统的B/S架构的软件
    1.同步的交互方法:请求-等待-响应式;
    缺点:1.会中断用户操作。
    2。如果网速慢,会出现空白的页面,对用户来说非常不友好。
    3.每次响应都会把一个页面所有内容替换整个浏览器上的所有内容。

5.了解一下 AJAX 的适用场景与不适用场景


    Ajax适用场景
      1.表单驱动的交互
      2.深层次的树的导航
      3.快速的用户与用户间的交流响应
      4.类似投票、yes/no等无关痛痒的场景
      5.对数据进行过滤和操纵相关数据的场景
      6.普通的文本输入提示和自动完成的场景


    Ajax不适用场景
      1.部分简单的表单
      2.搜索
      3.基本的导航
      4.替换大量的文本
      5.对呈现的操纵

      
AJAX的核心是xmlHttpRequest,它是一种支持异步请求的技术,简而言之XmlHttpRequest使用户可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。




                                DWR

1.DWR(direct web remote)概念:它就是对ajax进行了封装,ajax是通过js发出请求,被Servlet拦截下来,通过Servlet来与持久层打交道,而DWR就是对这一层Servlet进行了封装,使得js可以直接调用持久层的方法。

2.简单配置:

<servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>


<dwr>
    <allow>
            <create creator="new" javascript="test">
            <param name="class" value="com.lxit.BackControl" />
        </create>
        <convert converter="bean" match="com.lxit.Student"> </convert>   
    </allow>
    <signatures>
        <![CDATA[
        import java.util.List;
        import com.lxit.BackControl;
        import com.lxit.Student;
        ]]>
    </signatures>
    </dwr>


<script type='text/javascript' src='dwr/interface/test.js'></script>
    <script type='text/javascript' src='dwr/engine.js'></script>
    <script type='text/javascript' src='dwr/util.js'></script>


DWR 包含2 个主要部分:
    1>.一个运行在服务器端的Java 
    2>. 运行在浏览器端的JavaScript,它发送请求而且还能动态更新网页


    Ajax与Dwr之间有什么关系?
    1.Ajax是可以说是一种创建交互式网页应用的网页开发技术,实现局部刷新等功能,采用客户端脚本与 Web 服务器交换数据。


    2.Dwr是一种框架,并且它是基于Ajax的基础之上,所以Ajax的功能Dwr也具有了,能够在javascript直接调用java方法,
    实现局部刷新,也可以说Dwr是对Ajax的Java封装。



        DWR 3.0 推技术; 以下版本是拉技术。
   DWR反向异步技术(推拉技术,DWR2.0后最大的特性)
  1.借鉴思想
    1.1:B/S(Browser/Server)结构与C/S(Client/Server)结构最大的区别就在于:
        C/S结构需要部署特定客户端,当客户端与服务端建立连接以后,服务端可以主动的与客户端进行通信;
        而B/S结构只有浏览器给服务端发送请求,才能获得服务端的响应
    1.2:DWR的推技术就是借鉴了C/S的思想,在B/S结构中实现了服务端主动与客户端通信,推技术的缺点就是:
            当客户端过多的时候,服务器的负载会很大。
         而拉技术就是普通的B/S的模式,发送请求才能获得响应
  2.实现DWR推技术的三种模式
    2.1:Polling(轮询)实际上是拉技术
        客户端以一定的周期向服务器发送请求,看服务端是否有数据更新,如果有更新,就向服务端请求数据
    2.2:Comet
        客户端向服务器发送请求后,服务器将数据通过response发送给客户端,但并不会将此response关闭,
        而是一直通过response将最新的数
        据发送给客户端浏览器,直到客户端浏览器关闭
    2.3:Piggback(回传)
        服务器端将最新的数据排成队列,然后等待客户端下一次请求,接收到请求后就将更新的数据发给客户端。
0
0
分享到:
评论

相关推荐

    my_employee_study.rar_Employee Stud_ajax_dwr_dwr ajax_上传 Java

    文件"www.pudn.com.txt"和"study"可能是作者在学习过程中整理的笔记或参考资料,可能包含对AJAX、DWR技术的理解,以及Java文件上传的具体实现步骤。通过阅读这些文件,我们可以更深入地了解作者的学习成果和思考过程...

    AJAX DWR教程

    AJAX DWR教程旨在帮助开发者理解和掌握如何利用AJAX和DWR构建高性能、交互性强的Web应用。通过学习,你可以了解如何通过DWR轻松地实现实时数据交换,提高用户体验,同时减少不必要的网络流量。结合提供的实战资料,...

    整理的DWR一些资料

    这个压缩包包含了一些关于DWR的重要资源,包括实例、文档和实战教程,对于学习和理解DWR有着极大的帮助。 首先,`awj2eewebservices·.chm`可能是一个关于Web服务和J2EE的参考手册,尽管它不是直接与DWR相关的,但...

    dwr笔记整理(三)

    《DWR笔记整理(三)——深入理解与实践》 Direct Web Remoting(DWR)是一种JavaScript库,它使得在浏览器和服务器之间进行双向通信变得简单。本篇笔记将深入探讨DWR的核心概念、功能以及如何在实际项目中应用。...

    4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)

    综上所述,"4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)"是一个包含关于DWR框架的详细资料集合,包括笔记、PPT、文档和示例,适合初学者和有经验的开发者深入学习和理解DWR的使用和原理。这些资源可以...

    DWR2学习整理资料

    **DWR(Direct Web Remoting)**是一种WEB远程调用框架,主要目的是简化AJAX(Asynchronous JavaScript and XML)开发。通过DWR,开发者可以在客户端的JavaScript中直接调用服务器端的Java方法,并且如同本地调用...

    DWR资料AJAX相关

    我收集的DWR资料,希望对大家有用,整理了很多和DWR使用和原理相关的资料

    我整理的dwr详细笔记

    DWR(Direct Web Remoting)是一种简化Ajax应用程序开发的技术框架,它允许客户端JavaScript直接调用服务器端的Java方法,从而实现了浏览器与服务器之间的远程调用。DWR的应用场景主要集中在那些需要频繁进行客户端...

    DWR2.0中文文档

    这本书的内容既包含了作者的原创思考和整理,也包含了对官方文档的精心翻译,旨在为J2EE开发者提供一个全面理解DWR的平台。 在**Ajax**部分,读者将学习到如何利用Ajax技术创建富客户端应用。Ajax的核心在于通过...

    反向ajax教程 (自己整理的两篇)

    在实际应用中,开发者需要根据具体需求和场景选择合适的反向Ajax实现策略,并进行优化以平衡性能和资源消耗。 总之,反向Ajax是Ajax技术的一种扩展,通过服务器主动推送数据增强了Web应用的实时性。通过轮询、Comet...

    DWR开发步骤相关整理

    - 使用AJAX调用时,确保考虑页面状态和用户交互,避免造成混乱。 理解并掌握以上DWR开发步骤,你就能有效地利用DWR创建高性能、互动性强的Web应用。通过不断的实践和学习,你还可以发现更多提高效率和用户体验的...

    dwr相关资料(个人整理)

    DWR使得Web开发者能够轻松地实现Ajax(Asynchronous JavaScript and XML)功能,从而创建出更加动态和交互性强的Web应用。在描述中提到的“最简单的Java Ajax框架”,这正是DWR的核心优势之一,它降低了开发人员实施...

    Spring整合DWR comet 实现无刷新 多人聊天室代码整理

    DWR是JavaScript到Java的双向通信库,它的核心概念包括`RemoteObject`、`AjaxCall`和`Callback`。`RemoteObject`允许JavaScript直接调用Java对象的方法,`AjaxCall`用于异步执行这些调用,而`Callback`则是处理调用...

    dwr例子 eclipse 可用

    在这个“dwr例子 eclipse 可用”的压缩包中,你可能会找到一个精心整理的DWR学习资源,包括如何在Eclipse环境下配置和使用DWR的实例。 DWR的主要功能包括: 1. **反向Ajax**:DWR允许服务器端代码直接调用客户端的...

    ajax相关资料整理

    内部包含: ajax官方文档 AJAX WEB2.0技术详解.pdf AJAX表格分页模板.doc ajax专家开发手记 如何使用Dojo的DatePicker控件制作联动...ajax框架:dwr 实战.pdf 突破JavaScript编程实例五十讲.rar JavaScript源代码集.rar

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

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

    dwr案例+文档+jar

    1. **DWR基础**:了解DWR的基本概念,如反向AJAX、RemoteProxy和RemoteObject等。 2. **DWR配置**:学习在web.xml和dwr.xml中设置DWR的相关配置,使DWR能够正常工作。 3. **客户端API**:掌握JavaScript中的DWR API...

Global site tag (gtag.js) - Google Analytics