关于拦截器路径配置

关于拦截器路径配置

请问在配置拦截器时,mvc:mapping标签里面的path路径,是默认在path前面添加上应用上下文路径的吗?我自己手动添加进应用上下文之后拦截器好像不起作用了。。。课程中演示的应用上下文路径一直是空的

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕小班 2020-07-21 18:03:00

同学你好,这里老师测试了一下,path中写入的是进行配置拦截的路径,比如 /user/*就会拦截所有/user/开头的请求。

    而请求中的项目名会在拦截器的匹配过程中,将请求中的项目名与当前项目名匹配后,项目名的内容会自动过滤,所以在 mvc:mapping 中的path属性不需要添加项目名。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 natsusora 2020-07-21 16:26:55

不好意思,没说清楚。

老师的课里面是这样配置的

http://img1.sycdn.imooc.com//climg/5f16a61b09d5bb7808200350.jpg

但是老师课程里面的项目,应用上下文路径是/

我自己的项目,应用上下文路径是

http://img1.sycdn.imooc.com//climg/5f16a66a0940b64206150094.jpg

所以我在mapping 的path里面是这么写的:path = "/spring_mvc/restful/**",但是这样写之后相应方法不会经过这个拦截器,而去掉/spring_mvc之后拦截器就可以生效。所以我就在想这里的path是不是会默认在path前面加上应用上下文路径?因为这里的uri都是绝对路径,不加上/spring_mvc不是应该会有问题吗?

好帮手慕小班 2020-07-21 15:46:50

同学你好,这里可以这样理解 mvc:interceptors标签声明拦截器,而mapping是映射某些需要拦截的请求。

    mvc:mapping 中的path属性是设置需要拦截的请求,/**的意思是所有文件夹及里面的子文件夹,/*是所有文件夹,不含子文件夹,/是web项目的根目录

所以这里并不需要添加项目名等内容。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师