`
zhaoshg
  • 浏览: 257459 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2的内置拦截器

阅读更多

 

 

<interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
<interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
<interceptor name="chain" class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
<interceptor name="conversionError" class="org.apache.struts2.interceptor.StrutsConversionErrorInterceptor"/>
<interceptor name="cookie" class="org.apache.struts2.interceptor.CookieInterceptor"/>
<interceptor name="clearSession" class="org.apache.struts2.interceptor.ClearSessionInterceptor" />
<interceptor name="createSession" class="org.apache.struts2.interceptor.CreateSessionInterceptor" />
<interceptor name="debugging" class="org.apache.struts2.interceptor.debugging.DebuggingInterceptor" />
<interceptor name="externalRef" class="com.opensymphony.xwork2.interceptor.ExternalReferencesInterceptor"/>
<interceptor name="execAndWait" class="org.apache.struts2.interceptor.ExecuteAndWaitInterceptor"/>
<interceptor name="exception" class="com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"/>
<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
<interceptor name="i18n" class="com.opensymphony.xwork2.interceptor.I18nInterceptor"/>
<interceptor name="logger" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
<interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
<interceptor name="scopedModelDriven" class="com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor"/>
<interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
<interceptor name="actionMappingParams" class="org.apache.struts2.interceptor.ActionMappingParametersInteceptor"/>
<interceptor name="prepare" class="com.opensymphony.xwork2.interceptor.PrepareInterceptor"/>
<interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
<interceptor name="scope" class="org.apache.struts2.interceptor.ScopeInterceptor"/>
<interceptor name="servletConfig" class="org.apache.struts2.interceptor.ServletConfigInterceptor"/>
<interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
<interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
<interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/>
<interceptor name="tokenSession" class="org.apache.struts2.interceptor.TokenSessionStoreInterceptor"/>
<interceptor name="validation" class="org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor"/>
<interceptor name="workflow" class="com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor"/>
<interceptor name="store" class="org.apache.struts2.interceptor.MessageStoreInterceptor" />
<interceptor name="checkbox" class="org.apache.struts2.interceptor.CheckboxInterceptor" />
<interceptor name="profiling" class="org.apache.struts2.interceptor.ProfilingActivationInterceptor" />
<interceptor name="roles" class="org.apache.struts2.interceptor.RolesInterceptor" />
<interceptor name="jsonValidation" class="org.apache.struts2.interceptor.validation.JSONValidationInterceptor" />
<interceptor name="annotationWorkflow" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor" />
<interceptor name="multiselect" class="org.apache.struts2.interceptor.MultiselectInterceptor" />
 



alias

实现 在不同请求中相似参数别名的转换。


autowiring

这是个自动装配的拦截器,主要用于当Struts2和Spring整 合时,Struts2可以使用自动装配的方式来访问Spring容器中的Bean。


chain

构建一个Action链,使当 前Action可以访问前一个Action的属性,一般和<result type="chain" .../>一起使用。


conversionError

这 是一个负责处理类型转换错误的拦截器,它负责将类型转换错误从ActionContext中取出,并转换成Action的FieldError错误。


createSession

该 拦截器负责创建一个HttpSession对象,主要用于那些需要有HttpSession对象才能正常工作的拦截器中。


debugging

当 使用Struts2的开发模式时,这个拦截器会提供更多的调试信息。


execAndWait

后台执行Action,负责将等 待画面发送给用户。


exception

这个拦截器负责处理异常,它将异常映射为结果。


fileUpload

这 个拦截器主要用于文件上传,它负责解析表单中文件域的内容。


i18n

这是支持国际化的拦截器,它负责把所选的语言、区域放入 用户Session中。


logger

这是一个负责日志记录的拦截器,主要是输出Action的名字。


model-driven

这 是一个用于模型驱动的拦截器,当某个Action类实现了ModelDriven接口时,它负责把getModel()方法的结果堆入 ValueStack中。


scoped-model-driven

如果一个Action实现了一个 ScopedModelDriven接口,该拦截器负责从指定生存范围中找出指定的Modol,并将通过setModel方法将该Model传给 Action实例。


params

这是最基本的一个拦截器,它负责解析HTTP请求中的参数,并将参数值设置成Action对 应的属性值。


prepare

如果action实现了Preparable接口,将会调用该拦截器的prepare()方法。


static-params

这 个拦截器负责将xml中<action>标签下<param>标签中的参数传入action。


scope

这 是范围转换拦截器,它可以将Action状态信息保存到HttpSession范围,或者保存到ServletContext范围内。


servlet-config

如 果某个Action需要直接访问Servlet API,就是通过这个拦截器实现的。注意:尽量避免在Action中直接访问Servlet API,这样会导致Action与Servlet的高耦合。


roles

这是一个JAAS(Java Authentication and Authorization Service,Java授权和认证服务)拦截器,只有当浏览者取得合适的授权后,才可以调用被该拦截器拦截的Action。


timer

这 个拦截器负责输出Action的执行时间,这个拦截器在分析该Action的性能瓶颈时比较有用。


token

这个拦截器主要 用于阻止重复提交,它检查传到Action中的token,从而防止多次提交。


token-session

这个拦截器的作用 与前一个基本类似,只是它把token保存在HttpSession中。


validation

通过执行在 xxxAction-validation.xml中定义的校验器,从而完成数据校验。


workflow

这个拦截器负责调用 Action类中的validate方法,如果校验失败,则返回input的逻辑视图。



大部分时候,开发者无需手动控制这些拦截器,因为struts-default.xml文件中已经配置了这些拦截器,只要我们定义的包继承 了系统的struts-default包,就可以直接使用这些拦截器。

分享到:
评论

相关推荐

    struts2内置拦截器简介

    ### Struts2内置拦截器简介 Struts2框架在实现MVC模式时,为了更好地管理请求处理过程中的各个阶段,引入了拦截器机制。通过拦截器可以对请求进行预处理或后处理,使得代码更加模块化和易于维护。Struts2提供了一...

    Struts2内置拦截器简介

    ### Struts2内置拦截器简介 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2的核心是拦截器(Interceptor)机制...

    struts2 拦截器

    ### 四、Struts2内置拦截器 Struts2提供了一些内置的拦截器,如: 1. **Params拦截器**:负责从请求中提取参数并设置到Action的属性。 2. **Prepare拦截器**:初始化Action,调用`prepare()`方法。 3. **Exception...

    Struts2 拦截器

    以下是一些常见的Struts2内置拦截器及其用途: 1. `params`:负责从请求参数中填充Action属性。 2. `i18n`:处理国际化资源文件。 3. `exception`:处理Action执行过程中的异常。 4. `prepare`:在Action执行前准备...

    struts2拦截器的使用方法

    #### 三、Struts2内置拦截器与自定义拦截器 Struts2提供了许多内置的拦截器,比如`defaultStack`拦截器堆栈,包含了多个常用的拦截器,如模型驱动(ModelDriven)、参数拦截器(Parameters)、验证器(Validation)...

    Struts2拦截器原理分析

    Struts2提供了许多内置拦截器,如: - `params`:处理请求参数,将请求参数绑定到Action的属性上。 - `validation`:执行数据验证,如果验证失败则不执行Action。 - `i18n`:处理国际化信息。 - `exception`:处理...

    Struts2 拦截器过滤方法(二十八)

    在"Struts2 拦截器过滤方法(二十八)"这个主题中,我们将深入探讨Struts2拦截器的工作原理、如何创建自定义拦截器以及它们在实际应用中的作用。 首先,拦截器是基于Java的动态代理机制实现的,它们在Action执行...

    Struts2拦截器及其用法详细说明

    Struts2提供了许多内置拦截器,如: - `params`:处理请求参数,将请求参数映射到Action属性。 - `validation`:执行Action级别的验证。 - `exception`:处理Action执行过程中的异常。 - `i18n`:处理国际化资源。 ...

    详解Struts2拦截器

    Struts2提供了丰富的内置拦截器,例如: - `params`拦截器:用于解析HTTP请求中的参数并将它们设置到Action的属性中。 - `servlet-config`拦截器:将HTTP请求中的`request`和`response`实例传递给Action。 这些内置...

    struts2 拦截器实例

    2. **默认拦截器栈**:`defaultStack`包含了Struts2内置的一些拦截器,如`params`(处理参数),`i18n`(处理国际化),`exception`(处理异常)等。 3. **应用全局拦截器**:现在,所有Action都会在执行前经过`...

    struts2拦截器详述ppt

    下面列出了一些常见的Struts2内置拦截器及其功能: - **Alias Interceptor**:在不同请求之间转换请求参数的名字,保持请求内容不变。 - **Chaining Interceptor**:允许前一个Action的属性被后一个Action访问,...

    struts2 拦截器(AOP,面向切面编程)

    Struts2内置拦截器** Struts2提供了一系列内置的拦截器,如`params`用于参数预处理,`validation`用于验证Action属性,`i18n`处理国际化,`exception`处理异常等。这些拦截器可以方便地组合使用,满足不同需求。 *...

    Struts2的拦截器的小例子程序

    1. **内置拦截器**:Struts2提供了多种内置拦截器,例如`modelDriven`、`servletConfig`、`chain`、`debugging`等,这些拦截器已经实现了常用的功能,可以直接在配置文件中引用使用。 2. **自定义拦截器**:对于...

    struts2 Interceptor拦截器

    ### Struts2 Interceptor 拦截器详解 #### 一、概述 在现代Web开发中,特别是基于Java的Web应用程序开发中,Struts2框架因其简洁性和强大的扩展能力而备受青睐。Struts2框架的核心设计理念之一是MVC(Model-View-...

    Struts2的拦截器

    Struts2提供了丰富的内置拦截器,同时也支持用户自定义拦截器。 #### 内置拦截器功能解析 Struts2默认提供了一系列内置拦截器,每种拦截器都有其特定的功能: 1. **alias**:别名拦截器,主要用于简化不同Action...

    struts2拦截器实现权限控制

    此外,还可以利用Struts2提供的内置拦截器,例如`LoginCheckInterceptor`,它可以处理登录验证。不过,为了实现更复杂的权限控制,通常需要自定义拦截器来实现具体的业务逻辑,例如检查用户的角色、权限编码或者当前...

    Struts2之拦截器原理分析及使用-上案例struts007

    Struts2还提供了一些内置的拦截器,如params(处理请求参数)、i18n(国际化支持)、exception(异常处理)等。这些拦截器极大地丰富了框架的功能,减少了开发者的工作量。 总的来说,Struts2的拦截器机制是其强大...

    Struts2的拦截器——Struts2拦截器的基础知识.pptx

    - Struts2提供了一系列内置拦截器,如`params`、`validation`(数据校验)、`i18n`(国际化)、`exception`(异常处理)和`servlet-config`(传递HTTP请求对象)等,这些拦截器满足了大部分常见的Web应用需求。...

Global site tag (gtag.js) - Google Analytics