struts2自定义拦截器并配置拦截器使其生效
首先编写一个struts2的拦截器,要继承 MethodFilterInterceptor
并获取其中的方法
package star.july.d_interceptor;import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;//自定义一个拦截器
public class Interceptor extends MethodFilterInterceptor{@Overrideprotected String doIntercept(ActionInvocation invocation) throws Exception {//拦截器的方法//获得代理对象ActionProxy proxy = invocation.getProxy();System.out.println(proxy);//获取被代理对象actionObject action = proxy.getAction();System.out.println(action);//获取action的名称String actionName = proxy.getActionName();System.out.println(actionName);//获得方法String method = proxy.getMethod();System.out.println(method);//获取命名空间String namespace = proxy.getNamespace();System.out.println(namespace);//配置System.out.println(proxy.getConfig());//执行结果System.out.println(proxy.getExecuteResult());//调用System.out.println(proxy.getInvocation());System.out.println("1、在action之前");//放行invocation.invoke();System.out.println("3、在action之后");return null;}}
再在struts.xml中配置该拦截器使其生效:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="interceptor" namespace="/interceptor" extends="struts-default"><interceptors><!-- 为自己创建的拦截器配置 --><interceptor name="myinterceptor" class="star.july.d_interceptor.Interceptor" ></interceptor><interceptor-stack name="mystack"><interceptor-ref name="myinterceptor"></interceptor-ref><!-- 默认的拦截器 --><interceptor-ref name="defaultStack"></interceptor-ref></interceptor-stack></interceptors><action name="inter_*" class="star.july.d_interceptor.TypesAction" method="{1}"><!-- 引用拦截器栈 --><interceptor-ref name="mystack"></interceptor-ref><result name="success">/property.jsp</result></action></package></struts>
struts2自定义拦截器并配置拦截器使其生效相关推荐
- java过滤器的执行顺序_Java Filter过滤器(拦截路径的配置+拦截方式的配置+生命周期+多个过滤器的先后执行顺序)...
Java Filter过滤器+Listen监听器 啥是过滤器 顾名思义即过滤掉一些东西,比如我们经历的高考中考都是过滤器,他过滤掉一些在学习这一方面不是很好的人,而那些成绩好的人则升入高中,大学. 但 ...
- 【Java EE (Struts2 + Spring + Hibernate)开发】:Struts2(二)之【拦截器机制】
[Java EE (Struts2 + Spring + Hibernate)开发]:Struts2(二)之[拦截器机制] 本文地址:http://blog.csdn.net/shanglianlm/ ...
- Struts2 自定义拦截器(方法拦截器)
转自:http://05061107cm.iteye.com/blog/365504 struts2系统自带了很多拦截器,有时需要我们自己定义,一般有两种方式: 一.实现Interceptor接口 J ...
- Struts2入门(二)——配置拦截器
一.前言 之前便了解过,Struts 2的核心控制器是一个Filter过滤器,负责拦截所有的用户请求,当用户请求发送过来时,会去检测struts.xml是否存在这个action,如果存在,服务器便会自 ...
- Struts2自定义拦截器
1. 需求 自定义拦截器实现,用户登录的访问控制. 2. 定义拦截器类 1 public class LoginInterceptor extends AbstractInterceptor 2 { ...
- Struts2 自定义拦截器
所属栏目:AbstractInterceptor 如果要编写自定义拦截器,那么可以只用实现com.opensymphony.xwork2.interceptor.Interceptor这个接口即可. ...
- struts2自定义拦截器(登陆校验拦截器)
需求:有些页面需要先登录才可以访问,如果没有登陆就跳转到login.jsp去登陆 此案例为访问login方法的时候不拦截,只有把user放到session中才可以访问别的方法 web.xml 配置拦截 ...
- Struts2第七篇【介绍拦截器、自定义拦截器、执行流程、应用】
什么是拦截器 拦截器Interceptor-..拦截器是Struts的概念,它与过滤器是类似的-可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Struts的时候已经讲解过了,Struts为 ...
- dwz ajax session超时跳转登录页(struts2自定义拦截器)
1.定义struts2拦截器(网上例子很多) 代码如下: package rt.intercepter;import java.util.Map;import javax.servlet.http.H ...
最新文章
- 消费机器人今年爆发!四大品类瓜分百亿蛋糕
- 背包问题概述(Lintcode- 562.Backpack IV问题解决)
- 精彩十年(2)——阴沟里也翻船
- git 代码回滚_能提交到远程的Git回滚
- caffe报错:Check failed: width <= datum_width (28 vs. 17)
- 全球首发!惯性导航导论(剑桥大学)第八部分
- springmvc项目在启动完成之后执行一次方法_SpringMVC源码分析
- android sdk无法启动不了,无法启动Android SDK管理器
- Codeforce C. Bus
- 德银病危:心比天高,却落下黄粱一梦
- devc 能优化吗_小网站能做seo优化吗?如何为小公司网站做seo优化?
- 小新pro13黑苹果配置实录
- 使用决策树预测隐形眼镜类型
- 学习笔记(2):模拟登陆抽屉网(ajax)
- 谷歌浏览器输入不安全网址点高级后没有继续前往链接解决办法
- 小程序如何从0裂变开始获客?
- Anaconda下载simpleITK包和pytorch包
- ElasticSearch教程——创建索引、类型、文档
- Type-C与Type-A、Type-B接口
- 王者的荣耀--Monza后记