码迷,mamicode.com
首页 > 其他好文 > 详细

struts2 拦截器

时间:2017-08-21 00:28:20      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:一个   cti   servlet   传递   配置文件   不同   tor   gets   intercept   

1.实现一个拦截器

  在struts框架提供了Interceptor接口,和AbstractInterceptor抽象类(实现了Interceptor接口的初始化和销毁方法,且为空实现)供我们为程序扩展自己的拦截器。当我们不关注初始化和销毁方法时,直接继承AbstractInterceptor抽象类即可

2.拦截器的配置

  在struts的配置文件中,所有的Interceptor都配置在<interceptors>这个节点下。这个节点下负责配置 拦截器interceptor 以及 拦截器栈interceptor-stack。而interceptor-stack的配置是基于interceptor之上的。

3.拦截器和过滤器一样,是在web容器(tomcat)启动的时候初始化,在web容器关闭的时候销毁的,且过滤器在拦截器之前初始化,也在拦截器之前销毁;进行拦截的时候,过滤器先于拦截器执行

4.拦截器和过滤器的区别

   1)最大的区别是:过滤器是JEE规范,拦截器不是(拦截器是框架自己实现的)。由于这一点可以带出下面的各种不同 

   2)过滤器可以过滤所有请求,而拦截器只能拦截action请求

   3)过滤器由容器调用,依赖容器,而拦截器由框架内部调用,依赖框架

   4)过滤器被调用时传递进去的参数都是servlet api原生的参数,所以在过滤器中访问不到ActionCotext以及ValueStack对象,而拦截器被调用时传递进去的是ActionInvocation invocation对象,进而可以通过调用该对象的方法访问ActionContext对象以及ValueStack对象,比如invocation.getStack(),invocation.getInvocationContext()。

   5)最后就是实现的方式不同了 过滤器是基于函数回调 ,而拦截器是基于Java的反射机制的

struts2 拦截器

标签:一个   cti   servlet   传递   配置文件   不同   tor   gets   intercept   

原文地址:http://www.cnblogs.com/wanjn/p/7401785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!