博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springmvc中的拦截器interceptor及与过滤器filter的区别
阅读量:6715 次
发布时间:2019-06-25

本文共 1285 字,大约阅读时间需要 4 分钟。

一.Springmvc中的拦截器概述及与过滤器filter的区别

   1).Springmvc中的拦截器interceptor用于对控制器controller进行预处理和后处理的技术;

   2).可以定义拦截器链,拦截器链就是将拦截器按着一定的顺序结成一条链,在访问被拦截的方法时,拦截器链中的拦截器会按着定义的顺序执行。

   3).拦截器interceptor与过滤器filter的区别

         1.过滤器是servlet中的,任何框架都可以使用过滤器技术;

           2.拦截器是Springmvc所独有的

           3.过滤器设置/*可以拦截任何资源

           4.拦截器只对控制器controller中的方法进行拦截

     4).拦截器利用的是AOP思想;

     5).自定义拦截器,需要实现HandlerInterceptor接口

二.拦截器的使用:自定义拦截器类实现HandlerInterceptor接口,重写其中三个方法之一的preHandle()方法

1 public class MyInterceptor implements HandlerInterceptor {2     @Override3     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {4         System.out.println("拦截器执行了");5         return true;//返回true代表放行,返回false代表不放行程序到此就不会向下走了6     }7 }

  在springmvc.xml中配置拦截器

三.HandlerInterceptor接口中的三个方法分析

    1.preHandler()  拦截在controller中方法执行之前,执行,这是拦截器主要用到的方法

        可以使用request或者response跳转到指定的页面

       return true 代表放行   return false 代表不放行

    2.postHandler()  在controller中方法执行后,返回jsp视图执行之前执行此方法

        1). 可以使用request或者response跳转到指定的页面

        2). 如果指定了跳转的页面,那么controller方法跳转的页面将不会显示。

    3.afterCompletion() 在跳转页面后执行此方法

        无法通过request或response跳转页面了

四.可以编写配置多个拦截器,拦截顺序按照在springmvc.xml中配置顺序

     拦截器执行顺序:

   

转载于:https://www.cnblogs.com/georgeJavaEE/p/9796665.html

你可能感兴趣的文章
大数据助推新型智库建设
查看>>
新加坡欲重组通信和媒体管制机构
查看>>
《CCNP ROUTE 300-101学习指南》——2.2节构建EIGRP拓扑表
查看>>
Libreboot 项目向开源社区示好和致歉
查看>>
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
.NET Framework 源码
查看>>
ArrayList源码分析
查看>>
JS Object的静态方法汇总( 上 )
查看>>
优朋普乐:OTT正重构电视版图
查看>>
Ubuntu 14.04 LTC 有线网络——网线不识别,灯不亮问题
查看>>
21_css布局2_浮动布局.html
查看>>
DateUtils 单元下的公用函数目录
查看>>
jQuery 练习[二]: 获取对象(1) - 基本选择与层级
查看>>
Sublime Text 2 快捷键用法大全
查看>>
用U盘安装debian系统
查看>>
SequoiaDB 笔记
查看>>
lduan HyPer-V 网络存储(三)
查看>>