<interceptors>
<interceptor name="loginInterceptor" class="com.mayh.struts.interceptor.LoginInterceptor">
</interceptor>
<interceptor-stack name="default" >
<interceptor-ref name="loginInterceptor">
</interceptor-ref>
<interceptor-ref name="defaultStack">
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="default"></default-interceptor-ref>
解决方法如上,添加defaultStack默认拦截器
特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,否则出错。
也可以改为对全局Action设置自己需要的拦截器,如下:
在struts.xml里面定义全局的配置设置
<package name="struts-shop" extends="struts-default">
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="checkbox">
<param name="uncheckedValue">0</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack"/>(这句是设置所有Action自动调用的拦截器堆栈)
</package>
struts-action.xml里面配置Action如下:
<package name="LogonAdmin" extends="struts-shop">(这里扩展struts.xml里面定义的配置就可以了)
<action name="logon" class="logonAction">
<result>/jsp/smeishop/admin/index.jsp</result>
<result name="error">/jsp/smeishop/admin/logon.jsp</result>
<result name="input">/jsp/smeishop/admin/logon.jsp</result>
</action>
<action name="logout" class="logoutAction">
<result>/jsp/smeishop/admin/logon.jsp</result>
</action>
</package>
分享到:
相关推荐
在Struts2中,这些处理逻辑被封装在独立的类中,当请求到达Action之前,拦截器会按照预定义的顺序执行,执行完后再继续进行Action处理,最后返回结果。拦截器可以用于日志记录、权限验证、性能监控等多种场景。 **...
总结起来,Struts2的拦截器机制是其强大功能之一,它使得开发者能够轻松地在Action执行流程中插入自定义逻辑。通过创建和配置拦截器,我们可以实现诸如权限验证、日志记录等功能,提升应用的安全性和可维护性。在...
当请求到达Action时,Struts2会调用这个链上的所有拦截器,然后才执行实际的动作方法。通过在拦截器中实现权限验证,我们可以在用户尝试访问受保护资源之前检查其登录状态。 接下来,我们创建一个自定义的登录拦截...
通过上述方式,我们可以利用Struts2的拦截器机制有效地实现页面访问控制和用户注册功能,同时保持代码的清晰和模块化。在实际开发中,还可以结合其他拦截器,如性能监控、日志记录、事务管理等,进一步增强应用的...
2. **配置拦截器**:然后,在Struts2的配置文件(通常为`struts.xml`或`struts-default.xml`)中注册这个拦截器。 ```xml <!-- 其他拦截器配置 --> <default-interceptor-ref name="defaultStack"/> <!-- 引入...
其中,拦截器(Interceptor)是Struts2框架的一个关键组件,它遵循AOP(面向切面编程)的设计理念,能够在不修改原有业务逻辑的情况下,对请求进行预处理或后处理,从而提高代码的复用性和维护性。 #### 二、Struts...
拦截器是Struts2框架的核心组件之一,它是在动作执行前后插入的一段代码,能够对请求进行预处理和后处理。通过定义一系列拦截器并设置它们的执行顺序,你可以实现如日志记录、权限验证、性能监控等通用功能,而无需...
当一个请求到达时,Struts2会按照配置的拦截器栈顺序逐个调用这些拦截器,然后执行Action,最后再按逆序返回。拦截器可以进行如权限验证、日志记录、性能监控等多种操作。 2. **创建自定义拦截器** 创建自定义拦截...
当一个请求到来时,Struts2会按照配置的顺序依次执行这些拦截器,最后调用Action方法。 要实现拦截不文明字迹,我们首先需要创建一个自定义的拦截器类。这个类需要继承自`...
Struts2的拦截器是一种AOP(面向切面编程)的概念,它在Action调用前后执行特定的逻辑,如日志记录、权限验证、数据校验等。拦截器通过配置在struts.xml或struts-plugin.xml文件中,按照定义的顺序进行调用。每个...
通过这样的设置,Struts2的拦截器就能够帮助我们在用户登录成功后,将其重定向回他们最初尝试访问的页面,提供更好的用户体验。同时,这种方法也使得代码更易于维护,因为登录逻辑与具体业务Action分离,遵循了单一...
### Struts2 拦截器与验证框架详解 #### 一、Struts2概述 Struts2是一个基于Java的企业级Web应用开发框架,它继承了Struts1的优点,并在此基础上进行了很多改进,使得开发更加灵活高效。Struts2的核心是拦截器...
在Struts2中,拦截器是基于Java的动态代理机制实现的,它们按照预定义的顺序对Action调用进行拦截,执行特定的任务。登录拦截器通常用于验证用户是否已登录,如果未登录,将重定向到登录页面。 配置登录拦截器主要...
总的来说,Struts2自定义拦截器为开发者提供了灵活的扩展能力,可以方便地处理各种预处理和后处理任务,提高代码复用性,使应用更加健壮。理解并熟练掌握自定义拦截器的创建和配置,是深入学习和使用Struts2框架的...
这篇博客“struts2 拦截器实现登录控制”显然会探讨如何利用拦截器来实现用户登录验证,从而保护应用程序的受保护资源。 首先,我们了解下Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念,它位于...
2. **配置拦截器**:在Struts2的配置文件(通常为`struts.xml`或`struts.properties`)中,你需要注册这个拦截器,并可以指定它应该在哪个Action或所有Action上运行。 ```xml <!-- 可能还有其他预定义的...
### Struts 2 过滤器与拦截器的深入解析 #### 一、概述 在Struts 2框架中,过滤器(Filter)和拦截器(Interceptor)都是用于处理请求的关键组件,但它们之间存在本质的区别。正确理解这些差异有助于开发者更高效地...
### Struts2拦截器实例——登录校验 #### 概述 在Web应用开发中,登录验证是一项重要的功能。为了确保只有已登录的用户才能访问特定的资源或页面,通常会采用拦截器来实现这一需求。本文档将详细介绍如何在Struts2...
拦截器是Struts2框架的一个核心特性,用于在Action执行前后进行额外的处理,比如日志记录、权限验证、性能监控等。在本案例中,我们将深入探讨如何在Struts2中自定义拦截器来实现用户非法登录的验证。 一、Struts2...