先上结论: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 =