Struts2配置拦截器自定义栈时抛异常:Unable to load configuration. - interceptor-ref - file:/D:/tomcat_install/webapps/crm/WEB-INF/classes/struts.xml

代码如下:

<interceptors>
 <!-- 注册自定义拦截器 -->
   <interceptor name="LoginInterceptor" class="com.hncj.crm.staff.web.action.LoginInterceptor"></interceptor>
   <!--自定义栈  -->
   <interceptor-stack name="crmStaff">
    <interceptor-ref name="struts-default"></interceptor-ref>
    <interceptor-ref name="LoginInterceptor">
         <param name="excludeMethods">login</param>
    </interceptor-ref>
   </interceptor-stack>
 </interceptors>
 <!--将自定义的拦截器栈设置为默认的拦截器栈  -->
 <default-interceptor-ref name="crmStaff"></default-interceptor-ref>

**********************************************************************************

解决办法:默认的配置自定义栈中的引用默认拦截器出错

应该改为:

<interceptor-ref name="defaultStack"></interceptor-ref>

-----------------------------------------------------------------------------------------------------

excludeMethods的好处是排除某一个方法不进行拦截,比如登陆时不拦截,其他页面都拦截

注意:访问jsp页面时拦截器是不进行拦截的,当访问《action》时才会拦截

时间: 2024-10-12 20:53:53

Struts2配置拦截器自定义栈时抛异常:Unable to load configuration. - interceptor-ref - file:/D:/tomcat_install/webapps/crm/WEB-INF/classes/struts.xml的相关文章

调查管理系统 -(6)自定义Struts2的拦截器&amp;自定义UserAware接口&amp;Action中模型赋值问题&amp;Hibernate懒加载问题

1.对于一些功能,如我的调查或新建调查等,只有用户登录后才能进行操作,因此必须对用户是否登录进行判断.当用户登录后才能使用相应的功能,如果没有登录则需为用户导航到登录页面让其进行登录.这个功能可以通过自定义Struts2的拦截器来完成. 2.当用户登录之后,由于是将用户的信息保存在session中的.这样当一些Action中需要用到当前登录的用户的信息时需要手动的从session中获取,不太方便,因此我们声明了一个UserAware接口(即用户关注,类似于Struts2中的SessionAwar

Struts2配置拦截器,struts2加载常量时的搜索顺序

1:struts2加载常量时的搜索顺序 1.Struts-default.xml 2.Struts-plugin.xml 3.Struts.xml 4.Struts-properties(自己创建的) 5.web.xml 如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面的文件配置的常量值 2:Struts2拦截器配置 1.在Struts.xml中配置一个默认请求的action <!-- 没有找到action时默认执行的action --> <default-acti

Struts2中拦截器的配置

在struts.xml文件中定义拦截器只需要给拦截器类指定一个拦截器名,这就完成了定义.拦截器使用<interceptor>标记来定义,格式如下 <interceptor name="拦截器名" class="拦截器类"></interceptor> 大部分情况下,如果有一个拦截器这样配置就够了.如果有多个拦截器,则需要写多个<interceptor>,而<interceptor>是写在<interc

Struts2默认拦截器栈及内建拦截器使用详解

Struts2内建拦截器介绍: alias (别名拦截器):允许参数在跨越多个请求时使用不同别名,该拦截器可将多个Action采用不同名字链接起来,然后用于处理同一信息. autowiring (自动装配拦截器):主要用于当Struts2和Spring整合时,Struts2可以使用自动装配的方式来访问Spring容器中的Bean. chain (链拦截器):构建一个Action链,使当前Action可以访问前一个Action的属性,一般和<result type="chain"

struts2 在拦截器进行注入(根据Action是否实现自定义接口)

例如:常常在Action中都需要获取当前登录的User,就需要获取Session,然后从Session获取当前登录的User,因为这些步骤都是重复操作,可以想办法在拦截器中进行实现,可以自定义一个接口,只要你的Action实现了这个接口,就在自定义拦截器中进行注入.即从拦截器中获取Session,然后设置进行注入. 简单的例子: 一个自定义接口,只要Action实现这个接口,就在拦截器中进行注入 package com.atguigu.surveypark.struts2; import com

【struts2】拦截器基础

1)拦截器是什么? 拦截器(Interceptor)是Struts2最强大的特性之一,它是一种可以让你在Action执行之前和Result执行之后进行一些功能处理的机制.来回顾一下官方给出的Struts2系统架构图中关于拦截器的部分,如下图所示: 这个图清晰的描述出了拦截器的运行地位,就是用来负责在Action执行之前和Result执行之后处理一些功能的类.也就是说,上图示意了有3个拦截器的类,分别是Interceptor1.Interceptor2和Interceptor3,它们分别执行不同的

Struts2中拦截器的简单实现

Struts2的拦截器和Servlet过滤器类似.在执行Action的execute方法之前,Struts2会首先执行struts.xml中引用 的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法.在Struts2的拦截器体系中, Struts2的内建拦截器完成了该框架的大部分操作,所以实际的开发过程中通常都是使用系统的拦截器而已.当然我们也可以开发自己的拦截器,类似于过滤器的开发. 原理: Struts2拦截器的实现原理相对简单,当请求Stru

struts 2配置拦截器

在struts.xml文件中定义拦截器只需要为拦截器类指定一个拦截器名就可以了,拦截器使用<interceptor.../>元素来定义如: <interceptor name="defaultStack"/> 一般情况下,只需要通过上面的格式就可以完成拦截器的配置,如果需要在配置拦截器时传入拦截器参数,可使用<param.../>子元素.如: <interceptor name="defaultStack"/> <

Struts2(四) 拦截器

一.struts2国际化 定义:同一款软件 可以为不同用户,提供不同语言界面 第一种 全局国际化信息文件 (所有Action都可以使用 ) ------- 最常用 1.properties文件可以在任何包中2. 需要在struts.xml 中配置全局信息文件位置 <!-- messages.properties 在src根目录 --> <constant name="struts.custom.i18n.resources" value="messages&