Struts2的工作原理(工作流程)
其实用最简单的七个步骤:
(1)客户端在浏览器中输入一个url地址;
(2)这个url请求通过http协议发送给tomcat;
(3)Tomcat根据url找到对应项目里面的web.xml文件;
(4)在web.xml里面会发现有struts2的配置;
(5)然后会找到struts2对应的struts.xml配置文件;
(6)根据url解析struts.xml配置文件就会找到对应的class;
(7)调用完class返回一个结果result,根据struts.xml返回到对应的jsp。
复杂的描述:
1.用户发起请求(.action结尾的请求表示请求一个Action)。
2.Struts2的核心过滤器(StrutsPrepareAndExecuteFilter)接收用户发起的请求,然后判断这个请求交给Action处理还是交给Web组件处理。如果请求的Action或者Web组件不存在,那么 404错误。在整个处理过程中需要一个辅助对象:Action映射器(ActionMapper)。
3.第二步判断的结果如果是交给Action处理,并且存在对应的Action,那么根据struts.xml中对此Action的配置信息,首先执行拦截此Action的所有拦截器,然后再执行请求的Action对象。在这个处理过程中需要辅助对象:Action代理(ActionProxy)、配置管理器(ConfigurationManager)、Action调度(ActionInvocation)。
4.Action执行完毕后返回一个结果(此结果用字符’’’’’’’’’’’’’’’’串表示),这个结果经过拦截Action的所有拦截器之后,返回给核心过滤器(FilterDispatcher),核心过滤器根据此结果从配置文件中找到真正的路径,然后将请求转发给对应的视图,由视图向客户端作出响应。
如果大家想浏览我的下一篇文章,请留言
此文章属于原创,不准转载:https://blog.csdn.net/LYQ2332826438