Sturts2的请求流程

关于struts2的请求流程在网上百度就可以看到,百度图片里面就有,是非常流行的图,在struts2.0.xstruts2.1.2中是这样。我把原图贴出来。

Sturts2的请求流程

最上面是三个过滤器,并且这三个过滤器也已经被改了。

StrutsPrepareAndExecuteFilterstruts2的核心控制器,它负责拦截由/*指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求,默认情况下,如果用户请求的路径不带后缀或者后缀以.action结尾,这时,请求将被转入struts2框架处理,否则struts2框架忽略该请求的处理。当请求转入struts2框架处理时,会先经过一系列的拦截器,然后到达action。与struts1不同,struts2对用户的每一次请求都会创建一个Action,所以Struts2中的Action是线程安全的。流行的三大框架SSH都是基于MVC模式的,Struts2的控制器C是基于过滤器的,而springHibernate的控制器都是基于Servlet的,其中spring是完整的MVC实现。

    请求经过过滤器之后会交给struts2框架处理,这其中的ActionMapper就是要生成对应的action,那么是如何生成的呢?其实是用了一下ActionMapper的代理对象ActionProxy,这个代理对象会调用ConfigurationManager(构造器对象)生成对应的actionConfigurationManager会根据解析读取Struts.xml文件配置信息,根据相应的信息生成需要的action,前面已经说过,因为每次请求都会创建一个Action,所以说线程是安全的。然后就是经过一系列的拦截器之后执行Actionexecute方法,完成我们需要的功能,得到我们想要的结果。基于StrutsPrepareFilterStrutsExecuteFilter这两个过滤器,中间可以加入我们自己的过滤器和第三方的插件。

在以下地址中有一张请求的流程图,个人觉得是比较好的,分享一下。

http://blog.csdn.net/redarmy_chen/article/details/7342289

Sturts2的请求流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值