struts自定义拦截器配置

配置自己的拦截器可以先参照下系统的拦截器是怎么配置的,首先打开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>

时间: 2025-01-01 17:32:35

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

struts自定义拦截器

第01步:配置web.xml,启动struts框架 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca

struts自定义拦截器--登录权限控制

说明:该自定义的拦截器实现用户登录的权限控制. login.jsp--->LoginAction--重定向-->MainAction--->main.jsp 一.1.总体的步骤: (1).定义拦截器类.LoginInterceptor(完成登录拦截) 方式1:实现com.opensymphony.xwork2.interceptor.Interceptor接口并覆写方法. 方式2:继承com.opensymphony.xwork2.interceptor.AbstractIntercep

Struts之 拦截器配置 ( Interceptor )

拦截器运行我们在执行前后插入代码执行.Struts2中的拦截器是一个强有力的工具,他可以为action动态添加输入验证(验证用户的输入是否正确). 对象组装(将用户输入的数据转换为对象的属性).权限控制(确保访问中是登录用户).日志记录(记录action的执行情况)等功能,而不需要修改action. 要为action配置引用的拦截器,首先乣在interceptors元素中使用interceptor元素定义拦截器,然后在action元素中使用interceptor-ref元素指定引用的拦截器.in

struts之拦截器

拦截器是为了让一些自己不希望发生的事情进行预防,下面我说一下struts自定义拦截器. 下面我贴下struts.xml里的自己定义的拦截器: <package name="my" extends="struts-default"> <interceptors> <interceptor name="myInterceptor" class="util.MyInterceptor" /> &l

struts登录案例和自定义拦截器

struts登录案例:struts.xml<struts> <constant name="struts.devMode" value="true" /> <constant name="struts.custom.i18n.resources" value="messages"></constant> <package name="basic" ext

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

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

Struts学习之自定义拦截器

* 所有的拦截器都需要实现Interceptor接口或者继承Interceptor接口的扩展实现类    * 要重写init().intercept().destroy()方法        * init()是在struts2框架运行时执行,在拦截器的生命周期中只执行一次,可以做必要的内容的初始化工作        * intercept(),是每一次请求就执行一次,做相关处理工作.            * intercept()方法接收一个ActionInvocation接口的实例     

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

struts框架中也存在拦截器,只不过系统自动调用.框架自带的拦截器的配置文件所在的位置为: java Resources--->Libraries--->struts2-core-2.3.36.jar(核心包)--->struts-default.xml 这个配置文件中放置的是框架所有的拦截器,拦截器放置在拦截器栈中<interceptor-stack>.在配置文件中有一个基本拦截器栈,我们如果需要使用拦截器的时候,调用基本拦截器就可以了. 如果我们想要实现自己定义的功能,

struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)

一.web.xml配置 <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-val