From: https://blog.csdn.net/liqing0013/article/details/86489802
解决 Tomcat 添加 Cookie 域名报错问题 : CookieProcessor
环境
报错情况
原因分析
解决办法
环境
Java 8
Tomcat 8.5
报错情况
抛出 IllegalArgumentException
具体信息如下:
java.lang.IllegalArgumentException: An invalid domain [.jjzm.com] was specified for this cookie
1
原因分析
Tomcat 默认的 CookieProcessor 不支持这种格式的域名。(博主用的 Tomcat 是 Tomcat 8.5)
更具体的信息,请看着介绍 CookieProcessor 的 官方文档
解决办法
在 Tomcat 的配置文件 context.xml 的 <Context> 中添加:
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />
添加后,context.xml(Tomcat版本: 9.0.17)中完整内容为:
<?xml version="1.0" encoding="UTF-8"?>
<!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context><!-- Default set of monitored resources. If one of these changes, the --><!-- web application will be reloaded. --><WatchedResource>WEB-INF/web.xml</WatchedResource><WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource><WatchedResource>${catalina.base}/conf/web.xml</WatchedResource><CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" /><!-- Uncomment this to disable session persistence across Tomcat restarts --><!--<Manager pathname="" />-->
</Context>
重启 Tomcat