Spring MVC拦截器2:拦截器入门二:拦截器使用技巧;(<mvc:exclude-mapping path=““/>:设置不拦截的url;多个拦截器执行顺序;preHandle()方法的返回值)

说明:

(1)本篇博客合理性解释:

          ● 在【Spring MVC拦截器1:拦截器入门一:拦截器(interceptor)简介;拦截器开发流程简介;演示了拦截器最基本的配置流程;】中,已经展示了拦截器的基本使用流程,了解了【preHandle()、postHandle()、afterCompletion()方法的基本情况】;但是拦截器在实际时,还有很多问题需要解决:为此,写了本篇博客;

(2)本篇博客的代码,沿用自【Spring MVC拦截器1:拦截器入门一:拦截器(interceptor)简介;拦截器开发流程简介;演示了拦截器最基本的配置流程;】;中的【interceptor工程】; 

(3)本篇博客主要内容:

          ● 一个话题:如何让拦截器不拦截某些url;由此引出了【<mvc:exclude-mapping path=""/>】标签;

          ● 多拦截器时的执行顺序;

          ● 拦截器的perHandle()方法的return值;(如果return false,那么拦截器就相当于一个“阻断器”);

目录

一:标签:设置【不拦截的url】;<mvc:exclude-mapping path=""/>一:标签:设置【不拦截的url】;

1.先看一个客观情况:只要一个资源的url符合“拦截器的path”,那么访问该资源的时候,这个请求就会被拦截器处理;

2.通过【<mvc:exclude-mapping path=""/>2.通过【

3.在实际开发中,一种很好的开发经验:对于静态资源:可以把静态资源放在特定的目录(如resources目录)中,来简化【<mvc:exclude-mapping path=""/>3.在实际开发中,一种很好的开发经验:对于静态资源:可以把静态资源放在特定的目录(如resources目录)中,来简化【

4.一种反向思维:<mvc:mapping path="/restful/**"/>4.一种反向思维:

二:多个拦截器;

1.多个拦截器的执行顺序;

(1)多个拦截执行顺序:简述;

(2)多个拦截器的执行顺序:演示; 

三:拦截器中preHandle()方法的返回值:【return true】或【return false】;

1.preHandle()方法:return false:相当于一个“阻断器”;

2. 在实际开发中,可以利用【preHandler()方法的return值】:来决定【放行请求】还是【立即响应,中断请求】;


一:<mvc:exclude-mapping path=""/>标签:设置【不拦截的url】;

1.先看一个客观情况:只要一个资源的url符合“拦截器的path”,那么访问该资源的时候,这个请求就会被拦截器处理;

对于【interceptor工程】,启动Tomcat,访问【localhost/client.html】;

看后台,会发现:.html,.js这些资源,拦截器都拦截了;(主要是.js这些静态资源也被拦截了)

即,上面的案例主要说明: 

          ● 我们知道所有资源都有一个uri,自然其也有url(uri是url的一部分);

          ● 我们访问某个资源时候,只要该资源的url符合【拦截器的path属性】,那么【访问这个资源的url时,这个请求就会被拦截】;

但是,在绝大部分情况下,对于【.js,.ico,.jpg】等静态资源,我们并不希望拦截器对其进行处理;所以,当我们访问【.js,.ico,.jpg等静态资源】时,如何不拦截这些请求,就是接下里要介绍的内容;

2.通过【<mvc:exclude-mapping path=""/>】标签:设置【不拦截的url】;(在实际开发中,一般通过这个标签,设置不去处理【.js,ico,jpg】等静态资源;)

启动Tomcat,观察效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值