升级tomcat导致静态资源报错400

在升级到Tomcat 7.0.106及更高版本后,遇到静态资源加载报错400的问题。原因是DefaultServlet类中If-None-Match比较逻辑改变,导致与页面传递的转义引号不匹配。解决方案是在DefaultServlet中替换If-None-Match字符串中的引号。此外,文章分享了问题定位和解决过程,强调了处理类似问题的方法和思考。
摘要由CSDN通过智能技术生成

 

 

先上结论:tomcat7.0-106之后的版本(包括8.5xx之后的版本,只是下了个较新的测试)改了DefualtServerlet类checkIfNoneMatch方法中的比较逻辑,导致用java中引号"与页面传过来被转义了accssi码的引号"进行比较,使结果不成立,返回了400。处理方法:在DefualtServerlet类中将界面中的If-None-Match对应的字符串中的引号"使用repalceAll替换成"即可。(只是解决问题不用看下面的内容了,下面只是作为个人记录)

补充:

1、java文件路径:org.apache.catalina.servlets.DefaultServlet

2、class文件路径:apache-tomcat-7.0.109\lib\catalina.jar——>org.apache.catalina.servlets.DefaultServlet

3、增加的内容:

headerValue =
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值