笔记之Struts2工作原理

Struts2工作原理

struts2框架是SSH框架集中的框架之一,是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,struts2作为控制器层(Controller)来建立模型与视图的数据交互。
在使用struts2框架的过程中,要配置两个文件web.xml和struts.xml,服务器一启动就加载web.xml的配置,web.xml启动时,在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作;struts2读取到struts.xml后,以javabean形式存放在内存中,以后struts2对用户的每次请求处理都将使用内存中的数据,而不是每次都读取struts.xml文件。


struts2.jpg
访问流程
  • 1.客户端提交请求
  • 2.请求被提交到一系列过滤器(先ActionContentCleanUp,然后其他过滤器,最后FilterDispatcher)
  • 3.FilterDispatcher咨询ActionMapper是否需要调用某个Action来处理这个请求,如果ActionMapper决定调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy
  • 4.ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类
  • 5.ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action,但在调用之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)
  • 6.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result

参考:
1.Struts2工作原理解析
2.Struts2架构解析

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容