栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第1章 拦截器入门及使用技巧

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第1章 拦截器入门及使用技巧

1-1 Interceptor拦截器入门

 

 一一进行演示

创建工程

 将restful的代码复制过来,方便演示

打开xml增加依赖

 provided只有在开发编译才会进行引用,当进行打包最终使用的时候jar会被排除在外

增加拦截器包

 

 生成三个方法

 

 

  为什么要引入刚才那个依赖?

因为

 这三个方法都是指向了原生的request和response对象,如果不引入依赖程序就会报编译的错误

 return true就会送达给后面的拦截器或者是控制器,false就会直接返回客户端了,结果决定了是继续执行还是立即结束向后返回响应,这对程序的控制是非常重要的

 目标资源被处理成功以后,但是没有产生响应文本之前,所要做的事情

 目标的相应文本产生以后,就会执行这个方法

 在applicationContext里进行配置让springmvc去识别

 对所有的请求进行拦截,然后被拦截的请求首先送达至Myinterceptor并按照里面实现方法的前后顺序依次进行执行

运行

响应返回成功,查看控制台

 这句话是在增加的 

 1-2 Interceptor使用技巧

 在实际使用时还会有诸多问题需要解决

启动

 但是在控制器却打印出了许多额外的信息

 每一次发送localhost这个url的时候其本质都是通过tomcat来调用springmvc的解析功能,来获取对应的资源,这些资源因为符合/**的规则所以都会被拦截

 拦截器不受这句话影响

 排除一些静态地址

 再次运行

 此时只对client.html进行了捕捉

静态种类实在是太多了,如果像上述那样一个一个配置可能会很长很长,如何让我们对静态资源和controller应用进行有效的区分呢?

将静态资源统一管理

通过管理静态资源目录来统一的把这些排除在外 

 反向思维也是可以的比如只对restful下的所有请求进行拦截

 

 如果需要多个uri进行拦截的地方,追加书写 

如果一个请求被多个拦截器同时过滤的话,到底哪个先执行?

增加myinterceptor1

 对新的拦截器进行配置

 两个拦截器作用的uri是一样的,那个先执行?那个后执行呢?、

 顺序颠倒,为什么呢?

 return false中断会产生什么现象呢?

 

 应该执行的请求和后续处理被全部阻断,同时响应在当前的方法中全部产生了

传入一个数组测试一下

 

 在请求的相应部分得到的就是拦截器中产生的响应文本

1-3 Inteceptor和Filter的区别

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号