乐趣区

关于程序员:07-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>

StrutsPrepareAndExecuteFilter

  • Struts2 外围控制器,它只负责拦挡由 <url-pattern>/*</url-pattern> 指定的所有用户的申请
  • 当用户申请达到时,零碎会依据 web.xml 中配置 Filter 过滤用户的申请
  • 默认状况下,如果用户的拜访门路不带有后缀或者是以.action 的后缀作为结尾,这时候申请会转发给 Struts2 框架解决,否则 Struts2 会滤过这个申请解决
  • 当申请转入 Struts2 框架时会先通过一系列的拦截器,而后再到 Action

Action 在 struts1 和 struts2 中的区别

  • Struts2 会对每个申请都会产生一个 Action,所以 Struts2 是线程平安的,属于原型设计模式。
  • Struts1 中的 Action 创立进去之后会放在缓冲中,属于单例设计模式,在利用生命周期之内只会存在一个 Action。

退出移动版