拦截器的问题

问题描述

struts2里如果一个包配置了默认的拦截器包下的action也配置了拦截器那么对于action来说包的默认拦截器还会起作用吗是不是action的拦截器就把包的拦截器给屏蔽了呀

解决方案

解决方案二:
不会,拦截器会按照次序执行你的,然后是交给strutsaction
解决方案三:
struts有拦截器栈的概念。
解决方案四:
拦截器的优先级(调用顺序)如下~~首先,找<action>中有没有<intercepter-ref>。其次,找这个<action>所在的包有没有默认拦截器引用,即:<package>的<default-intercepter-ref>。最后,递归寻找这个包的父包,寻找默认的拦截器引用,直到找到为止。
解决方案五:
你如果写了自己的拦截器,要显式声明默认拦截器,默认拦截器放在前面
解决方案六:
如果action中自己配置了拦截器就会屏蔽包下的拦截器,如果还需要包下的拦截器需要再引用一下包下的拦截器。

时间: 2024-08-31 03:05:39

拦截器的问题的相关文章

配置-求助,SSH整合后拦截器不起作用

问题描述 求助,SSH整合后拦截器不起作用 struts.xml配置如下 <interceptors> <interceptor name="loginInterceptor" class="com.music.interceptor.LoginInterceptor"></interceptor> <interceptor-stack name="globalInterceptor"> <i

Flume-NG源码阅读:SourceRunner及选择器selector和拦截器interceptor的执行

在AbstractConfigurationProvider类中loadSources方法会将所有的source进行封装成SourceRunner放到了Map<String, SourceRunner> sourceRunnerMap之中.相关代码如下: Map<String, String> selectorConfig = context.getSubProperties( BasicConfigurationConstants.CONFIG_SOURCE_CHANNELSEL

eclipse + JBoss 5 + EJB3开发指南(15):拦截器方法和拦截器类

一.拦截器方法 EJB3可以通过拦截器对Bean方法进行拦截和覆盖.这有些象AOP中的around.通过AOP的around方法, 可以修改被拦截方法的返回值.参数值,甚至可以取消被拦截方法的执行.EJB3的拦截器可以用在无状态 Session Bean.有状态Session Bean和消息驱动Bean(MDB)的方法中.实现拦截器的最简单的方法是使 用拦截器方法.也就是说,只要在当前的Bean中使用@AroundInvoke对某个方法进行注释(关于拦截器的 类都在javax.intercept

Struts2教程9:实现自已的拦截器

在上一篇中介绍了Struts2拦截器的原理,在这一篇中我们将学习一下如何编写自己的拦截器. 一.拦截器的实现 实现一个拦截器非常简单.实际上,一个拦截器就是一个普通的类,只是这个类必须实现com.opensymphony.xwork2.interceptor.Interceptor接口.Interceptor接口有如下三个方法: public interface Interceptor extends Serializable { void destroy(); void init(); Str

Struts2教程8:拦截器概述

Struts2的拦截器和Servlet过滤器类似.在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法. Struts2拦截器类必须从com.opensymphony.xwork2.interceptor.Interceptor接口继承,在Intercepter接口中有如下三个方法需要实现: void destroy(); void init(); St

Struts 2的基石——拦截器(Interceptor)

如果大家希望快速开发,一个类似Struts 2这样的简单方便的WEB框架必不可少.我们在开发DEMO使用的还是Struts 1.2.8,而且没有不使用任何EL(表达式语言),导致页面出现无数类似"<%= ((Integer) request.getAttribute("xx")).intValue()%6 %>"的代码.Struts 1.x的Form Bean的麻烦使得有部分同事直接使用request.getParameter(String arg),继

ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第六篇:拦截器

摘要 本文将对"MVC公告发布系统"的发布公告功能添加日志功能和异常处理功能,借此来讨论ASP.NET MVC中拦截器的使用方法. 一个小难题 我们继续完善"MVC公告发布系统",这次,我们的需求是对公告发布功能添加日志记录能力,即在发布公告前,记录一次,在 公告发布成功后,再记录一次.然后还要使得其具备异常处理,即当业务组件出现问题时,跳转到相应的错误页面并显示相应提示. 有 人可能笑了,这有什么难的,在DoRelease这个Action的开始和结束处各加入相应日

Spring源代码解析(七):Spring AOP中对拦截器调用的实现

前面我们分析了Spring AOP实现中得到Proxy对象的过程,下面我们看看在Spring AOP 中拦截器链是怎样被调用的,也就是Proxy模式是怎样起作用的,或者说Spring是怎样为 我们提供AOP功能的: 在JdkDynamicAopProxy中生成Proxy对象的时候: Java代码 return Proxy.newProxyInstance(classLoader, proxiedInterfaces, this); 这里的this参数对应的是InvocationHandler对象

如何在基于注解风格的Spring-MVC中使用拦截器

Spring-MVC如何使用拦截器,官方文档只给出了非注解风格的例子.那么基于注解风格如何使用拦截器呢? 基于注解基本上有2个可使用的定义类,分别是DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter: <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> <be

基于Struts 2拦截器实现细粒度的基于角色的存取控制

引言 Apache Struts 作为最成功的 MVC Web 框架早已得到了广泛的应用,但是其自身也暴露出不少缺点,从而引出了 Struts 2 . Struts 2 摒弃了原来 Struts 1 的设计, 而是转向了 webwork2,并结合 Struts 已有的优点,试图打造出一个集众家所长的完美 Web 框架. Struts 2 因此也具备 webwork2 中的一个非常重要的特性 - 拦截器 (Interceptor) .拦截器会在 Action 执行之前和之后被执行(如下图),是一种