实例一:防止表单重复提交
防止重复提交:有两种方法:一是使用token拦截器,二是使用tokenSession
第一种方法步骤:
1、 先在页面中放一个令牌。调用Struts标签,服务器自动分派。<s:token></s:token>
2、 在struts.xml文件定义token拦截器。
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
3、 在struts.xml文件配置有重复提交的错误页面,即:
<result name="invalid.token">/repeatSubmitError.jsp</result>
第二种方法基本与第一种方法基本相同,只不用配置重复提交的错误页面,如果发生重复提交,返回success。
实例二:PreResultInteceptor
这个功能是在Action返回到result时执行。
拦截器 --> Action --> Result --> 拦截器
实现步骤:
1、 定义一个类实现PreResultListener接口,实现beforeResult方法
public class TestPreResultInteceptor implements PreResultListener {
public void beforeResult(ActionInvocation arg0, String arg1) {
System.out.println("在结果集返回之前执行了beforeResult方法");
}
}
2、 自定义一个拦截器与上面定义类进行绑定。
public class TestInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
invocation.addPreResultListener(new TestPreResultInteceptor());
System.out.println("在action执行execute方法之前执行进行拦截");
String result = invocation.invoke();
System.out.println("在action执行execute方法之后执行进行拦截");
return result;
}
}
分享到:
相关推荐
### 二、单个Action配置拦截器实例 1. **创建拦截器**:首先,我们需要创建一个实现了`Interceptor`接口的类,并覆写`intercept()`方法。 2. **配置拦截器**:在`struts.xml`配置文件中,为特定的Action添加拦截器...
在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合Servlet Filter进一步加强安全性。 首先,让我们理解Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念设计的,它们...
总结,Struts2拦截器是其核心机制之一,它允许开发者以模块化的方式添加额外的功能,提高代码的可复用性和可维护性。通过自定义拦截器和合理配置,我们可以实现诸如日志记录、事务管理、权限验证等多种业务需求,...
Struts2.X 拦截器是Apache Struts框架的核心组件之一,它是基于拦截器模式实现的,使得开发者能够方便地扩展和定制应用程序的行为。在Struts2中,拦截器扮演着中间件的角色,它在Action执行前后进行处理,可以进行如...
### Struts2拦截器实例——登录校验 #### 概述 在Web应用开发中,登录验证是一项重要的功能。为了确保只有已登录的用户才能访问特定的资源或页面,通常会采用拦截器来实现这一需求。本文档将详细介绍如何在Struts2...
通过`<interceptors>`标签定义拦截器栈,然后使用`<interceptor>`子标签创建拦截器实例。 - 使用`<interceptor-ref>`标签引用已定义的拦截器,并通过`name`属性指定。 - 使用`<default-interceptor-ref>`定义默认...
Struts2 框架是Java Web开发中广泛使用的MVC框架之一,它极大地简化了企业级应用的构建。在Struts2中,拦截器(Interceptor)是一个至关重要的概念,它提供了一种灵活的方式来增强或修改请求处理流程,而无需侵入...
拦截器实例通常是线程安全的,因此对于多线程环境,Struts2会为每个请求创建新的ActionInvocation实例,但拦截器实例是共享的。 **6. 文件98struts201** 根据提供的文件名"98struts201",这可能是指一个包含Struts2...
- `init()` 方法在拦截器实例创建后立即调用,可以用来进行初始化操作。 - `intercept()` 方法是拦截器的核心方法,负责具体的业务逻辑处理。如果需要调用后续的Action或拦截器,可以通过调用`ActionInvocation....
Struts2是一个强大的Java web应用程序...这个例子展示了如何创建一个简单的拦截器并在Struts2应用中使用它。实践中,拦截器可以用于处理诸如用户登录验证、性能监控等多种场景,极大地提高了代码的复用性和可维护性。
7. `ActionInvocationInterceptor`: 这是Struts2框架内部使用的拦截器,用于实际调用Action的execute方法。 8. `ResultInterceptor`: 在Action执行完成后,这个拦截器会处理返回的结果,如渲染视图、跳转到其他页面...
Struts2框架作为Java Web开发中的一种流行框架,其核心组件之一便是**拦截器**。拦截器不仅在Struts2中扮演着重要角色,更是整个框架灵活性与扩展性的基石。本文将深入探讨Struts2拦截器的基本概念、工作原理以及其...
首先,理解拦截器的定义:拦截器是AOP(面向切面编程)的一个概念,在Struts2中,拦截器是基于Java的动态代理机制实现的。它们是一系列实现了`Interceptor`接口的类,可以在Action执行前后插入额外的行为。这些行为...
在Struts2框架中,拦截器扮演着非常重要的角色,它们是实现业务逻辑、数据验证和增强功能的核心组件。下面将详细介绍Struts2拦截器的概念、配置、工作原理以及实际应用。 **一、Struts2拦截器概念** 在Struts2框架...
本实例主要关注的是如何使用Struts2拦截器进行权限判断。 首先,我们需要理解Struts2拦截器的工作原理。拦截器是基于Java的动态代理机制实现的,它按照配置的顺序对请求进行拦截,执行相应的处理,并最终将控制权...
在文章"Struts2拦截器原理分析实例"中,作者通过一个具体的应用场景,展示了如何配置和使用拦截器来实现特定的功能,比如日志记录或权限验证。通过阅读这篇博客,我们可以更直观地理解拦截器的工作方式和价值。 ...
本文将深入探讨Struts2的拦截器使用,结合实例和源码分析,帮助你更好地理解和运用这一特性。 一、拦截器的概念与作用 拦截器是Struts2框架的核心组件之一,它是在动作执行前后插入的一段代码,能够对请求进行...
拦截器是Struts2的核心组件之一,它们在Action调用前后执行,提供了诸如日志、事务管理、性能监控等附加功能。这篇博客文章“struts2 拦截器的使用(继承抽象拦截器)”探讨了如何通过继承Struts2的抽象拦截器来创建...
总之,"struts2自定义类型转换、拦截器实例练习"将引导你通过实际操作掌握Struts2的核心功能,加深对MVC模式的理解,提高你在Java web开发中的技能水平。在完成这个实例后,你将具备使用Struts2框架构建复杂应用程序...