关于struts2的相关问题
1.1.首先当前端进行请求时,这个请求经过一系列的过滤器(Filter)接着FilterDispatcher被调用
1.2FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action { FilterDispatcher是控制器的核心,就是mvc中c控制层的核心。}
FilterDispatcher的工作原理
1.1.1 FilterDispatcher进行初始化并启用核心doFilter
1.1.2如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
ActionProxy利用代理模式实现调用
1.3 ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类 ,这里,我们一般是从struts.xml配置中读取。
1.4通过相应请求找到相应类,在找到相应的方法,进行调用,返回结果,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
1.5
- <struts>
- <package name="test"extends="struts-default">
- //自定义拦截器
- <interceptors>
- <interceptor name="abc"class ="ceshi.AuthorizationInterceptor"/>
- </interceptors>
- <action name="TestLogger"class="vaannila.TestLoggerAction">
- <interceptor-refnameinterceptor-refname="abc"/>
- <result name="success">/success.jsp</result>
- </action>
- </package>
- </struts>
- 一旦Action执行完毕,根据struts.xml中的配置找到对应的返回结果
- 因为Struts2具有强大的拦截功能,因此主要是在拦截方面 当然,现在的Spring Aop也可以实现
- 功能拦截