配置自己的拦截器可以先参照下系统的拦截器是怎么配置的,首先打开struts-default.xml搜索下interceptor;系统里的拦截器有很多,拦截器都是放在堆栈里的,系统引用的是默认堆栈, <interceptor-stack name="defaultStack">;

struts2.3版本下的默认堆栈里放有19个拦截器。我们随便找一个系统拦截器,找到那个类点进去,可以看到,系统的拦截器都继承自AbstractInterceptor,知道这些,那么我们可以自己创建一个自己的拦截器了:如

package cn.jbit.Iterceptor;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class MyInterceptor extends AbstractInterceptor {

private static final long serialVersionUID = 1L;

@Override

public String intercept(ActionInvocation invoc) throws Exception {

long begin=System.currentTimeMillis();

System.out.println("开始时间为:"+begin);

//拦截器和过滤器相似,都是一个链,都得有一个放行的方法,不然就没法继续进行了

String result=invoc.invoke();

//拦截器返回的结果是携带action的返回结果

System.out.println("结果为:"+result);

long end =System.currentTimeMillis();

System.out.println("结束时间为:"+end);

System.out.println("时间差为:"+(end-begin));

return result;

}

}

最后在struts.xml配置文件里的packge里加入(切记放置顺序,拦截器要放在action标签的上面):

<!-- 自己手动配置的拦截器 -->

<interceptors>

<!-- 自己的拦截器 -->

<interceptor name="myinter" class="cn.jbit.Iterceptor.MyInterceptor"></interceptor>

<!-- 把拦截器放进自己的堆栈中 -->

<interceptor-stack name="mystack">

<!-- 自己的堆栈首先引用自己的拦截器 -->

<interceptor-ref name="myinter"></interceptor-ref>

<!-- 自己的堆栈再加上系统配好的19个拦截器 -->

<interceptor-ref name="defaultStack"></interceptor-ref>

</interceptor-stack>

</interceptors>

<!-- 默认引用自己的堆栈拦截器 -->

<default-interceptor-ref name="mystack"></default-interceptor-ref>

struts自定义拦截器配置的更多相关文章

  1. struts自定义拦截器

    第01步:配置web.xml,启动struts框架 <?xml version="1.0" encoding="UTF-8"?> <web-a ...

  2. 2018.12.17 struts.xml 配置自定义拦截器配置

    自定义拦截器有三个步骤哦 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PU ...

  3. Struts自定义拦截器&拦截器工作原理

    0.拦截器的调用原理: 拦截器是一个继承了序列化接口的普通接口.其工作原理是讲需要被拦截的对象作为参数传到intercept()方法内,在方法内部对此对象进行处理之后再执行原方法.intercept( ...

  4. JavaWeb -- Struts 自定义拦截器, 登录权限拦截

    1. 自定义拦截器, 登录权限拦截 login.jsp 登录JSP <%@ page language="java" contentType="text/html; ...

  5. struts自定义拦截器实现

    示例 添加新功能:只有是登录的状态访问hello_loginSuccess才会显示登录成功. index.jsp登录成功页面 test.jsp登录页面 一.修改原代码实现 1.登录后将登录信息添加到S ...

  6. Struts之 拦截器配置 ( Interceptor )

    struts2体系结构的核心就是拦截器. 以链式执行,对真正要执行的方法(execute())进行拦截.首先执行Action配置的拦截器,在Action和Result执行之后,拦截器再一次执行(与先前 ...

  7. [原创]java WEB学习笔记74:Struts2 学习之路--自定义拦截器,struts内建的拦截器

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. Struts学习之自定义拦截器

    * 所有的拦截器都需要实现Interceptor接口或者继承Interceptor接口的扩展实现类    * 要重写init().intercept().destroy()方法        * in ...

  9. struts2框架之自定义拦截器和配置

    struts框架中也存在拦截器,只不过系统自动调用.框架自带的拦截器的配置文件所在的位置为: java Resources--->Libraries--->struts2-core-2.3 ...

随机推荐

  1. UUID

    首先我们要知道UUID是什么?有什么用?为什么要使用它? UUID是什么? UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定.如此一来,每个 ...

  2. NGUI实现技能CD效果

    在NGUI中使用Sprite的遮罩效果可以很轻松的实现技能CD效果. 具体实现步骤: ①新建一个技能图标的Sprite 如图中的Skill001,再在该技能Sprite上添加一个Sprite做遮罩, ...

  3. partnerv2.1

    2.1.实时获取产品价格(action=queryprice) 请求 { "useDate": "2016-04-05T19:56", //开始用车时间(当地时 ...

  4. 使用MyBatis对表执行CRUD操作

    一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...

  5. windows核心编程 - 线程同步机制

    线程同步机制 常用的线程同步机制有很多种,主要分为用户模式和内核对象两类:其中 用户模式包括:原子操作.关键代码段 内核对象包括:时间内核对象(Event).等待定时器内核对象(WaitableTim ...

  6. spring bean的重新加载

    架构体系 在谈spring bean的重新加载前,首先我们来看看spring ioc容器. spring ioc容器主要功能是完成对bean的创建.依赖注入和管理等功能,而这些功能的实现是有下面几个组 ...

  7. Yii2 关闭和打开csrf 验证 防止表单多次重复提交

    原文地址:http://blog.csdn.net/terry_water/article/details/52221007 1.在Yii2配置中配置所有:所有的controller都将关闭csrf验 ...

  8. 【LINUX】VI相关命令

    任何用户最常做的事要数创建和编辑文件,包括文档.报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复杂的指令, ...

  9. 常用数据存储集合与Map

    一.常见的数据存储实现 二.遍历 1.集合 新循环 迭代器    Iterator Iterator<?> it = C.iterator(); // 问.取.删 it.hasNext() ...

  10. html5 app开发,你知道多少?

    随着大量新生移动设备的兴起,改变了互联网的未来,html5技术为开发者提供了一个跨平台的移动app开发方案,并且该方案具有很好的扩展性和灵活性,但就国内使用html5开发app应用技术来讲,还是有欠缺 ...