Struts2默认拦截器栈及内建拦截器使用具体解释
Struts2内建拦截器介绍:
alias (别名拦截器):同意參数在跨越多个请求时使用不同别名,该拦截器可将多个Action採用不同名字链接起来,然后用于处理同一信息。
autowiring (自己主动装配拦截器):主要用于当Struts2和Spring整合时。Struts2能够使用自己主动装配的方式来訪问Spring容器中的Bean。
chain (链拦截器):构建一个Action链,使当前Action能够訪问前一个Action的属性,一般和<result
type="chain" .../>一起使用。
checkbox (多选框拦截器):将没有选中的checkbox项设置为false,协助管理多选框。在HTTP请求里,那些没有被选中的项通常没有不论什么值。
conversionError (转换器错误拦截器):这是一个负责处理类型转换错误的拦截器。它负责将类型转换错误从ActionContext 中取出,并转换成Action的FieldError错误。
createSession (创建Session拦截器):该拦截器负责创建一个HttpSession对象,主要用于那些须要有HttpSession对象才干正常工作的拦截器中。
clearSession (清除Session拦截器):负责销毁HttpSession对象.
debugging (调试拦截器):当使用Struts2的开发模式时,这个拦截器会提供很多其它的调试信息。
execAndWait (运行和等待拦截器):后台运行Action时,给用户显示一个过渡性的等待页面。
externalRef (扩展拦截器):负责扩展引用
exception (异常拦截器):将Action抛出的异常映射到结果,这样就通过重定向自己主动处理异常。
fileUpload (文件上传拦截器):这个拦截器主要用于文件上传。它负责解析表单中文件域的内容。
i18n (国际化拦截器):主要负责把用户所选的语言、区域放入用户Session中。
logger (日志拦截器):主要是输出Action的名字,提供简单的日志输出。
modelDriven (模型驱动拦截器):这是一个用于模型驱动的拦截器,当某个Action类实现了ModelDriven接口时。它负责把getModel ()方法的结果堆入ValueStack中。
scopedModelDriven (作用域模型驱动拦截器):假设一个Action实现了一个ScopedModelDriven接口,该拦截器负责从指定生存范围中找出指定的Model。并将通过setModel方法将该Model传给Action实例。
params (參数过滤拦截器):这是一个最主要的拦截器。它负责解析HTTP请求中的參数,并将參数值设置成Action相应的属性值。
prepare (预备拦截器):假设action实现了Preparable接口。将会调用该拦截器的prepare()方法。
staticParams (静态參数拦截器):这个拦截器负责将xml中<action>标签下<param>标签中的參数传入action。
scope (作用域拦截器):这是范围转换拦截器,它能够将Action状态信息保存到HttpSession范围,或者保存到ServletContext 范围内。
servletConfig (Servlet配置拦截器):假设某个Action须要直接訪问Servlet
API。就是通过这个拦截器实现的。它提供訪问HttpServletRequest和HttpServletResponse的方法,以map方式訪问。
roles (角色拦截器):这是一个JAAS(Java
Authentication and Authorization Service。Java授权和认证服务)拦截器。仅仅有当浏览者取得合适的授权后。才干够调用被该拦截器拦截的Action。
timer (计时拦截器):这个拦截器负责输出Action的运行时间。在分析该Action的性能瓶颈时比較实用。
token (令牌拦截器):这个拦截器主要用于阻止反复提交。它检查传到Action中的token,从而防止多次提交。
tokenSession (令牌会话拦截器):这个拦截器的作用与前一个基本类似。仅仅是它把非法提交的数据保存在HttpSession中,不跳转到错误页面。再次生成与第一次同样的响应页面
validation (验证拦截器):通过运行在xxxAction-validation.xml中定义的校验器,从而完毕数据校验。
workflow (工作流拦截器):这个拦截器负责调用Action类中的validate方法,假设校验失败,则不运行业务方法,而是返回input的逻辑视图。
jsonValidation (json拦截器):验证失败时。能够将fieldError和actionErrors信息序列化成json,返回给client
profiling (概要拦截器):同意Action记录简单的概要信息。
actionMappingParams (Action映射拦截器):Parameters
set by the action mapping are not set/not available through ParameterAware
annotationWorkflow (注解工作流拦截器):利用注解替代XML配置。使用annotationWorkflow拦截器能够使用@After、@Before、@BeforeResult等注解,运行流程为before-execute-beforeResult-after顺序
store (消息存储拦截器):在会话中为Action存储和检索消息、字段错误以及Action错误。该拦截器要求Action实现ValidationAware接口。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意:Struts包在继承“struts-defaust”包后,假设该包没有显式定义interceptor,系统会默认给你加入下图的拦截器栈:
这个拦截器栈里面包括了非常多经常使用和必须的拦截器,假设在Struts里配置自己定义拦截器后这个拦截器栈将失效。如想继续在Action里面使用。除了引入自己定义拦截器外。还必须引入上图这个名为"defaultStack"的拦截器栈!
格式例如以下:
<package name="mypackage" extends="struts-default">
<!-- 定义自己定义拦截器 -->
<interceptors>
<interceptor name="myinterceptor"
class="com.test.interceptors.myinterceptor">
<interceptors>
<action name="myaction">
<result>/success.jsp</result>
<result>/error.jsp</result>
<!-- 引入自己定义拦截器 -->
<interceptor-ref name="myinterceptor"
/>
<!-- 引入系统默认拦截器栈 -->
<interceptor-ref name="defaultStack" />
</action>
</package>
地方地方
Struts2默认拦截器栈及内建拦截器使用具体解释的更多相关文章
- [原创]java WEB学习笔记74:Struts2 学习之路--自定义拦截器,struts内建的拦截器
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Struts2内建拦截器
params拦截器 负责将请求参数设置为Action属性 staticParams拦截器 将配置文件中action元素的子元素param参数设置为Action属性 servletConfig拦截器 将 ...
- Sturts2几个常用内建拦截器的介绍
Sturts2几个常用内建拦截器的介绍:1)conversation:这是一个处理类型转换错误的拦截器,它负责将类型转换错误从ActionContext中取出,并转换成Action的FieldErro ...
- python进阶04 装饰器、描述器、常用内置装饰器
python进阶04 装饰器.描述器.常用内置装饰器 一.装饰器 作用:能够给现有的函数增加功能 如何给一个现有的函数增加执行计数的功能 首先用类来添加新功能 def fun(): #首先我们定义一个 ...
- Struts2内建校验器(基于校验框架的文件校验)
位于xwork-2.0.4.jar压缩包中( com.opensymphony.xwork2.validator.validators)有个文件default.xml ,该文件中定义了Struts2框 ...
- yii框架中验证器声明一组内置验证器可以使用短名称引用
1.内置验证器的短名称分别有: boolean: yii\validators\BooleanValidator captcha: yii\captcha\CaptchaValidator compa ...
- 【Java EE 学习 69 上】【struts2】【paramsPrepareParamsStack拦截器栈解决model对象和属性赋值冲突问题】
昨天有同学问我问题,他告诉我他的Action中的一个属性明明提供了get/set方法,但是在方法中却获取不到表单中传递过来的值.代码如下(简化后的代码) public class UserAction ...
- 第十篇——Struts2的拦截器栈
拦截器栈: 从结构上看:拦截器栈相当于多个拦截器的组合: 从功能上看:拦截器栈也是拦截器. 默认拦截器栈: 在struts-core.jar包中的struts-default.xml中自定义了一个de ...
- Struts2学习之拦截器栈
© 版权声明:本文为博主原创文章,转载请注明出处 拦截器栈: - 从结构上看:拦截器栈相当于多个拦截器的组合 - 从功能上看:拦截器栈也是拦截器 默认拦截器栈: - 在struts-core.jar中 ...
随机推荐
- HTML head meta标签详细
<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...
- LeetCode1-5
Leetcode1: Given an array of integers, return indices of the two numbers such that they add up to a ...
- vue slot的使用介绍
插槽:slot (不知道我这样理解是不是对的,欢迎大佬指点) 具体是什么样子的,请看例子说明 父组件代码 子组件代码 结果 可以看到 ,结果是父组件里面内容显示了,子组件内容显示了,但是在父组件中插入 ...
- HDU - 4544 湫湫系列故事——消灭兔子(优先队列+贪心)
题目: 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏. 游戏规则很简单,用箭杀死免子即可. 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别 ...
- CSU2179: 找众数
Description 由文件给出N个1到30000间无序数正整数,其中1≤N≤10000,同一个正整数可能会出现多次,出现次数最多的整数称为众数.求出它的众数及它出现的次数. Input 输入文件第 ...
- CF919F A Game With Numbers
题目:(luogu翻译错的很多) Alice和Bob玩游戏,每人有8张牌,牌的值为0~4.每一轮当前玩家选择自己的牌A和对手的牌B,然后将A的值变为( A + B )%5,其中A和B都不是0. 当一个 ...
- js 技巧 (十)广告JS代码效果大全 【3】
3.[允许关闭] 与前面两个代码不同的是,广告图下方增加了一个图片按纽,允许访客点击关闭广告图片,下面文本框中就是实现效果所需代码: var delta=0.015; var coll ...
- UVA 230 Borrowers (STL 行读入的处理 重载小于号)
题意: 输入若干书籍和作者名字,然后先按作者名字升序排列,再按标题升序排列,然后会有3种指令,BORROW,RETURN, SHELVE. BORROW 和 RETURN 都会带有一个书名在后面,如: ...
- 如何在matlab里安装libsvm包
有时我们需要用到SVR(支持向量回归)方法,而 matlab 自带的svm工具箱不能做回归分析,于是有了安装libsvm包的打算. 中间遇到一些困难,比如找不到编译器等等,经过一下午和一晚上的努力,在 ...
- VI/VIM 编辑器
[是什么?] VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器. VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器.可以主动的以字体颜色辨别语法的正确性,方便程序 ...