首页 > 其他 > 详细

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

时间:2015-06-10 12:06:54      阅读:427      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!