不是所有应用都适合ajax处理
这几日在学校生产实训,写基于
struts2
的web站点。struct2
属于拦截型
框架,会将http请求拦截下来,进行自己对应的过滤处理(包括上传等一些基本请求),若框架本身不能处理的,则回调所写的action处理,因为请求中涉及http协议相关,若对协议不是很明了,可能会处理起来较为麻烦,struts2封装了这些请求,只需要在action中实现相关业务逻辑,同时action给出set和get接口作为数据的请求处理。让使用者只关心核心业务的开发,屏蔽原有技术跟业务无关的技术问题。
BS基本模型
java web中Servlet作用是接受浏览器传给服务端的请求,并将服务端处理完的响应返回给用户的浏览器。
java web基本处理模型
(红色部分为使用ajax的请求处理流向)
struts2这是一个非常不错的框架,作为前端,自然是希望后端提供接口(即RESTFulAPI这种),我通过ajax访问接口就可以实现请求。
struts2处理模型
(红色部分为使用ajax的请求处理流向)
但是我在使用过程中发现这种拦截并不适合处理ajax请求,所有的ajax请求都是action处理的,相当于原生java web中servlet处理一样,就失去的框架本身的意义(简化req,res除外)。
总结:不能因为学了前端就妄想所有的接口都是RESTFulAPI,有些时候后端渲染会更好,特别是当有了EL标签和JSTL标签之后,不需要用js访问大量DOM节点,这种时候当个小美工就可以啦~
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!