一.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     @Override
3     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
4         System.out.println("拦截器执行了");
5         return true;//返回true代表放行,返回false代表不放行程序到此就不会向下走了
6     }
7 }

在springmvc.xml中配置拦截器

  <!--配置拦截器interceptor--><mvc:interceptors><mvc:interceptor><mvc:mapping path="/account/*"/>   <!--拦截的路径,路径都是controller中的方法路径--><mvc:exclude-mapping path="/account/testSpringmvc"/>  <!--不拦截的路径--><bean class="cn.itcast.interceptor.MyInterceptor"/></mvc:interceptor></mvc:interceptors>

三.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

Springmvc中的拦截器interceptor及与过滤器filter的区别相关推荐

  1. SpringBoot中使用拦截器、servlet、过滤器Filter

    Spring Boot 使用拦截器步骤: 1. 创建类实现 HandlerInterceptor 接口 package com.dongmu.interceptor;import org.spring ...

  2. 在SpringMVC中使用拦截器(interceptor)拦截CSRF***

    关于什么是CSRF我这里就不多说了,以前转载的一篇文章(PS:https://www.zifangsky.cn/358.html)已经说得很清楚了.这里只是简单介绍如何在SpringMVC中使用拦截器 ...

  3. SpringMVC中的拦截器

    SpringMVC中的拦截器 拦截器的作用 Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理. 用户可以自己定义一些拦截器来实现 ...

  4. (转)SpringMVC学习(十二)——SpringMVC中的拦截器

    http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...

  5. 【SpringMVC学习11】SpringMVC中的拦截器

    Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用 ...

  6. SpringMVC中的拦截器介绍

    SpringMvc中的拦截器: SpringMvc拦截器帮我们按照一定规则拦截请求,后根据开发人员自定义的拦截逻辑进行处理: 自定义拦截器需要实现HandlerInterceptor接口: 自定义的拦 ...

  7. SpringMVC中的拦截器、过滤器的区别、处理异常

    SpringMVC中的拦截器.过滤器的区别.处理异常 参考文章: (1)SpringMVC中的拦截器.过滤器的区别.处理异常 (2)https://www.cnblogs.com/ahaijava/p ...

  8. java day62【 响应数据和结果视图 、 SpringMVC 实现文件上传 、 SpringMVC 中的异常处理 、 SpringMVC 中的拦截器 】...

    第1章 响应数据和结果视图 1.1返回值分类 1.1.1 字符串 1.1.2 void 1.1.3 ModelAndView 1.2转发和重定向 1.2.1 forward 转发 1.2.2 Redi ...

  9. 谈谈spring中的拦截器interceptor

    谈谈spring中的拦截器 在web开发中,拦截器是经常用到的功能.它可以帮我们验证是否登陆.预先设置数据以及统计方法的执行效率等等.今天就来详细的谈一下spring中的拦截器.spring中拦截器主 ...

最新文章

  1. php实现一个简单的四则运算计算器
  2. 修改web.conf不重启服务的方法
  3. 4-19 面向对象 的内置方法
  4. 一文让你秒懂互联网TCP/IP协议的深层含义
  5. 更改计算机图标大小得方法,更改图标大小【解决办法】
  6. 迅雷html什么意思,迅雷达到高速状态是什么意思?带图
  7. 椭圆曲线密码体制算法C语言,椭圆曲线密码的C语言设计与实现
  8. Python的eval函数详解
  9. HDU 5234 DP背包
  10. 高等数学学习笔记——第六十八讲——隐函数存在定理
  11. Cannot get property '......' on extra properties extension as it does not exist
  12. rsync,nfc,sersync使用
  13. win10系统怎么做电影服务器,瞧瞧Win10是如何将电影推送到电视机上的
  14. Flex:对日本旧历日期及其它输入内容的验证。
  15. 雨听 | 英语学习笔记(七)~作文范文:学生退学
  16. JDK14环境变量配置,JDK版本切换(Win10)
  17. android手机版本
  18. 计算机打印预览在哪,excel打印在哪里,EXCEL怎么退出成打印预览的画面
  19. 2015 奇妙的数字
  20. bs4的BeautifulSoup使用

热门文章

  1. python 特性和方法同名_Python类:方法与属性同名
  2. 实例分割:MaskXRCnn 与Visual Genome数据集
  3. Apache Spark1.1.0部署与开发环境搭建 - Mark Lin
  4. [Django青铜修炼手册] 初识Django
  5. SpringMVC-DispatcherServlet配置(Spring-servlet.xml)
  6. java开源库web3j的以太坊过滤器(filter)和智能合约事件(event)教程
  7. 关于 redis、memcache、mongoDB 的对比
  8. CENTOS编译安装APACHE 2.4.6笔记
  9. 管理表空间和数据文件——维护表空间——设置默认表空间和删除表空间和删除数据文件盒临时文件...
  10. httping 2.2.1 发布,测试 HTTP 连接的工具