码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2将前台参数传递到action的完整过程解析

时间:2015-06-10 12:09:10      阅读:373      评论:0      收藏:0      [点我收藏+]

标签:

先来说说Struts2(由于Struts1表现层单一,无法跟Freemarker等技术整合),它采用拦截器的机制来处理用户的请求。

技术分享

先来讲讲Struts2的原理图,如上图所示:

1.当用户发起请求时(一个URL),服务器端的Web容器收到了请求。

2.这时,Struts2的核心控制器FilterDispatcher接受用户发起的请求,然后判断这个请求是交给action处理?还是交给web组件来处理?如果请求的action或web组件不存在,则报404错误。在整个处理过程中,需要一个辅助对象:Action映射器(ActionMapper),ActionMapper会确定调用哪个Action(这个过程的实现是依靠ActionMapper返回一个收集Action详细信息的ActionMaping对象)

3.然后,来交给Action来处理,它会根据struts.xml的配置信息(首先执行拦截此action的所有拦截器,然后再执行请求的action对象<在这个处理过程中需要辅助对象:Action代理(ActionProxy);配置管理器(ConfigurationManager);ActionInvocation>,),

4.Action执行完毕之后,返回一个结果(此结果用字符串来表示),这个结果经过拦截Action的所有拦截器之后,返回给主控制器。主控制器根据此结果从配置文件中找到真正的路径,然后将请求转发给相应的视图。

5.由视图客户端作出响应。

 

Struts2将前台参数传递到action的完整过程解析

标签:

原文地址:http://www.cnblogs.com/RunForLove/p/4565577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!