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

简介:

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

wKioL1PLLkeyV34vAADCmZwYEYQ602.jpg


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

1
2
3
4
5
6
7
8
< 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,


1
StrutsPrepareAndExecuteFilter

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

当用户请求到达时,系统会根据web.xml中配置Filter过滤用户的请求,默认情况下,如果用户的访问路径不带有后缀或者是以.action的后缀作为结尾,

这时候请求会转发给Struts2框架处理,否则Struts2会滤过这个请求处理,当请求转入Struts2框架时会先经过一系列的拦截器,然后再到Action。


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

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


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









本文转自 小夜的传说 51CTO博客,原文链接:http://blog.51cto.com/1936625305/1440453,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
设计模式 JSON 前端开发
SSMP整合案例第四步 表现层controller开发及用Result进行统一消息处理
SSMP整合案例第四步 表现层controller开发及用Result进行统一消息处理
20 2
|
Java
struts2中Action的三种开发编写形式,ActionSupport,POJO
struts2中Action的三种开发编写形式,ActionSupport,POJO
89 0
struts2中Action的三种开发编写形式,ActionSupport,POJO
|
安全 Java 应用服务中间件
struts2中Action的生命周期
struts2中Action的生命周期
95 0
|
XML 前端开发 数据格式
Struts2里面灵活action跳转
Struts2里面灵活action跳转
199 0
|
Java
Struts2【开发Action】(一)
Struts2【开发Action】
131 0
Struts2【开发Action】(一)
|
Java
Struts2【开发Action】(三)
Struts2【开发Action】
147 0
Struts2【开发Action】(三)
|
Java API 容器
Struts2【开发Action】(二)
Struts2【开发Action】
163 0
Struts2【开发Action】(二)
|
XML 前端开发 Java
Action的三种实现方式,struts.xml配置的详细解释及其简单执行过程(二)
上一章简单介绍了Struts2的’两个蝴蝶飞,你好’ (一),如果没有看过,请观看上一章
347 0
Action的三种实现方式,struts.xml配置的详细解释及其简单执行过程(二)
|
Java API 数据安全/隐私保护
Struts2【开发Action】知识要点
前言 前面Struts博文基本把Struts的配置信息讲解完了.....本博文主要讲解Struts对数据的处理 Action开发的三种方式 在第一次我们写开发步骤的时候,我们写的Action是继承着ActionSupport类的.
1189 0