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

时间:2022-09-02 20:50:04

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

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

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

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

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

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

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

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

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

两者的区别如下:

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的数据,使用这些数据为当前浏览器页面上受影响的区域进行有目的的更新。

Struts2---Result(传统Web应用程序与Ajax应用程序的异同)的更多相关文章

  1. 来了解一下Ajax是什么?Ajax的原理?Ajax与传统Web比较?Ajax的优缺点?Ajax的Post与Get比较

    一.什么是Ajax Ajax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术,对于改善用户的体验和页面性能很有帮助.简单地说,在不需要重新刷新页面的情况下 ...

  2. Ajax与传统Web开发的区别

    基本概念 1.1,Ajax AJAX:即“Asynchronous Javascript And XML”(异步的JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,尤其是在一种 ...

  3. 【Ajax 1】Ajax与传统Web开发的区别

    导读:从用户体验度的角度来说,利用Ajax进行开发的网站,其体验度高于利用传统Web开发技术,那么,是什么因素导致了这一现象呢?难道说Ajax开发,就一定优于传统Web技术吗?本篇文章,将主要介绍Aj ...

  4. Blazor VS 传统Web应用程序

    原文作者: Christian Findlay 原文链接: https://christianfindlay.com/2020/07/09/blazor-vs-traditional-web-apps ...

  5. 【ASP.NET MVC 5】第27章 Web API与单页应用程序

    注:<精通ASP.NET MVC 3框架>受到了出版社和广大读者的充分肯定,这让本人深感欣慰.目前该书的第4版不日即将出版,现在又已开始第5版的翻译,这里先贴出该书的最后一章译稿,仅供大家 ...

  6. Struts2中实现Web项目的初始化工作

    Struts2中实现Web项目的初始化工作 注:通常web系统在启动时需要做一些初始化的工作,比如初始化系统全局变量,加载自定义配置文件,启动定时任务等.  一.在Struts中实现系统的初始化工作 ...

  7. X5的UI部分和传统Web页面开发的差异

    http://doc.wex5.com/different-with-std-web-ui/#1 X5的UI部分和传统Web页面开发的差异 WeX5是跨端移动开发框架,BeX5是基于WeX5的企业快速 ...

  8. Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构

    用python搭建web服务器,与ajax交互,接收处理Get和Post请求:简单实用,没有用框架,适用于简单需求,更多功能可进行扩展. python有自带模块BaseHTTPServer.CGIHT ...

  9. 构建现代Web应用时究竟是选择传统web应用还是SPA

    在大前端盛行的今天,似乎前后端分离的开发模式才是大势所趋,而SPA的概念更是应运而生.现在随便构建一个web应用程序如果你不是使用SPA的话,就会感觉有点low,但是真的是这样吗?今天这篇文章我们就来 ...

随机推荐

  1. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  2. this、call和apply

    this call apply this 和其他语言不同,JavaScript的this总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境. this的 ...

  3. Candy Sharing Game(hdoj1034)

    Problem Description A number of students sit in a circle facing their teacher in the center. Each st ...

  4. js&plus;html&plus;css简单的互动功能页面(2015知道几乎尖笔试题)http&colon;&sol;&sol;v&period;youku&period;com&sol;v&lowbar;show&sol;id&lowbar;XMTI0ODQ5NTAyOA&equals;&equals;&period;html&quest;from&equals;y1&period;7-1&period;2

    js+html+css实现简单页面交互功能(2015知乎前端笔试题) http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html? from=y1.7-1. ...

  5. &lpar;LIS&rpar; P1091 合唱队形 洛谷

    题目描述 NN位同学站成一排,音乐老师要请其中的(N-KN−K)位同学出列,使得剩下的KK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K1,2,…,K,他 ...

  6. 51Nod 1265 四点共面(计算几何)

    1265 四点共面  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面). ...

  7. android启动之SystemServer启动

    SystemServer是Android系统的核心,APK应用中可以直接交互的大部分系统服务都在该进程中执行,常见的比方WindowManagerServer(Wms).ActivityManager ...

  8. 单文件版本的netframework的net core 2&period;1

    如果你还在用net4.5,如果你还在用netframework,又想使用netcore2.1的库或者功能,又觉得nuget动不动就好大,可以试试下面的这个. https://pan.baidu.com ...

  9. 北京Uber优步司机奖励政策(2月18日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. HDU3265 线段树(扫描线)

    Posters Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...