`

struts2中关于拦截器Interceptor中的excludeMethods

阅读更多

struts2拦截器interceptor中的excludeMethods与includeMethods的理解:

针对MethodFilterInterceptor:

excludeMethods表示排除指定的方法,即不对标记为excludeMethods的方法进行拦截,

includeMethods表示包含指定的方法,即对标记为includeMethods的方法进行拦截,

 

在struts.xml中关于excludeMethods和includeMethods有两种实现方式,一种相当于全局,另一种相当于局部,即

<interceptors>
           <interceptor name="method" class="com.yxl.interceptor.MethodInterceptor">
                <param name="includeMethods">method1,method2</param>
           </interceptor>
</interceptors>

为全局,而

<interceptor-ref name="method">
           <param name="excludeMethods">method1,method2</param>
</interceptor-ref> 

 

例struts.xml:

……

<package name="system-default" extends="struts-default" abstract="true">
        <!-- struts2拦截器 -->
          <interceptors>
              <interceptor name="exceptionInter" class="com.ccxe.common.web.interceptor.ExceptionInterceptor"></interceptor>
            <interceptor name="loginInter" class="com.ccxe.common.web.interceptor.LoginInterceptor"></interceptor>
              <interceptor-stack name="default-stack">
                  <interceptor-ref name="defaultStack"></interceptor-ref>
                  <interceptor-ref name="exceptionInter"></interceptor-ref>
                <interceptor-ref name="loginInter">
                    <param name="excludeMethods">login,web,cloans,ufn,art,eli,cli,cap,or,invest,financing,news,anns,todetail,detail</param>
                </interceptor-ref>
              </interceptor-stack>
          </interceptors>
          <default-interceptor-ref name="default-stack"></default-interceptor-ref>

          <global-results>
              <result name="success">/success.jsp</result>
              <result name="error">/error.jsp</result>
            <result name="relogin">/redirectToLogin.jsp</result>
          </global-results>
</package>

……
为局部,若全局中的param定义为excludeMethods同样局部中的param也定义为excludeMethods,则局部中的param生 效,全局中的param无效,即被局部中的param覆盖,同样,若全局中的param定义为includeMethods同样局部中的param也定义 为includeMethods,则局部中的param生效,全局中的param无效,即被局部中的param覆盖。

当全局中的param与局部中的param不相同的时,即当全局中param为excludeMethods而局部中的param为 includeMethods和全局中的param为includeMethods而局部中param为excludeMethods,则标志为 includeMethods生效,即若是全局中的param定义为includeMethods,则全局屏蔽局部,以全局为准,反之,以局部为准。

 

转载:

http://blog.sina.com.cn/s/blog_51147aad0100eans.html

分享到:
评论

相关推荐

    struts2拦截器和验证框架(适合初学者-经藏版)

    通过以上详细介绍,我们了解了Struts2中的拦截器和验证框架的基本概念、如何创建自定义拦截器以及如何配置拦截器和使用验证功能。这些知识点对于初学者来说非常重要,能够帮助他们更好地理解和使用Struts2框架。

    struts2拦截器

    在本案例中,我们将深入探讨如何在Struts2中自定义拦截器来实现用户非法登录的验证。 一、Struts2拦截器的工作原理 在Struts2框架中,每个请求都会经过一系列预定义或自定义的拦截器,这些拦截器按照栈的形式执行。...

    Struts2(4)拦截器与验证框架

    在Struts2框架中,拦截器(Interceptor)是其核心组件之一,它能够对用户请求进行预处理或后处理。通过在应用程序的主配置文件`struts-default.xml`中定义拦截器和拦截器栈,可以方便地管理这些逻辑。 **拦截器的...

    java过滤器、监听器拦截器原理个人总结.pdf

    Struts2 拦截器的实现原理相对简单,当请求 Struts2 的 action 时,Struts 2 会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。 Struts2 规定用户自定义...

    struts2开发

    拦截器(Interceptor)在Struts2中扮演着至关重要的角色,它们可以在执行Action之前或之后进行操作,如身份验证、日志记录、事务管理等。当开发者需要自定义拦截器时,最常用的方法之一是直接继承`...

    Struts2-ActionError-ActionMessage-Example

    - Struts2提供了一系列的验证拦截器,如`validation`和`workflow`拦截器,它们可以在执行Action之前自动进行字段验证,并自动将验证结果转化为ActionError或ActionMessage。 - 配置验证拦截器: ```xml ...

    struts2令牌

    例如,在`struts-default.xml`文件中定义了一个默认的拦截器栈`defaultStack`,其中包含了`actionTokenInterceptor`和`TokenSessionStoreInterceptor`两个拦截器,用于执行令牌的验证工作。 ```xml &lt;interceptor-ref...

    struts2验证框架示例

    在Struts2中,验证框架是其核心特性之一,它允许开发者对用户输入的数据进行校验,确保数据的完整性和安全性。这个“struts2验证框架示例”提供了深入理解并实际操作Struts2验证功能的机会。 首先,让我们了解一下...

    struts2验证框架简单示例

    在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...

    使用struts2的annotation验证

    在Struts2中,注解(Annotation)的使用极大地简化了配置过程,尤其是对于验证用户输入数据的部分。这篇博文将深入探讨如何利用Struts2的注解进行数据验证。 首先,我们需要了解Struts2中的核心注解。`@Action`注解...

    Struts2中使用验证框架的简单例子

    在Struts2中,验证框架是处理用户输入数据的有效性和完整性的关键组件。本篇文章将深入探讨如何在Struts2中使用验证框架,并通过一个简单的例子来演示其工作原理。 ### 一、Struts2验证框架概述 Struts2的验证框架...

    【原创】Struts2防止表单重复提交.doc

    在Struts2中,`&lt;s:token/&gt;`标签用于生成一个全局唯一的标识符(GUID),该标识符被存储在用户的会话(session)中,并且在表单中作为隐藏字段存在。当用户提交表单时,服务器端会检查表单中的GUID与会话中的GUID是否...

    完整的struts2配置,带实例

    在Struts2中,核心组件是Action类,它处理用户请求并返回相应的结果。而Spring框架则通过依赖注入(DI)来管理对象的生命周期和装配,使得代码更加松耦合,易于测试和维护。整合Struts2和Spring,我们可以将Action类...

    Struts2 使用Validation框架验证数据(三十七)

    在Struts2中,数据验证是确保输入数据有效性和安全性的关键部分,这正是Validation框架的作用所在。这篇博客的标题“Struts2 使用Validation框架验证数据(三十七)”表明它将深入探讨如何利用Struts2的Validation...

    jsp\No result defined for action and result input.doc

    这段代码会自动从Struts2的拦截器中获取错误信息,并以红色字体显示出来。 2. **配置Struts2的XML文件**: 在struts.xml文件中为动作(action)配置“input”结果,这样当验证失败时,可以将控制权返回到原始表单...

    SSH整合所需关键代码

    这里定义了一个名为`springStack`的拦截器栈,包含Spring的`springObject`拦截器,使得Action可以通过Spring自动注入。 ### 3. Struts2与Hibernate的整合 在Struts2中,我们可以使用Hibernate作为持久层框架。首先...

    23基于XML配置方式实现对指定action方法校验.zip

    在Struts2中,XML配置文件通常位于`struts.xml`或`struts-config.xml`中,它定义了Action类、结果页面、拦截器链以及与它们相关的属性。在实现对Action方法的校验时,我们首先需要理解Struts2的验证机制。Struts2...

    22基于XML配置方式实现对action的所有方法进行校验.zip

    这里的`&lt;interceptor-ref name="validation"&gt;`拦截器用于执行校验,`&lt;param name="excludeMethods"&gt;none&lt;/param&gt;`参数表示不忽略任何方法,所以`execute()`方法会被校验。 接着,我们需要创建一个单独的XML校验文件...

    SSI框架 部署手册

    在这个例子中,`RegisterAction`使用了验证拦截器(`validation`),并通过`excludeMethods`属性指定了不需要验证的方法。 **1.3 Struts2国际化** 国际化是Struts2框架的一项重要特性,它允许应用程序根据用户的...

Global site tag (gtag.js) - Google Analytics