这是springMVC中的拦截器的配置
当我没有在拦截器中配置相应的URL,直接在地址栏中键入请求地址是会被拦截然后重定向到登录页面。
但是在工作中发现了另一个问题就是,如果我不配置URL。
但是在某个Controller中的一个方法请求转发到另一个方法,而这个方法从页面获取参数时用的是JQuery的ajax,其中就包含会被拦截的URL(既是没有在配置文件中配置相应的URL)。
如下图JS中的一段代码所示:
那么当我去请求的时候就会有这样的情况出现
1, 该JS是可行的,因为判断不为空时(JS中有判断代码)可以执行,如下图:
2, 但是利用ajax请求时,路径出了问题导致一下情况:
也就是请求出错了,根据以上的URL请求失败。
再来看一下浏览器中调试,看看Header里面的内容:
3, 当我从地址栏中键入请求地址时,会被拦截,但我登录的登录页面之后,再键入请求地址,此时是成功的。
得到相应的Json数据。
4, 这个时候再来看看之前利用请求转发的地址再到该页面
5, 这个时候再来看看Response Header里的信息
(是否真是这里的原因不敢确定)
这个时候,就像配置文件中配置该请求地址一样了。
百度百科:Cache-Control 是最重要的规则。这个字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令。这些指令指定用于阻止缓存对请求或响应造成不利干扰的行为。这些指令通常覆盖默认缓存算法。缓存指令是单向的,即请求中存在一个指令并不意味着响应中将存在同一个指令。
总结:发现一个有趣的情况
此种情况拦截器没有拦截相应的请求URL。待以后再深入研究(必定是关于权限和缓存)。
谢谢指出问题,指教......