Springmvc中的拦截器interceptor及与过滤器filter的区别
一.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的区别相关推荐
- SpringBoot中使用拦截器、servlet、过滤器Filter
Spring Boot 使用拦截器步骤: 1. 创建类实现 HandlerInterceptor 接口 package com.dongmu.interceptor;import org.spring ...
- 在SpringMVC中使用拦截器(interceptor)拦截CSRF***
关于什么是CSRF我这里就不多说了,以前转载的一篇文章(PS:https://www.zifangsky.cn/358.html)已经说得很清楚了.这里只是简单介绍如何在SpringMVC中使用拦截器 ...
- SpringMVC中的拦截器
SpringMVC中的拦截器 拦截器的作用 Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理. 用户可以自己定义一些拦截器来实现 ...
- (转)SpringMVC学习(十二)——SpringMVC中的拦截器
http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...
- 【SpringMVC学习11】SpringMVC中的拦截器
Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用 ...
- SpringMVC中的拦截器介绍
SpringMvc中的拦截器: SpringMvc拦截器帮我们按照一定规则拦截请求,后根据开发人员自定义的拦截逻辑进行处理: 自定义拦截器需要实现HandlerInterceptor接口: 自定义的拦 ...
- SpringMVC中的拦截器、过滤器的区别、处理异常
SpringMVC中的拦截器.过滤器的区别.处理异常 参考文章: (1)SpringMVC中的拦截器.过滤器的区别.处理异常 (2)https://www.cnblogs.com/ahaijava/p ...
- 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 ...
- 谈谈spring中的拦截器interceptor
谈谈spring中的拦截器 在web开发中,拦截器是经常用到的功能.它可以帮我们验证是否登陆.预先设置数据以及统计方法的执行效率等等.今天就来详细的谈一下spring中的拦截器.spring中拦截器主 ...
最新文章
- php实现一个简单的四则运算计算器
- 修改web.conf不重启服务的方法
- 4-19 面向对象 的内置方法
- 一文让你秒懂互联网TCP/IP协议的深层含义
- 更改计算机图标大小得方法,更改图标大小【解决办法】
- 迅雷html什么意思,迅雷达到高速状态是什么意思?带图
- 椭圆曲线密码体制算法C语言,椭圆曲线密码的C语言设计与实现
- Python的eval函数详解
- HDU 5234 DP背包
- 高等数学学习笔记——第六十八讲——隐函数存在定理
- Cannot get property '......' on extra properties extension as it does not exist
- rsync,nfc,sersync使用
- win10系统怎么做电影服务器,瞧瞧Win10是如何将电影推送到电视机上的
- Flex:对日本旧历日期及其它输入内容的验证。
- 雨听 | 英语学习笔记(七)~作文范文:学生退学
- JDK14环境变量配置,JDK版本切换(Win10)
- android手机版本
- 计算机打印预览在哪,excel打印在哪里,EXCEL怎么退出成打印预览的画面
- 2015 奇妙的数字
- bs4的BeautifulSoup使用
热门文章
- python 特性和方法同名_Python类:方法与属性同名
- 实例分割:MaskXRCnn 与Visual Genome数据集
- Apache Spark1.1.0部署与开发环境搭建 - Mark Lin
- [Django青铜修炼手册] 初识Django
- SpringMVC-DispatcherServlet配置(Spring-servlet.xml)
- java开源库web3j的以太坊过滤器(filter)和智能合约事件(event)教程
- 关于 redis、memcache、mongoDB 的对比
- CENTOS编译安装APACHE 2.4.6笔记
- 管理表空间和数据文件——维护表空间——设置默认表空间和删除表空间和删除数据文件盒临时文件...
- httping 2.2.1 发布,测试 HTTP 连接的工具