Struts2默认拦截器
当然还有很多拦截器栈,我们先来看拦截器
拦截器名< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> |
AliasInterceptor |
【别名拦截器】 |
配置名 |
alias |
|
描述 |
允许参数在跨越多个请求时使用不同别名,这个拦截器可将多个action使用不同名字链接起来,然后用于处理同一信息 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.AliasInterceptor |
|
拦截器名 |
ActionAutowiringInterceptor |
【自动装配拦截器】 |
配置名 |
autowiring |
|
描述 |
信息自动装配的拦截器,主要用于当struts2和Spring整合时,Struts可以使用自动装配的方式来访问Spring容器中的Bean. |
|
对应的类 |
com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor |
|
拦截器名 |
ChainingInterceptor |
【链拦截器】 |
配置名 |
chain |
|
描述 |
允许当前action能够使用上一个被执行action的属性,这个拦截器通常要和“chain”结果类型一起使用(<result type=”chain”…/>) |
|
对应的类 |
com.opensymphony.xwork2.interceptor.ChainingInterceptor |
|
拦截器名 |
Checkbox Interceptor |
【多选框拦截器】 |
配置名 |
checkbox |
|
描述 |
为没有被选定的多选框增加一个值为false的参数,协助管理多选框(在HTTP请求里,那些没有被选定的多选框通常是没有任何信息的) |
|
对应的类 |
org.apache.struts2.interceptor.CheckboxInterceptor |
|
拦截器名 |
ConversionErrorInterceptor |
【转换错误拦截器】 |
配置名 |
conversionError |
|
描述 |
将转换错误的信息(包括转换的字符串和参数类型等)存放到action的字段错误集里去 |
|
对应的类 |
org.apache.struts2.interceptor.StrutsConversionErrorInterceptor |
|
拦截器名 |
CookieInterceptor |
【Cookie拦截器】 |
配置名 |
cookie |
|
描述 |
使用配置的name,value来指定cookies |
|
对应的类 |
org.apache.struts2.interceptor.CookieInterceptor |
|
拦截器名 |
ClearSessionInterceptor |
【清除Session拦截器】 |
配置名 |
clearSession |
|
描述 |
负责销毁HttpSeesion |
|
对应的类 |
N/A |
|
拦截器名 |
CreateSessionInterceptor |
【会话创建拦截器】 |
配置名 |
createSession |
|
描述 |
自动创建一个HttpSession会话(如果会话不存在),用来为需要使用到HttpSession的拦截器服务 |
|
对应的类 |
org.apache.struts2.interceptor.CreateSessionInterceptor |
|
拦截器名 |
DebuggingInterceptor |
【调试拦截器】 |
配置名 |
debugging |
|
描述 |
当使用Struts2的开发模式时,此拦截器会提供更多的调试信息,为开发者提供几种不同调试界面 |
|
对应的类 |
org.apache.struts2.interceptor.debugging.DebuggingInterceptor |
|
拦截器名 |
ExternalReferencesInterceptor |
【扩展引用拦截器】 |
配置名 |
externalRef |
|
描述 |
负责扩展引用 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.ExternalReferencesInterceptor |
|
拦截器名 |
ExecuteAndWaitInterceptor |
【执行和等待拦截器】 |
配置名 |
execAndWait |
|
描述 |
当action在后台执行时,给用户显示一个过渡性的等待页面 |
|
对应的类 |
org.apache.struts2.interceptor.ExecuteAndWaitInterceptor |
|
拦截器名 |
ExceptionMappingInterceptor |
【异常拦截器】 |
配置名 |
exception |
|
描述 |
将action抛出的异常映射到结果,这样就通过重定向来自动处理异常,一般情况下,应该为最后一个拦截器 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor |
|
拦截器名 |
FileUploadInterceptor |
【文件上传拦截器】 |
配置名 |
fileUpload |
|
描述 |
此拦截器主要用于文件上传,它负责解析表单中文件域的内容 |
|
对应的类 |
org.apache.struts2.interceptor.FileUploadInterceptor |
|
拦截器名 |
Internatio-nalization Interceptor |
【国际化拦截器】 |
配置名 |
i18n |
|
描述 |
这是支持国际化的拦截器,它负责把所选的语言、区域放入用户Session中。 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.I18nInterceptor |
|
拦截器名 |
Logging Interceptor |
【日志拦截器】 |
配置名 |
logger |
|
描述 |
通过输出被执行action的名字,提供简单的日志功能,记录用于追踪的信息(可位于拦截器序列的不同位置) |
|
对应的类 |
com.opensymphony.xwork2.interceptor.LoggingInterceptor |
|
拦截器名 |
Message Store Interceptor |
【消息存储拦截器】 |
配置名 |
store |
|
描述 |
在会话中为action存储和检索消息、字段错误以及action错误,该拦截器要求action实现ValidationAware接口 |
|
对应的类 |
org.apache.struts2.interceptor.MessageStoreInterceptor |
|
拦截器名 |
Model Driven Interceptor |
【模型驱动拦截器】 |
配置名 |
modelDriven |
|
描述 |
这是一个用于模型驱动的拦截器,当某个Action类实现了ModelDriven接口时,它负责把getModel()方法的结果放入ValueStack中 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor |
|
拦截器名 |
Scoped Model Driven Interceptor |
【作用域模型驱动拦截器】 |
配置名 |
scopedModelDriven |
|
描述 |
如果一个Action实现了一个ScopedModelDriven接口,该拦截器负责从指定生存范围中找出指定的Modol,并将通过setModel方法将该Model传给Action实例 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor |
|
拦截器名 |
Parameters Interceptor |
【参数拦截器】 |
配置名 |
params |
|
描述 |
这是最基本的一个拦截器,它负责解析HTTP请求中的参数,并将参数值设置成Action对应的属性值 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.ParametersInterceptor |
|
拦截器名 |
Parameter Filter Interceptor |
【参数过滤拦截器】 |
配置名 |
N/A |
|
描述 |
控制action对参数的访问(非默认配置) |
|
对应的类 |
org.apache.struts2.interceptor.ProfilingActivationInterceptor |
|
拦截器名 |
Prepare Interceptor |
【预备拦截器】 |
配置名 |
prepare |
|
描述 |
如果action实现Preparable接口,将会调用该拦截器的prepare()方法 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.PrepareInterceptor |
|
拦截器名 |
Profiling Interceptor |
【概要拦截器】 |
配置名 |
profiling |
|
描述 |
允许action记录简单的概要信息日志 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor |
|
拦截器名 |
Scope Interceptor |
【作用域拦截器】 |
配置名 |
scope |
|
描述 |
这是范围转换拦截器,它可以将Action状态信息保存到HttpSession范围,或者保存到ServletContext范围内。 |
|
对应的类 |
org.apache.struts2.interceptor.ScopeInterceptor |
|
拦截器名 |
Servlet Configuration Interceptor |
【Servlet配置拦截器】 |
配置名 |
servletConfig |
|
描述 |
如果某个Action需要直接访问ServletAPI,就是通过这个拦截器实现,它提供访问HttpServletRequest和HttpServletResponse的方法,以map的方式访问 |
|
对应的类 |
org.apache.struts2.interceptor.ServletConfigInterceptor |
|
拦截器名 |
Static Parameters Interceptor |
【静态参数拦截器】 |
配置名 |
staticParams |
|
描述 |
设置action里的静态定义值(通过action配置里的param标签来实现);这个拦截器负责将struts.xml文件中<action>标签下<param>标签中的参数传入action |
|
对应的类 |
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor |
|
拦截器名 |
Roles Interceptor |
【角色拦截器】 |
配置名 |
roles |
|
描述 |
这是一个JAAS(Java Authentication and Authorization Service, Java授权和认证服务)拦截器,只有当浏览者取得合适的授权后,才可以调用被该拦截器拦截的Action |
|
对应的类 |
org.apache.struts2.interceptor.RolesInterceptor |
|
拦截器名 |
Timer Interceptor |
【计时拦截器】 |
配置名 |
timer |
|
描述 |
以执行action所花时间的形式,简单记录action概要信息,此拦截器负责输出Action的执行时间,可以利用此拦截器分析该Action的性能瓶颈 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.TimerInterceptor |
|
拦截器名 |
Token Interceptor |
【令牌拦截器】 |
配置名 |
token |
|
描述 |
检查action的合法令牌,以防止重复提交表单,当表单被多次提交时,跳转到一个错误页面 |
|
对应的类 |
org.apache.struts2.interceptor.TokenInterceptor |
|
拦截器名 |
Token Session Interceptor |
【令牌会话拦截器】 |
配置名 |
tokenSession |
|
描述 |
功能与令牌拦截器相同,但是对于非法令牌,提交的数据将保存在会话中,不跳转到错误页面,再次生成与第一次相同的页面。 |
|
对应的类 |
org.apache.struts2.interceptor.TokenSessionStoreInterceptor |
|
拦截器名 |
ValidationInterceptor |
【验证拦截器】 |
配置名 |
validation |
|
描述 |
通过执行在xxxAction-validation.xml中定义的校验器,从而完成数据校验。 |
|
对应的类 |
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor |
|
拦截器名 |
Workflow Interceptor |
【工作流拦截器】 |
配置名 |
workflow |
|
描述 |
为action定义默认的工作流,一般跟在validation等其他拦截器后,当验证失败时,不执行action然后重定向到INPUT视图 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor |
|
拦截器名 |
JsonValidationInterceptor |
【Json拦截器】 |
配置名 |
jsonValidation |
|
描述 |
验证失败,此拦截器可以将fieldErrors和actionErrors两个属性给序列化成json返回给客户端 |
|
对应的类 |
com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor |
以上就是struts2默认的拦截器,我们大部分时间是不需要单独配置这些拦截器的,一般都是配置对应的拦截器栈,下面我们来看对应的拦截器栈都有哪些?都是做什么的?
已配置栈名 |
包含的拦截器 |
描 述 |
basicStack |
exception、servletConfig、prepare、checkbox、params、conversionError |
如使用栈,最起码要使用这几个拦截器 |
validationWorkflowStack |
basicStack、validation、workflow |
在基本栈的基础上增加验证和工作流特性 |
fileUploadStack |
fileUpload、basicStack |
在基本栈的基础上增加文件上传特性 |
modelDrivenStack |
modelDriven、basicStack |
在基本栈的基础上增加模型功能特性 |
chainStack |
chain、basicStack |
在基本栈的基础上增加链接特性 |
i18nStack |
i18n、basicStack |
在基本栈的基础上增加区域持久化特性 |
paramPrepareParamsStack |
exception、alias、params、servletConfig、prepare、i18n、chain、modelDriven、file-Upload、checkbox、staticParams、params、conversionError、vali- dation、workflow |
提供包括前action(pre-action)方法调用的完整栈。params栈使用两次:第一次是在调用prepare()方法之前提供参数,第二次是在预备阶段为可能被检索的对象重新使用参数 |
defaultStack |
exception、alias、servlet- Config、prepare、i18n、chain、debugging、profiling、scoped- ModelDriven、modelDriven、fileUpload、checkbox、static- Params、params、conversion- Error、validation、workflow |
提供一个完整栈,包括调试和概要 |
executeAndWaitStack |
execAndWait、defaultStack、execAndWait |
提供执行与等待栈,比如在上传文件时需要向用户显示一个等待页面时,就可以使用这个栈 |
如果不配置拦截器,默认使用他自己的defaultStack,我们看到,defaultStack包含了基本上所有的拦截器,所以基本上都能满足我们的需求,但是我们一般情况下用不了这么多拦截器栈的,经过这么多拦截器栈肯定会影响性能的,所以我们可以根据不通的场景,选择合适的拦截器栈。如下面的action只需要上传,那我们只需要添加上次的拦截器即可!
<?xml version="1.0" encoding="UTF-8"?>< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="upload" namespace="/front/upload" extends="struts-default">
<!-- 对应报下面值包含fileUploadStack拦截器栈 -->
<default-interceptor-ref name="fileUploadStack"></default-interceptor-ref>
<action name="upload"class="com.shunwang.passport.actu.web.ActuUploadAction">
</action>
</package>
</struts>
Struts2默认拦截器相关推荐
- struts2自定义拦截器并配置拦截器使其生效
首先编写一个struts2的拦截器,要继承 MethodFilterInterceptor 并获取其中的方法 package star.july.d_interceptor;import com.op ...
- Struts2 自定义拦截器(方法拦截器)
转自:http://05061107cm.iteye.com/blog/365504 struts2系统自带了很多拦截器,有时需要我们自己定义,一般有两种方式: 一.实现Interceptor接口 J ...
- Struts2 自定义拦截器(easy example)
要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口: 新建一个MyIntercept package com.action;imp ...
- (转)Struts2的拦截器
http://blog.csdn.net/yerenyuan_pku/article/details/68648101 Struts2的拦截器 拦截器的概述 拦截器,在AOP(Aspect-Orien ...
- Struts2之拦截器篇
拦截器是Struts2框架的核心和基础,Struts2绝大多数功能都是通过拦截器来完成的,当StrutsPrepareAndExecuteFilter拦截到用户请求后,大量拦截器会对该请求进行处理,然 ...
- Struts2 自定义拦截器
所属栏目:AbstractInterceptor 如果要编写自定义拦截器,那么可以只用实现com.opensymphony.xwork2.interceptor.Interceptor这个接口即可. ...
- Struts2【拦截器】就是这么简单
2019独角兽企业重金招聘Python工程师标准>>> 什么是拦截器 拦截器Interceptor.....拦截器是Struts的概念,它与过滤器是类似的...可以近似于看作是过滤器 ...
- struts2自定义拦截器(登陆校验拦截器)
需求:有些页面需要先登录才可以访问,如果没有登陆就跳转到login.jsp去登陆 此案例为访问login方法的时候不拦截,只有把user放到session中才可以访问别的方法 web.xml 配置拦截 ...
- Shiro默认拦截器
默认拦截器 Shiro 内置了很多默认的拦截器,比如身份验证.授权等相关的.默认拦截器可以参考 org.apache.shiro.web.filter.mgt.DefaultFilter 中的枚举拦截 ...
- struts2 18拦截器详解(五)
I18nInterceptor 该拦截器处理defaultStack第四的位置,是用来方便国际化的,如果说我们的一个Web项目要支持国际化的话,通常的做法是给定一个下拉框列出所支持的语言,当用户选择了 ...
最新文章
- JAVA之JVM调优-从eclipse开始
- C语言编写Scheme解释器,C语言编写logo语言解释器 ,求高手指导
- C++map容器-构造和赋值
- html5触边反弹,第四章课件.PPT_数字电子技术基础(ppt课件)_ppt_大学课件预览_高等教育资讯网...
- 一阶电路中的时间常数_精确移相电路的设计举例
- 6*6行列式相加的c语言,求行列式的值,用C语言怎么写啊?
- php header()的用法
- Linux的进程优先级NI和PR
- weblogic 12C集群环境下的session复制
- GooFlow获取节点/线信息和自定义节点属性
- Proteus 8.9SP2仿真软件
- Post man 使用教程
- 2018百分点认知智能新产品暨E轮融资即将发布
- android 2k屏分辨率是多少,手机2k屏幕是什么意思 2k屏幕几大问题
- 树梅派应用22:树莓派 SAKS 扩展板实用应用 之 DS1307 RTC 时钟模块
- Python常用函数总结(按照字母顺序)
- 时尚【女连衣裙秋季新款连衣裙】搭配技巧
- python公众号教学_Python微信公众号后台开发教程
- 如何建立一套完整的DCS系统?
- 大数据权限管理sentry与Kerberos概述