tomcat Cookie值中存在无效字符[32]

本文介绍了在JDK1.8环境下,如何处理在国产麒麟操作系统上,Tomcat 8.5.82版本cookie解析错误的问题,通过将CookieProcessor设置为LegacyCookieProcessor来确保新旧版本程序兼容,提供了context.xml配置方法。

环境:jdk1.8

tomcat8.5.82

操作系统:国产麒麟

后台报异常“Cookie值中存在无效字符[32]”

经查找是tomcat8.5之前版本和8.5之后版本cookie的写入和解析策略确实发生了一些变化。

        从8.5开始就默认使用了org.apache.tomcat.util.http.Rfc6265CookieProcessor

        而之前的版本中一直使用的是org.apache.tomcat.util.http.LegacyCookieProcessor,

解决方式:

        LegacyCookieProcessor可以读取Rfc6265CookieProcessor写入的cookie。

        Rfc6265CookieProcessor可以正常读取LegacyCookieProcessor写入的cookie。

        那么我们可以tomcat中设置把CookieProcessor都设置为LegacyCookieProcessor。这样新老版本程序都可以正常运行

        设置方法:

        在tomcat的context.xml中增加以下配置

<Context>

        < CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />

</Context>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值