`
makar
  • 浏览: 85786 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2 interceptor顺序分析

    博客分类:
  • JAVA
阅读更多

最近在做项目时自定义了一些拦截器,发现顺序改变后会出现不同效果,struts2中默认拦截器堆栈如下,有时间分析下:

 

 <interceptor-stack name="defaultStack">
                <interceptor-ref name="exception"/>
                <interceptor-ref name="alias"/>
                <interceptor-ref name="servletConfig"/>
                <interceptor-ref name="prepare"/>
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="chain"/>
                <interceptor-ref name="debugging"/>
                <interceptor-ref name="profiling"/>
                <interceptor-ref name="scopedModelDriven"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="checkbox"/>
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="params">
                  <param name="excludeParams">dojo\..*</param>
                </interceptor-ref>
                <interceptor-ref name="conversionError"/>
                <interceptor-ref name="validation">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
                <interceptor-ref name="workflow">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
            </interceptor-stack>

分享到:
评论

相关推荐

    struts2 Interceptor详解

    Struts2 Interceptor详解 Struts2作为一款流行的Java Web框架,其强大的功能之一就是拦截器(Interceptor)。拦截器在MVC模式中扮演着重要角色,它可以对请求进行预处理和后处理,提供了灵活的扩展机制,使得业务...

    saif(struts1 interceptor)

    然而,在Struts1的原生设计中,并没有内置拦截器(Interceptor)这一概念,这与后来的Struts2框架有所不同。Struts2引入了拦截器,极大地增强了框架的灵活性和可扩展性。但是,由于Struts1的流行和项目需求,"saif...

    struts2部分源码分析

    总的来说,Struts2的源码分析涉及Action的创建与执行、Interceptor的调用链、FilterDispatcher的请求调度以及Result的展示机制。通过对这些关键组件的深入理解和代码研究,开发者可以更好地掌握Struts2框架,提高...

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

    Struts2作为一款流行的Java Web框架,其核心机制之一就是拦截器(Interceptor)。拦截器是AOP(面向切面编程)思想在Struts2中的具体实现,它允许开发者在动作执行前后插入自定义的处理逻辑,提升了代码的可复用性和...

    Struts2.x_Interceptor

    3. **拦截器执行顺序**:Struts2按照拦截器在配置文件中定义的顺序执行,从上到下,每个Interceptor的`intercept()`方法被调用。如果需要在Action执行后执行某些操作,可以将这些Interceptor放置在Action类下方。 4...

    struts2框架源码分析及问题汇总

    2. InterceptorStack:InterceptorStack维护了Interceptor链的执行顺序,每个Interceptor都有before和after两个方法,对应于调用Action前后的执行。 3. StrutsPrepareAndExecuteFilter:这是Struts2的过滤器,用于...

    struts2 拦截器的使用(继承抽象拦截器)

    在Struts2中,拦截器是基于Java的动态代理机制实现的,它们按照配置的顺序形成一个拦截器链。每个拦截器都可以在Action执行之前或之后执行特定的任务,而无需修改Action本身。这遵循了“开闭原则”,使得代码更易于...

    [尚硅谷]_佟刚_Struts2面试题分析.zip

    5. **拦截器(Interceptor)**:拦截器是Struts2的一个重要概念,它们按照预定义的顺序在Action执行前后进行干预,实现如日志记录、权限验证、异常处理等功能。常用的拦截器有params(处理参数)、i18n(国际化)、...

    Struts2 拦截器的执行顺序(二十九)

    在Struts2中,每个拦截器的执行顺序是由`struts-default.xml`或自定义的配置文件中`&lt;interceptor-stack&gt;`元素定义的。默认情况下,Struts2提供了一些预定义的拦截器,如`params`(处理请求参数)、`exception`(处理...

    Struts2 in action(struts2实战)

    - **Interceptor**(拦截器):拦截器是Struts2的核心组件,它们按照预定义的顺序对Action的调用进行拦截,实现如日志记录、权限验证、事务管理等功能。 2. **配置方式**: - **XML配置**:传统的Struts2配置通常...

    struts2 intercepter

    3. 在执行动作类之前,Struts2会按照配置的顺序逐个调用Interceptor。 4. 每个Interceptor都可以在进入和离开Action方法前或后执行自定义逻辑。 5. 当所有Interceptor执行完毕后,Struts2会调用Action方法。 6. ...

    Struts2拦截器原理分析

    2. **拦截**:当一个请求到达Action时,Struts2会根据配置的拦截器栈顺序,先调用每个拦截器的`intercept()`方法,然后才执行Action的业务逻辑。 3. **后处理**:Action执行完毕后,Struts2会逆序遍历拦截器栈,调用...

    struts2核心包

    `xwork-2.0.4.jar`是Struts2依赖的一个重要库,XWork是Struts2的前身,它的许多功能被整合到了Struts2中,如动作(Action)处理和拦截器(Interceptor)机制。 描述中提到的"struts2-core-2.0.14.jar"是Struts2框架...

    struts2 源码解读

    源码分析是提升编程技能和解决问题的关键,特别是对于复杂的框架如Struts2,理解其内部工作原理能够帮助我们优化应用性能,修复潜在问题,并进行定制化开发。 首先,Struts2的核心组件包括Action、Result、...

    struts2测试工具

    测试通常包括验证Action类的行为、结果的跳转、Interceptor的执行顺序、以及视图层的正确渲染。同时,考虑到Struts2的安全性问题,如著名的Struts2 OGNL注入漏洞,测试工具也可能包含安全相关的检查。 总的来说,...

    struts2面试题

    (8)Action 执行完毕后,返回一个 result 字符串,此时再按相反的顺序通过 Interceptor 拦截器。 (9)最后 ActionInvocation 负责根据 struts.xml 中配置的 result 元素,找到与返回值对应的 result,决定进行下...

Global site tag (gtag.js) - Google Analytics