interceptor-Struts2 默认拦截器 不能拦截所有action

问题描述

Struts2 默认拦截器 不能拦截所有action

默认拦截器配置节选:

<!-- 声明包的默认截拦器栈 -->

……
action配置:
<!-- 通用Action配置 -->

    <action name="Login" class="Action.USER.LoginAction" method="login"></action>

    <action name="GetSessionInfo" class="Action.Util.GetSessionInfoAction"
        method="GetSessionInfo"></action>

    <action name="ShowPhoto" class="Action.Util.ImageAction"
        method="GetImagebyId"></action>
    <!-- 行政区划补全接口 -->
    <action name="RegionAutoComp" class="Action.Util.GetRegionInfoAction"
        method="AutoComplete"></action>

    <action name="GetGrassBType" class="Action.Util.GetGrassType"
        method="GetGrass_B_Type"></action>
    ……

    各类具体的实现方法流程都大致相同

    结果调用Login.action没有进入拦截器代码,而调用GetSessionInfo则能进入拦截器代码,而且进入拦截器的顺序也不一样,有的在执行完action后直接拦截器,有的首先执行拦截器再执行Action,这可能是什么原因导致的?

解决方案

package中action在添加fileUpload的拦截器的时候会在之前下面的代码:

给出的解释是配置fileUpload的拦截器会使默认的拦截器失效,
所以在配置package的默认拦截器的时候如果还写defaultStack就会使package的默认拦截器失效
所以defaultStack就应该改写为package的默认拦截器......
答案就在这里:struts2 中package的默认拦截器不能拦截某些action的原因
----------------------

解决方案二:

看不到你的默认拦截器配置,建议再坚持下拦截器配置信息看看,

解决方案三:

一篇详细介绍struts2拦截器的使用的文章,仅供参考:http://www.blogjava.net/zzzlyr/archive/2009/10/12/297998.html

时间: 2024-12-19 16:40:34

interceptor-Struts2 默认拦截器 不能拦截所有action的相关文章

struts2 拦截器 ajax-struts2 拦截器如何获得ajax传来的参数

问题描述 struts2 拦截器如何获得ajax传来的参数 如题,已知必定是ajax提交,如何在拦截器里获得参数.... 解决方案 如何struts2拦截器传参,Action通过getter获得struts2拦截器 获得请求方法名+获得请求参数 解决方案二: 用Action,继承自ActionSupport

springmvc-spring MVC 的拦截器怎么拦截不了

问题描述 spring MVC 的拦截器怎么拦截不了 我想用spring mvc实现登录拦截: 配置文件:mvc:interceptorsmvc:interceptor /mvc:interceptormvc:interceptor /mvc:interceptor 因为是spring3.0不支持 <mvc:exclude-mapping >标签,所以我在perHandle的方法来排除不需要的拦截的url. 问题如下: 在controller里@Controller @RequestMappi

spring mvc拦截器无法拦截DWZ的请求,求指点。。。

问题描述 拦截器是这样配置的: <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/*" > </mvc:mapping>如果不配置或/*,将拦截所有的Controller <bean class="com.hangzhou.controller.interceptor.LoginInterceptor"></bean> </m

aspnet mvc 拦截器 怎么不执行action的代码

问题描述 aspnet mvc 拦截器 怎么不执行action的代码 public class CheckCertAttribute : ActionFilterAttribute { /// /// 验证证书是否有效 /// public bool ValidCert { get; set; } /// /// 解析证书 /// public bool ResolveCert { get; set; } public override void OnActionExecuting(Action

struts2拦截器没拦截指定方法

问题描述 action中定义3个方法:publicStringmethod1()throwsException{System.out.println("method1");returnSUCCESS;}publicStringmethod2()throwsException{System.out.println("method2");returnSUCCESS;}publicStringmethod3()throwsException{System.out.prin

关于struts2中拦截器(interceptor)的问题!!

问题描述 <!-- 系统级包 --><package name="systemPackage" extends="struts-default,json-default"abstract="true"><interceptors><interceptor name="status" class="com.util.statusInterceptor" />&l

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),继

【Struts2框架】第六节拦截器-拦截器介绍和总结

一.拦截器概念 Strrurs拦截器是可插拔式的拦截器:如果我们要使用某个拦截器,只需要在配置文件中应用该拦截器即可. Struts拦截器由struts-default.xml,struts.xml等配置文件中进行管理. Struts2中已经默认启动了大量通用功能的拦截器(这些拦截器以name-class对的形式配置在struts-default.xml文件中),只要我们配置Action的package继承了struts-default包,这些拦截器就会起作用. 拦截器几乎完成了Sturts2框