拦截器postHandle添加参数,会在地址栏显示 原因

问题描述:
为解决前端静态资源缓存问题,后台在拦截器中增加参数,但参数信息 在url地址栏中显示,会造成特殊url中存在改参数,导致页面跳转失败。

领导说要找到参数为什么会增加到地址栏中,于是,我就开启了源码阅读之路。

拦截器代码:
在这里插入图片描述

登录路径:http://localhost:6002
在这里插入图片描述
跳转后url:http://localhost:6002/?version=1.0【多了“/?version=1.0”】
在这里插入图片描述

参考:https://blog.csdn.net/weixin_41701609/article/details/82981299
https://blog.csdn.net/tangtao_xp/article/details/79963836

源码:
我花了半天时间在 spring-webmvc:4.3.9.RELEASE 中阅读和调试DispatcherServlet.doDispatch(),发现response中有一个字段“redirectURLCC”与我页面的返回url完全一致。已经生成(http://localhost:6002/?version=1.0)路径。
在这里插入图片描述
说明可能在servlet.init的时候进行拼接,但在DispatcherServlet.onRefresh()中,地址也已生成。
在一筹莫展的时候看到 博客 中有redirectURLCC的值,于是开始了第二阶段:查询 location 字段的来源与拼接原理。

调试代码中发现原来是在 tomcat-embed-core:8.5.15 包中 Response类中,至此总算找到了url添加参数的地方。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值