- 浏览: 990294 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
Struts2的拦截器:
一,拦截器的使用:
新建一个MyInterceptor拦截器类,实现com.opensymphony.xwork2.ActionInvocation接口中。
public class MyInterceptor implements Interceptor {
/**
* 由xml中可以提定Action中的参数值
*/
private String myparam;
public String getMyparam() {
return myparam;
}
public void setMyparam(String myparam) {
this.myparam = myparam;
}
public void destroy() {
System.out.println("服务器关闭执行销毁操作!");
}
public void init() {
System.out.println("服务器启动时执行初始化操作!");
}
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println(myparam);
/**
* 执行之前的操作
*/
String result = invocation.invoke();
/**
* 执行之后操作
*/
return result;
}
}
二,在strust.xml中配置拦截器
` <struts>
<package name="mengya" extends="struts-default">
<!-- 拦截器在struts2中的配置 -->
<interceptors>
<interceptor name="myInterceptor"
class="com.mengya.interceptor.MyInterceptor">
<!-- param可以没有,向拦截器中的属性赋值 -->
<param name="myparam">mengya</param>
</interceptor>
<!-- 配置自己的拦截器栈 -->
<interceptor-stack name="myStack">
<interceptor-ref name="myInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!--
为该package指定一个默认的拦截器栈,这样就可以不用为每个action指定一拦截器栈
-->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
<!--
郑重说明
当某个action中引用了某了interceptor之后就替换了原用的一个默认interceptor
即defaultStack,页defaultStack包含了很多完成sturs2一些基本功能的拦截器。
故当某个action中引用了某了interceptor之后还要引用defaultStack这个拦截器栈。
-->
<action name="login" class="com.mengya.action.LoginAction">
<result name="success">/show.jsp</result>
<result name="input">/index.jsp</result>
<!--
<interceptor-ref name="myInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
-->
<!--
也可以在action中引用自己的拦截器栈
-->
<!--
<interceptor-ref name="myStack"></interceptor-ref>
-->
</action>
</package>
</struts>
三,对于Struts2中拦截器栈里的拦载器执行的顺序:
Struts2中的拦截器中的拦截器最上面的最先执行,即进入拦截器的顺序是按照拦截栈中配置的顺序,出拦截器
是先配置的后执行,即与进入拦载器的顺序相反。
四,Struts2的拦截器除了实现ActionInvocation接口外还可以继承com.opensymphony.xwork2.interceptor.AbstractInterceptor
AbstractInterceptor抽象器实现了ActionInvocation接口,空实现了init和destroy方法。因此继承了AbstractInterceptor类我们只需重写它的intercept即可。
五, Struts2的方法过滤拦截器:
1,继承com.opensymphony.xwork2.interceptor.MethodFilterInterceptor类重写doIntercept方法
2,方法过滤拦截器的配置:
<interceptors>
<!-- 声明方法过滤拦截器 -->
<interceptor name="myMethodFilterInterceptor" class="com.mengya.interceptor.MyMethodFilterInterceptor"></interceptor>
</interceptors>
<!-- 在action配置方法过滤拦截器 -->
<action name="login" class="com.mengya.action.LoginAction">
<result name="success">/show.jsp</result>
<result name="input">/index.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="myMethodFilterInterceptor">
<!-- 不拦截的方法,即,号隔开 -->
<param name="excludeMethods">execute,test</param>
<!-- 要拦截的方法,即,号隔开 -->
<param name="includeMethods">execute</param>
</interceptor-ref>
</action>
3,说明:若某个方法同时出现在excludeMethods(不拦截的方法)和includeMethods(要拦截的方法)当中时
那么这个方法会被拦截。除它情况下excludeMethods里面的方法不拦截,includeMethods里面的方法会被拦截。
- Struts2_7.rar (3.6 MB)
- 描述: Struts2的拦截器的使用详解实例
- 下载次数: 56
发表评论
-
Struts2 + JasperReport应用二:jasperReport Web形式打印
2010-02-02 16:16 5270将jasperReport设计文件和编译文件放到webRoot ... -
Struts2 + JasperReport应用一:导PDF,Excel,HTML显示
2010-01-29 16:34 9883我用的是struts2.1.6,从struts2的自带的dem ... -
Struts2 标签使用简介
2009-12-23 19:33 2661web.xml配置如下: <fil ... -
Struts2 的OGNL使用简介
2009-12-22 13:25 2357<div align="center" ... -
POI与Struts2的使用 poi-2.5.1.jar
2009-09-25 17:43 4889一.POI 简介 Jakarta POI 是apache的子项 ... -
jFreeChart与Struts2的组合,将jFreeChart作为显示视图
2009-09-25 16:26 1484jFreeChart与Struts2的组合: 一,加 ... -
Struts2与Spring2.0的组合
2009-09-09 09:46 1054Struts2与Spring的集成: 一,加入Str ... -
Struts2的异常处理
2009-09-07 13:41 1384Struts2的异常处理: 1,定义自己的异常信息类:继承Ex ... -
Struts2.0深入学习 Strust2与Servlet API,Action多方法调用,result标签的type的类型
2009-09-06 11:08 4442Struts2深入探索: 1,package中的ab ... -
Struts2.0深入学习 命名空间,模型驱动,表单重复提交
2009-09-06 11:04 1883Struts2深入探索: 1,package中的ab ... -
Struts2国际化详解
2009-09-03 15:32 2723Struts2国际化: 1,国际 ... -
Struts2文件下载
2009-09-02 20:09 10611Struts2文件下载: Struts2文件下载对应将一个In ... -
设置Struts2文件上传的类型和大小
2009-09-02 20:09 5227设置Struts2文件上传的类型和大小: 在struts. ... -
Struts2多文件上传
2009-09-02 20:08 2461Struts2多文件上传: 在Action中配置三个属性: p ... -
Struts2文件上传详解
2009-08-31 17:27 2397Struts2文件上传: 一:请选参看Struts2_9中的S ... -
Struts2.0文件上传原理
2009-08-31 13:12 3068Struts2文件上传默认采用apache的文件上传的包,新建 ... -
Struts2的监听器的使用
2009-08-25 19:02 2534Struts2的监听器: 一,建立监听器: ... -
Struts2拦截器原理分析
2009-08-25 18:55 2382第一步:创建目标对象的接口 /** * 目标对象的接口 ... -
Struts2的检证框架详解
2009-08-25 13:00 2455Struts2的检证框架: 一,根据字段校验(为每一 ... -
Struts2的Action多个方法配置和验证
2009-08-18 20:16 4795Struts2的Action多个方法配置和验证: 1 ...
相关推荐
这篇文章将深入探讨Struts2拦截器的概念、工作原理以及如何在实际应用中使用它们。 **一、什么是Struts2拦截器** 拦截器是基于AOP(面向切面编程)思想的组件,它可以理解为在Action调用前后插入的逻辑处理。在...
### Struts2拦截器详解 #### 一、Struts2拦截器概述 Struts2框架作为Java Web开发中的一种流行框架,其核心组件之一便是**拦截器**。拦截器不仅在Struts2中扮演着重要角色,更是整个框架灵活性与扩展性的基石。...
Struts2 拦截器(Interceptor)是框架的核心组件之一,它允许开发者在Action执行前后插入自定义的处理逻辑,极大地增强了应用的灵活性和可维护性。与Servlet规范中的Filter相比,虽然两者都用于处理请求,但拦截器在...
Struts2 拦截器详解 Struts2 框架中的拦截器(Interceptor)是一种强大的机制,它允许开发者在Action执行前后插入自定义的行为,增强了应用的灵活性和可扩展性。拦截器是基于Java的动态AOP(面向切面编程)实现,...
### Struts2 拦截器与验证框架详解 #### 一、Struts2概述 Struts2是一个基于Java的企业级Web应用开发框架,它继承了Struts1的优点,并在此基础上进行了很多改进,使得开发更加灵活高效。Struts2的核心是拦截器...
### Struts2拦截器的使用 #### 一、概述 Struts2框架是基于MVC设计模式的一个开源框架,它提供了强大的功能来帮助开发者构建Web应用程序。在Struts2中,拦截器是一种非常重要的机制,它可以在Action执行前后进行...
Struts2拦截器机制详解 Struts2拦截器机制是Struts2框架的核心组件之一,它主要负责拦截和处理Action请求。拦截器机制的作用是相当大的,在Struts2中几乎70%的工作都是由拦截器完成的。拦截器机制可以实现各种功能...
### Struts2 Interceptor 拦截器详解 #### 一、概述 在现代Web开发中,特别是基于Java的Web应用程序开发中,Struts2框架因其简洁性和强大的扩展能力而备受青睐。Struts2框架的核心设计理念之一是MVC(Model-View-...
### Struts2拦截器详解 #### 一、拦截器的概念与意义 拦截器(Interceptor)在Struts2框架中扮演着至关重要的角色。它的工作原理类似于过滤器(Filter),能够拦截用户请求,并对其进行预处理或者后处理。拦截器...
5. **核心拦截器详解**: - `params`:处理请求参数,将请求参数绑定到Action的属性上。 - `i18n`:处理国际化,根据用户浏览器设置的语言加载资源文件。 - `exception`:处理Action执行过程中的异常。 - `...
### Struts2拦截器实例——登录校验 #### 概述 在Web应用开发中,登录验证是一项重要的功能。为了确保只有已登录的用户才能访问特定的资源或页面,通常会采用拦截器来实现这一需求。本文档将详细介绍如何在Struts2...
### Struts2.0拦截器详解 #### 一、拦截器概述 在Struts2框架中,拦截器(interceptor)是一种非常重要的机制,用于在执行Action前后进行一系列预处理或后处理的操作。拦截器可以用来执行如参数拦截、类型转换、输入...
"Struts2 中 Struts.xml 配置文件详解" Struts2 中的 Struts.xml 配置文件是 Struts2 框架的核心配置文件,用于定义应用程序的行为和结构。在 Struts.xml 文件中,我们可以定义 package、action、interceptor、...
常用内置拦截器详解 ##### 2.1 Exception 此拦截器用于捕获Action执行过程中发生的异常,并将异常信息转发到指定的结果页面。当某个Action抛出异常时,如果配置了此拦截器,则会跳转到配置的错误页面,通常用于显示...
在`struts.xml`配置文件中,可以使用`<interceptors>`标签定义拦截器栈,然后使用`<interceptor>`标签定义具体的拦截器。例如,以下配置创建了一个包含日志拦截器和权限检查拦截器的拦截器栈: ```xml ...
Struts2基于WebWork,这意味着它引入了拦截器、结果类型等概念,提供更灵活的控制流。 #### 三、创建Struts2项目 按照Struts1.x的程序开发步骤,我们可以逐一对应到Struts2中: 1. **安装Struts2:** - 不同于...
### Struts2的拦截器详解 #### 概述 在Java Web开发中,Struts2框架因其灵活性和扩展性而受到广泛欢迎。其中,拦截器(Interceptor)是Struts2框架的一个核心特性,用于处理Action的公共行为,类似于Spring框架中...
#### 二、内置拦截器详解 1. **Auto-Wiring (自动装配)** - **简介**:此拦截器用于自动装配Struts2与Spring集成时所需的Bean。当Struts2与Spring框架集成时,可以通过该拦截器实现依赖注入,从而避免手动配置...