`

拦截器配置错误:The content of element type "package" must match "(result-types?,interce

 
阅读更多

在编写后台登陆模块时,将许多默认的设置放在一个名为default的package
里。然后再定义其他package继承该包。之前我的struts.xml配置如下
<struts>
    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
    <constant name="struts.devMode" value="true" />
   
    <package name="exam_default" extends="struts-default" namespace="/">
        <!--自定义拦截器及拦截器栈-->
        <interceptors>
            <!--用户认证拦截器-->
            <interceptor name="authentication" class="action.admin.AuthenticationInterceptor"/>
             <!--用户认证拦截器栈,用于防止用户非法访问-->
            <interceptor-stack name="user" >
                <interceptor-ref name="authentication" />
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>
            <interceptor-stack name="guest" >
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>
        </interceptors>
        <!--全局异常映射-->
        <global-exception-mappings>
            <exception-mapping result="error" exception="java.lang.Exception"/>
        </global-exception-mappings>
       <!--全局result-->
        <global-results>
            <result name="error">/error.jsp</result>
        </global-results>
    </package>
   
    <package name="admin" extends="exam_default" namespace="/admin">
        <action name="login" class="login">
            <result type="redirectAction">index</result>
        </action>
        <action name="index">
            <result>index.jsp</result>
        </action>
    </package>
</struts>
      各位,谁看出来这哪里错了吗??反正最开始我是没看出来。一运行程
序来个错误。
“The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)". ”
刚看到这个错误我就想,哪个也没写错呀。仔细对了好几遍也没发现哪个属
性写错了。最后Google了一下,看了别人写的文章豁然开朗了。

     这个错误的意思是,package里元素必须按照一定的顺序排列。这个顺序
就是
result-types
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*(就是所有的action放到最后)

分享到:
评论

相关推荐

    难经3:Struts2,拦截器拦不住Result?

    1. **配置问题**:如果Struts2的配置文件(struts.xml或struts.properties)中拦截器配置有误,可能会导致拦截器链无法正常工作,从而影响到Result的执行。 2. **拦截器逻辑错误**:如果自定义的拦截器在处理过程中...

    struts2自定义拦截器配置心得

    - 在User.xml文件中,定义了一个名为`user`的包,它继承了`default`包,因此继承了`default`包中的拦截器配置。 - `&lt;action&gt;`元素定义了Action,`class`属性指定Action类,`name`属性是Action的名称。`&lt;result&gt;`...

    struts2 拦截器实例

    3. **配置拦截器**:拦截器可以通过Struts2配置文件或注解进行配置,指定在哪些Action上使用哪些拦截器。 ### 二、单个Action配置拦截器实例 1. **创建拦截器**:首先,我们需要创建一个实现了`Interceptor`接口的...

    拦截器与冲突解决

    2. **命名空间冲突**:`&lt;mvc:annotation-driven /&gt;`内部可能包含了默认的拦截器配置,这可能与我们自定义的拦截器配置产生了冲突。我们需要确保自定义的拦截器配置不被默认配置覆盖。 3. **未正确注册拦截器**:...

    uni-app 请求拦截器

    【uni-app请求拦截器】是基于uni-app框架实现的一种机制,它允许开发者在发送网络请求前和接收到响应后执行自定义的操作。这种机制对于统一处理请求头、数据格式、错误处理以及添加全局的请求前后的逻辑非常有用,极...

    自定义拦截器的实现以及拦截器的详细配置

    在Java Web开发中,拦截器(Interceptor)是一个重要的概念,特别是在使用MVC框架如Struts2时。拦截器可以理解为一种预处理和后处理机制,它在请求到达控制器之前和离开控制器之后进行操作,例如日志记录、权限检查...

    Struts2拦截器及其用法详细说明

    - XML配置:在`struts.xml`文件中,使用`&lt;interceptor&gt;`元素定义拦截器,`&lt;interceptor-stack&gt;`元素组合多个拦截器,`&lt;package&gt;`元素下的`interceptors`属性指定拦截器栈。 ```xml &lt;interceptor-stack name=...

    SpringBoot整合Mybatis完整详细版含注册、登录、拦截器配置

    5. **拦截器配置** - **SpringBoot中的拦截器**:SpringBoot使用Spring MVC的Interceptor来实现请求拦截,它可以对请求进行预处理和后处理,比如权限验证、日志记录等。 - **配置拦截器**:在`WebMvcConfigurer`的...

    struts2拦截器的使用方法

    Struts2提供了许多内置的拦截器,比如`defaultStack`拦截器堆栈,包含了多个常用的拦截器,如模型驱动(ModelDriven)、参数拦截器(Parameters)、验证器(Validation)等。使用内置拦截器可以大大简化开发过程。 ...

    JSP 开发之Struts2内建自定义拦截器.docx

    2. **配置拦截器**:在Struts2的配置文件(struts.xml)中,你需要声明并配置自定义的拦截器。这包括设置拦截器的名称和实现类,以及可能的参数。 ```xml &lt;param name="username"&gt;John &lt;!-- 其他参数 --&gt; ``` ...

    在Ejb中加入拦截器

    同时,如果一个bean中既定义了注解拦截器又配置了XML拦截器,那么XML配置的拦截器会在注解拦截器之前执行。 **5. 示例** ```java @Stateless public class MyEJB { @AroundInvoke public Object logInvocation...

    Struts2 配置第一个拦截器

    Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中。在Struts2中,拦截器(Interceptor)是实现业务逻辑处理...解压文件后,你可以根据文件内容进一步学习和实践上述的拦截器配置过程。

    拦截器和控制器的区别

    拦截器和过滤器的区别 1、拦截器基于动态代理 , 过滤器基于函数回调 2、拦截器不依赖于servlet容器,通过动态代理实现,过滤器依赖于servlet容器 3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求...

    structs2拦截器实例2-权限验证拦截器

    2. **配置拦截器**:在Struts2的配置文件(通常为struts.xml或struts-plugin.xml)中,你需要声明并配置你的拦截器。在这里,你可以指定拦截器的名称、优先级以及它应该拦截哪些Action。 ```xml &lt;interceptor-...

    Spring Controller拦截器配置

    ### Spring Controller拦截器配置 #### 一、概述 在Spring框架中,拦截器(Interceptor)是一种重要的机制,用于对Controller的请求进行预处理和后处理。它可以用来实现一系列的功能,如权限验证、日志记录、统一...

    Spring Boot 拦截器+kibana 配置.zip

    Spring Boot 拦截器 各项日志 通过kibana具体查询分析 Advanced Settings [7.2.0] 综合分析 定时任务执行日志 数据同步日志 用户访问操作日志 异常日志 内存日志 Spring逻辑参数执行日志 SQL...

    Struts2的拦截器的小例子程序

    1. **内置拦截器**:Struts2提供了多种内置拦截器,例如`modelDriven`、`servletConfig`、`chain`、`debugging`等,这些拦截器已经实现了常用的功能,可以直接在配置文件中引用使用。 2. **自定义拦截器**:对于...

    vue-element-admin_vue-element_vue-element-admin_elementadmin官网_v

    4. **API封装**:提供统一的axios封装,方便与后端接口进行交互,支持错误处理和请求拦截。 5. **国际化**:支持多语言切换,使用 i18n 进行国际化配置,便于不同地区用户使用。 6. **主题定制**:Element UI 提供的...

    拦截器应用

    Struts2 框架中的拦截器(Interceptor)是一个强大的工具,它允许开发者在Action执行前后插入自定义逻辑,如日志记录、性能监控、权限验证等。拦截器的运用大大提高了应用程序的灵活性和可扩展性,使得业务逻辑与...

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

    6. **Exception拦截器**:处理未被捕获的异常,可以配置全局错误页面。 在`src`目录下,可能包含了Struts2项目的源代码,包括Action类、拦截器类以及其他业务逻辑相关的Java类。通过分析这些源代码,我们可以了解...

Global site tag (gtag.js) - Google Analytics