Struts2架构剖析及数据接收

Struts2架构剖析及数据接收

ID:45078382

大小:2.66 MB

页数:43页

时间:2019-11-09

Struts2架构剖析及数据接收_第1页
Struts2架构剖析及数据接收_第2页
Struts2架构剖析及数据接收_第3页
Struts2架构剖析及数据接收_第4页
Struts2架构剖析及数据接收_第5页
资源描述:

《Struts2架构剖析及数据接收》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Struts2Struts2架构剖析及数据处理本章目标了解Struts2和XWork的关系,以及各自的职责熟悉Struts2的体系结构了解Struts2框架的调用流程使用Struts2框架接收数据WebWork的数据流图struts2的处理流程当用户发送请求,进入StrutsPrepareAndExecuteFilter(是struts2框架的核心控制器,它负责拦截由/*指定的所有用户请求,当用户请求到达时,该过滤器会过滤用户的请求。)接着进入:Interceptor(Struts2内置的一些拦截器或

2、用户自定义拦截器)接着进入:Action(用户编写的action类,与struts1不同,struts2对用户的每一次请求都会创建一个Action,所以线程是安全的。)接着进入:Result(获取转发页面)接着进入:转发的页面最后:解析响应给客户端XWork2-----Struts2的基础与WebWork2相同,Struts2框架也是由两部分组成:XWork2和Struts2。XWork是一个命令模式框架,它是Struts2的基础。XWork提供了很多核心功能:IoC(Inversionofcontrol,控制反转)容器,强大的表达式语言(OGNL:Ob

3、jectGraphNavigationLanguage-----对象图像导航语言)数据类型转换,验证和可插入的配置。XWork框架的核心概念包括action,拦截器(inerceptor)和result.Struts2拦截器工作原理Struts2拦截器工作原理Struts2与XWork2之间的交互图Struts2与XWork2之间的交互图Struts2与XWork2之间的交互一个HTTP请求到达Struts2的FilterDispatcher之后,就会被转换成一个actioncommand.这个actioncommand在穿越了一系列Struts2和XW

4、ork的拦截器(1~3)之后,最后执行用户编写的Action实例。在Action执行后,响应还会穿越相同的拦截器,按照与请求相反的顺序即拦截器(3~1).最后通过Struts2的HttpServletResponse转换成Web可识别的响应,如JSP。Struts2的数据流图Struts的数据流程当接收到一个HttpRequest,Interceptor做一些拦截或者初始的工作;当外部的HttpServletRequest到来时,初始到了Servlet容器传递给一个标准的过滤器链;ActionContextCleanUp这个在集成插件方面非常有用。Oth

5、erfilters(SitMesh,etc)调用FilterDispatecher会去查找相应的ActionMapper;如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy,ActionProxy将会通过ConfigurationManager来查找配置struts.xml;下一步将会通过ActionInvocation来负责命令模式的实现(包括调用一些拦截器Interceptor框架,在调用action之前),一旦action返回,会查找相应的Result,Result类型可以是JSP或者FreeMark等;这些组件和A

6、ctionMapper一起返回给请求的url(注意拦截器的执行顺序),响应的返回是通过我们在web.xml中配置的过滤器;如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理threadLocalActionContext;如果ActionContextCleanUp不使用,则将会去清理threadlocal。ActionMapper和ActionMappingorg.apache.struts2.dispatcher.mapper.ActionMapper接口在HTTP请求和action调用请求之间提

7、供了一个映射。当给定一个HTTP请求时,ActionMapper根据请求的URI来查找是否有对应的action调用,(1)如果有,则返回一个描述了action调用的ActionMapper;(2)如果没有匹配的action调用请求,则返回null.Struts2框架对该接口提供的默认实现是org.apache.struts2.dispatcher.mapper.DefaultActionMapper.ActionMapping本质上是一个数据传输对象,它将Action类和要执行的方法的详细资料收集在一起。ActionMapping由org.apache.

8、struts2.dispatcher.Dispatcher和用户各种接口组件使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。