• Struts2---Result(传统Web应用程序与Ajax应用程序的异同)


    看了很久的struts,在视频和书的引导下,慢慢明白了点,推荐:《struts 2 in action》和马士兵的视频

    今天看结果这块时,由于还没有学过ajax等,不太明白,但是必须弄懂嗒,现在好像明白了些许。

    下面先看传统Web应用程序向客户返回完整的HTML页面响应(图1),然后是Ajax应用程序(图2),有的Ajax应用程序需要HTML片段作为相应,而另一些期望XML或者JSON响应。Ajax响应的内容可以由很多不同的格式,但是它们都有一个明显的共同点——不想要一个完整的HTML页面。

                    图1传统Web应用程序向客户返回完整的HTML页面响应

                     图2 Ajax应用程序只期望在响应中得到数据,例如JSON或者XML

    两者的区别如下:

    1.传统的Web应用程序:浏览器客户传入请求,表单字段的值被框架自动地转移到对应的属性上,并放入ValueStack中,action会转向一个结果,这个结果使用预先准备好的数据构建并呈现一个完整的HTML或JSP页面,其中JSP或HTML在标签内可以使用指向ValueStack上一个属性的OGNL表达式取出属性,最后将HTML页面相应给客户。

    2.Ajax应用程序:被JavaScript客户端应用程序提交的Ajax请求会进入框架并且会触发action,然后action会准备数据放在ValueStack上,并且将响应的处理转交给result,这个result将ValueStack上的数据序列化为JSON,并且把它送回客户端。在客户端,一个回调函数接受JSON,从这些数据生成一个JavaScript对象,将这个JavaScript对象传入一个动态更新页面的方法。

    传统的Web应用程序最后得到一个新的完整的页面,浏览器客户会重新呈现整个HTML页面。而Ajax应用程序不请求完整的HTML页面,它们只需要数据。当Ajax客户接收到响应时,会仔细检查序列化为XML或者JSON的数据,使用这些数据为当前浏览器页面上受影响的区域进行有目的的更新。

  • 相关阅读:
    Swift 面向对象解析(二)
    Swift 面向对象解析(一)
    iOS 动画笔记 (二)
    iOS 动画笔记 (一)
    UICollectionView 很简单的写个瀑布流
    MVC校验
    win8.1弹框
    Python开发之pip使用详解
    MySQL基础之数据类型和运算符
    网络爬虫之scrapy爬取某招聘网手机APP发布信息
  • 原文地址:https://www.cnblogs.com/thehappyyouth/p/3159037.html
Copyright © 2020-2023  润新知