★拦截器Interceptor

一、拦截器简介

1.概念

        拦截器Interceptor是一种动态拦截方法调用的机制,在SpringMVC中动态拦截controller方法的执行。

2.作用

(1)在指定的方法调用前后执行预设的代码
(2)阻止原始方法的执行

3.拦截器与过滤器(Filter)的区别


Interceptor
Filter
归属不同 SpringMVC技术 Servlet技术
拦截的内容不同 仅针对SpringMVC的访问进行增强 对所有的访问进行增强

 二、拦截器的使用

1.创建拦截器类

        因为在SpringMVC中拦截器用来拦截controller的方法,所以把拦截器类创建在controller包下。

(1)创建拦截器类,实现HandlerInterceptor接口
(2)重写三个方法
(3)将拦截器类设为Bean,交由Spring管理

        

2.设置拦截内容

(1)定义配置类,继承WebMvcConfigurationSupport,重写addInterceptors()方法
        与放行静态资源的配置类似。
(2)添加拦截器并设置要拦截的请求访问路径
        可设置多个要拦截的路径。
        

3.★设置拦截内容的简化开发(推荐)

        直接在SpringMvcConfig中设置拦截内容:将SpringMvcConfig实现WebMvcConfigurer,重写addInterceptor()方法。
        

三、拦截器的执行流程

        

四、拦截器三种拦截方法的参数

        

(1)request和response参数

        可以通过"参数."对里面的数据进行操作,如取数据等:
        

(2)handler参数

        该参数封装了原始执行方法的信息,如原始方法名等。

(3)modelAndView

        该参数封装了SpringMVC进行页面跳转的相关数据。

(4)ex

        该参数封装了原始方法的异常信息。

五、拦截器链的执行顺序

        
1.若所有拦截器中的preHandle()都return true,则执行顺序同过滤器链;
2.当出现对原始方法的拦截即return false时,则其后的拦截器的preHandle()均终止运行,所有拦截器的postHandle()都不会运行,只运行其前的拦截器的afterCompletion()。










全部评论

相关推荐

来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
柯柯想吃鱼:学的是物流工程,注意工程二字,而不是做仓管员自己技术完全没有用得上的实习,竞争力较弱,推荐找一个实习比如物流规划这种,需要用到cad的等等等,照这个思路
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务