Interceptor 拦截器请求302

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ypp91zr/article/details/82885422

今天在测试其他人写的权限的时候,发送了一个请求,但是请求里面的路径变了,错了

开始访问/pinyu/houseResource/  然后进入Interceptor里面request里面的请求变了,看下图

开始百思不得其解为什么地址莫名其妙就变了,然而其他的路径正常。于是我把按钮菜单等权限注释掉。然后变成了404,没有找到页面。突然想起了我没有写controller,更没有这个请求的controller,

本人最好奇的是请求为什么变成了error

于是想到spring mvc的一些原理,在发送请求的时候,dispacherServlet会寻找HandlerMapping(处理映射器),并交给它处理,HandlerMapping根据请求找到HandlerAdapter处理适配器找到相应的controller,然后去看了一部分源码,到了这里问题来了,那是不是可以理解为即使拦截器把请求拦截下来,spring mvc相应的流程依然会往下面走,只不过必须要等preHandle里面返回true才会相应的执行,那这里应该就是多线程处理的了。然后在流程往下面走的时请求却没有找到对应的controller(也就是我没有写controller控制器的原因),所以导致了出现了请求302和404的错,然后request没有找到相应的请求,也不知道重定向到什么地方,索性给你加个error?

302 redirect: 302 代表暂时性转移(Temporarily Moved )。
意思就是你访问网址A,但是网址A因为服务器端的拦截器或者其他后端代码处理的原因,会被重定向到网址B。

这个也是自己挖的坑,自己补,但还是学到了知识。重在累计

如果以上理解或者有错误的地方,欢迎大牛指正啊。十分感谢

猜你喜欢

转载自blog.csdn.net/ypp91zr/article/details/82885422