Struts2的处理流程和对Action的管理方式


【Struts2】★☆之struts2的处理流程和对Action的管理方式


首先我们先来看一张我画的草图,如下:


接下来,是一个web.xml配置文件的常用代码

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


ok?

StrutsPrepareAndExecuteFilter

    是Struts2核心控制器,它只负责拦截由<url-pattern>/*</url-pattern>指定的所有用户的请求

当用户请求到达时,系统会根据web.xml中配置Filter过滤用户的请求,默认情况下,如果用户的访问路径不带有后缀或者是以.action的后缀作为结尾,这时候请求会转发给Struts2框架处理,否则Struts2会滤过这个请求处理,当请求转入Struts2框架时会先经过一系列的拦截器,然后再到Action。


      与Struts1不同的是,Struts2会对每个请求都会产生一个Action,所以Struts2是线程安全的,属于原型设计模式。

Struts1中的Action创建出来之后会放在缓冲中,属于单例设计模式,在应用生命周期之内只会存在一个Action。


      在面试过程中,经常有面试官会问到struts2和struts1之间的Action的管理会有什么区别?如上!








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值