struts2工作原理

来源:互联网 发布:c语言玫瑰花效果图 编辑:程序博客网 时间:2024/06/16 18:11


客户端--请求--->FilterDispatcher-->ActionMapper-----拦截器-->Action
 |                                           |                                    |
 |                                     struts.xml                           拦截器
 |                                                                                   |转发
 <--------------------------响应<---------------------------------jsp



客户端发送--请求--->FilterDispatcher(核心控制器)-->ActionMapper(HttpServletRequest和Action调用请求的一个映射)----拦截器-->action

 |                                            |                                                                                                                                                                |

 |                               struts.xml                                                                                                                                                          转发到  jsp

 |   < ------------------------------------------------------------------通过jsp页面转向客户端-------------------------------------------------------------------------------------------                                                                                                                                                                                                         


拦截器:

<!-- 启用默认拦截器 --><!-- 令牌开发第2步 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 自定义拦截器 -->
<interceptor-ref name="token">
<param name="includeMethods">add</param><!-- 只拦截add方法 -->
</interceptor-ref>
<!-- 拦截后显示的页面不能在web-info下 ,不需要则不用设置-->


步骤:

1)客户端向容器(例tomcat)提交一个请求

2)请求经过一系列过滤器,核心控制器FilterDispatcher被调用

3)ActionMapper来决定请求是否需要调用某个action

4)如果ActionMapper通过struts.xml决定需要调用某个Action,

在此之前会依次调用所有配置的拦截器

5)Action执行完毕,根据结果字符串在struts.xml的配置中找到对应的返回结果

6)拦截器再次执行

7)跳转到指定的jsp页面

8)响应给客户端




0 0
原创粉丝点击