在编写后台登陆模块时,将许多默认的设置放在一个名为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放到最后)
分享到:
相关推荐
1. **配置问题**:如果Struts2的配置文件(struts.xml或struts.properties)中拦截器配置有误,可能会导致拦截器链无法正常工作,从而影响到Result的执行。 2. **拦截器逻辑错误**:如果自定义的拦截器在处理过程中...
- 在User.xml文件中,定义了一个名为`user`的包,它继承了`default`包,因此继承了`default`包中的拦截器配置。 - `<action>`元素定义了Action,`class`属性指定Action类,`name`属性是Action的名称。`<result>`...
3. **配置拦截器**:拦截器可以通过Struts2配置文件或注解进行配置,指定在哪些Action上使用哪些拦截器。 ### 二、单个Action配置拦截器实例 1. **创建拦截器**:首先,我们需要创建一个实现了`Interceptor`接口的...
2. **命名空间冲突**:`<mvc:annotation-driven />`内部可能包含了默认的拦截器配置,这可能与我们自定义的拦截器配置产生了冲突。我们需要确保自定义的拦截器配置不被默认配置覆盖。 3. **未正确注册拦截器**:...
【uni-app请求拦截器】是基于uni-app框架实现的一种机制,它允许开发者在发送网络请求前和接收到响应后执行自定义的操作。这种机制对于统一处理请求头、数据格式、错误处理以及添加全局的请求前后的逻辑非常有用,极...
在Java Web开发中,拦截器(Interceptor)是一个重要的概念,特别是在使用MVC框架如Struts2时。拦截器可以理解为一种预处理和后处理机制,它在请求到达控制器之前和离开控制器之后进行操作,例如日志记录、权限检查...
- XML配置:在`struts.xml`文件中,使用`<interceptor>`元素定义拦截器,`<interceptor-stack>`元素组合多个拦截器,`<package>`元素下的`interceptors`属性指定拦截器栈。 ```xml <interceptor-stack name=...
5. **拦截器配置** - **SpringBoot中的拦截器**:SpringBoot使用Spring MVC的Interceptor来实现请求拦截,它可以对请求进行预处理和后处理,比如权限验证、日志记录等。 - **配置拦截器**:在`WebMvcConfigurer`的...
Struts2提供了许多内置的拦截器,比如`defaultStack`拦截器堆栈,包含了多个常用的拦截器,如模型驱动(ModelDriven)、参数拦截器(Parameters)、验证器(Validation)等。使用内置拦截器可以大大简化开发过程。 ...
2. **配置拦截器**:在Struts2的配置文件(struts.xml)中,你需要声明并配置自定义的拦截器。这包括设置拦截器的名称和实现类,以及可能的参数。 ```xml <param name="username">John <!-- 其他参数 --> ``` ...
同时,如果一个bean中既定义了注解拦截器又配置了XML拦截器,那么XML配置的拦截器会在注解拦截器之前执行。 **5. 示例** ```java @Stateless public class MyEJB { @AroundInvoke public Object logInvocation...
Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中。在Struts2中,拦截器(Interceptor)是实现业务逻辑处理...解压文件后,你可以根据文件内容进一步学习和实践上述的拦截器配置过程。
拦截器和过滤器的区别 1、拦截器基于动态代理 , 过滤器基于函数回调 2、拦截器不依赖于servlet容器,通过动态代理实现,过滤器依赖于servlet容器 3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求...
2. **配置拦截器**:在Struts2的配置文件(通常为struts.xml或struts-plugin.xml)中,你需要声明并配置你的拦截器。在这里,你可以指定拦截器的名称、优先级以及它应该拦截哪些Action。 ```xml <interceptor-...
### Spring Controller拦截器配置 #### 一、概述 在Spring框架中,拦截器(Interceptor)是一种重要的机制,用于对Controller的请求进行预处理和后处理。它可以用来实现一系列的功能,如权限验证、日志记录、统一...
Spring Boot 拦截器 各项日志 通过kibana具体查询分析 Advanced Settings [7.2.0] 综合分析 定时任务执行日志 数据同步日志 用户访问操作日志 异常日志 内存日志 Spring逻辑参数执行日志 SQL...
1. **内置拦截器**:Struts2提供了多种内置拦截器,例如`modelDriven`、`servletConfig`、`chain`、`debugging`等,这些拦截器已经实现了常用的功能,可以直接在配置文件中引用使用。 2. **自定义拦截器**:对于...
4. **API封装**:提供统一的axios封装,方便与后端接口进行交互,支持错误处理和请求拦截。 5. **国际化**:支持多语言切换,使用 i18n 进行国际化配置,便于不同地区用户使用。 6. **主题定制**:Element UI 提供的...
Struts2 框架中的拦截器(Interceptor)是一个强大的工具,它允许开发者在Action执行前后插入自定义逻辑,如日志记录、性能监控、权限验证等。拦截器的运用大大提高了应用程序的灵活性和可扩展性,使得业务逻辑与...
6. **Exception拦截器**:处理未被捕获的异常,可以配置全局错误页面。 在`src`目录下,可能包含了Struts2项目的源代码,包括Action类、拦截器类以及其他业务逻辑相关的Java类。通过分析这些源代码,我们可以了解...