`
johnson2132
  • 浏览: 27452 次
  • 性别: Icon_minigender_1
  • 来自: 潍坊
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2 拦截器的使用(继承抽象拦截器)

阅读更多
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class ExampleInterceptor extends AbstractInterceptor {

	//重写抽象拦截器的拦截方法
	@Override
	public String intercept(ActionInvocation arg0) throws Exception {
		System.out.println("start invoking2...");
		String result =arg0.invoke();
		System.out.println("end invoking2...");
		return result;
	}
}

 

<struts>
	<!-- Action所在包定义 -->
	<package name="C04.3.2" extends="struts-default">
	<!-- 拦截器配置定义 -->
		<interceptors>
			<interceptor name="example"
				class="com.example.struts.interceptor.ExampleInterceptor">
			</interceptor>
			<!--  
				拦截器栈配置定义
				<interceptor-stack name="exampleStack">
				<interceptor-ref name="example"></interceptor-ref>
				<interceptor-ref name="defaultStack"></interceptor-ref>
				</interceptor-stack>
			-->
		</interceptors>
		<action name="Login"
			class="com.example.struts.action.LoginAction">
			<result name="input">/jsp/login.jsp</result>
			<result name="success">/jsp/success.jsp</result>
			<!-- Action拦截器配置定义 -->
			<interceptor-ref name="example"></interceptor-ref>
			<!-- Action拦截器栈配置定义 -->
			<interceptor-ref name="defaultStack"></interceptor-ref>
		</action>
	</package>
</struts>

 

struts.xml配置文件中,在<Action>前还是定义名为“example”的拦截器。在<Action>中,配置“example”拦截器。

注意:在<Action>中还配置了“defaultStack”拦截器栈,这是因为如果在<Action>中不配置该拦截器栈,则Login.action运行时候只会执行配置的“example”拦截器,不会执行“defaultStack”拦截器栈。而且“defaultStack”是Struts2配置的缺省拦截器栈,在struts-default.xml中定义的拦截器都是由它来调用执行。Struts2规定如果在<Action>,开发人员配置了自己定义的拦截器或拦截器栈,不显式在struts.xml配置文件中配置“defaultStack”拦截器栈,则所有struts-default.xml中定义的拦截器都不会执行即不执行“defaultStack”拦截器栈。当然如果在<Action>中开发人员没有配置自己定义的拦截器或拦截器栈,就算不显示配置“defaultStack”拦截器栈,则“defaultStack”拦截器栈是会执行的。

 

0
2
分享到:
评论

相关推荐

    创建自己struts2拦截器

    Struts2中的拦截器是一个实现了`Interceptor`接口或者继承了`AbstractInterceptor`抽象类的Java类。当一个请求到达时,Struts2会按照配置的拦截器栈顺序逐个调用这些拦截器,然后执行Action,最后再按逆序返回。...

    浅谈Struts2拦截器的原理与实现.docx

    Struts2还提供了一些抽象类如`AbstractInterceptor`和`MethodFilterInterceptor`,简化了拦截器的实现过程,例如`MethodFilterInterceptor`允许开发者指定要过滤的Action方法。 4. **定义拦截器示例** 下面是一个...

    Struts2的拦截器的使用详解

    本文将深入探讨Struts2的拦截器使用,结合实例和源码分析,帮助你更好地理解和运用这一特性。 一、拦截器的概念与作用 拦截器是Struts2框架的核心组件之一,它是在动作执行前后插入的一段代码,能够对请求进行...

    struts2.X 拦截器源码

    具体来说,Struts2的拦截器是通过实现`Interceptor`接口或者继承`AbstractInterceptor`抽象类来创建的。核心方法是`intercept()`,该方法接收一个`ActionInvocation`对象作为参数,这个对象封装了当前请求的信息,...

    12 struts2拦截器

    在Struts2中,创建一个拦截器非常简单,只需要实现`Interceptor`接口或者继承`AbstractInterceptor`抽象类。通常,我们会选择继承`AbstractInterceptor`,因为它提供了一些基本的方法和属性。然后在`intercept()`...

    Struts2的拦截器——Struts2拦截器的基础知识.pptx

    - 在Struts2中,拦截器的使用通过配置文件`struts.xml`进行。你可以添加、删除或调整拦截器的执行顺序,只需在配置文件中指定即可。这种可插拔式设计使得开发者可以根据需求自由定制拦截器链。 4. **内置拦截器**...

    struts2实现拦截器、

    1. **创建拦截器类**:继承`org.apache.struts2.interceptor.Interceptor`抽象类或实现`com.opensymphony.xwork2.interceptor.Interceptor`接口。在类中重写`intercept()`方法,这里我们将进行权限检查。 ```java ...

    struts2拦截器举例

    开发者可以通过实现Struts2的`Interceptor`接口或者继承`AbstractInterceptor`抽象类来创建自定义拦截器。然后在struts.xml配置文件中声明拦截器并指定其在拦截器栈中的位置。 4. 配置拦截器: 在Struts2的配置...

    Struts2拦截器详解源码

    Struts2中的拦截器需要实现`Interceptor`接口,但大部分情况下我们会继承`AbstractInterceptor`抽象类来简化实现。`AbstractInterceptor`提供了一个空的初始化`init()`和销毁`destroy()`方法,以及一个抽象的`...

    struts2拦截器_动力节点Java学院整理

    - **创建拦截器类**:实现`Interceptor`接口或继承`AbstractInterceptor`抽象类。需要覆盖`init()`、`destroy()`和`intercept()`这三个方法。`init()`在拦截器实例化后调用,用于初始化;`destroy()`在拦截器销毁前...

    struts2拦截器.rar

    在Struts2中,拦截器是实现了`Interceptor`接口或者继承了`AbstractInterceptor`抽象类的类。 2. 拦截器栈:Struts2中的拦截器不是单独工作的,而是按照特定顺序组成的“拦截器栈”。每个拦截器都可以在调用下一个...

    struts2拦截器详解 带demo

    Struts2 拦截器详解 Struts2 框架中的拦截器(Interceptor)是一种强大的机制,它允许开发者在Action执行前后插入自定义的行为,增强了...通过理解并熟练使用拦截器,可以极大地提高Struts2应用的灵活性和可维护性。

    struts2的自定义拦截器例子

    在这个"struts2的自定义拦截器例子"中,我们将深入探讨如何创建和使用自定义拦截器。 首先,拦截器的本质是Java的面向切面编程(AOP)思想在Struts2中的体现。它们允许开发者在动作执行前后插入自定义的逻辑,例如...

    Struts2之拦截器原理分析及使用案例struts008

    在Struts2中,拦截器需要实现`Interceptor`接口或继承`AbstractInterceptor`抽象类。`intercept`方法是拦截器的核心,它接收一个`ActionInvocation`对象,该对象包含了当前Action的上下文信息。 ```java public ...

    Struts 2的拦截器

    2. **配置拦截器**: 在Struts2的配置文件(如`struts.xml`或`struts-default.xml`)中,使用`&lt;interceptors&gt;`标签定义拦截器,`&lt;interceptor&gt;`标签定义单个拦截器,通过`name`属性指定拦截器名,`class`属性指定拦截...

    struts2的一个自定义拦截器小例子

    创建自定义拦截器的第一步是定义一个类,该类需要实现`Interceptor`接口或者继承`AbstractInterceptor`抽象类。在这个例子中,我们可能会创建一个名为`CustomInterceptor`的类,并覆盖`intercept()`方法。这个方法会...

    struts2 日志拦截器

    在本篇文章中,我们将深入探讨Struts2的日志拦截器,以及如何使用`LoginfoInterceptor.java`来实现自定义的日志拦截。 首先,让我们了解什么是拦截器。在Struts2中,拦截器是基于AOP(面向切面编程)的概念,它们是...

    Struts2简单的拦截器示例

    在Struts2中,拦截器是一个实现了`Interceptor`接口或者继承自`AbstractInterceptor`抽象类的Java类。它们通过`com.opensymphony.xwork2.interceptor.Interceptor`接口中的三个方法——`intercept()`、`destroy()`和...

    struts2 trim拦截器 过滤首尾空格

    Struts2 Trim拦截器过滤首尾空格 Struts2框架提供了拦截器机制,可以在Action执行前后执行某些操作,以满足特定的需求。TrimInterceptor就是一个这样的拦截器,它的主要功能是过滤请求数据的首尾空格。 ...

Global site tag (gtag.js) - Google Analytics