apache - Cookie 路径总是使用 Apache Tomcat 7 而不是 Tomcat 9 引用

标签 apache tomcat servlets cookies servlet-3.0

我正在实现(使用 Apache Wicket 8.0.0-M6、JDK 1.8.0_20)一个 Web 应用程序,其中包含一些在 Apache Tomcat 7.0.23 上运行的 cookie,无论我做什么,我的所有 cookie 都在其路径周围用双引号引起来(没有路径即默认,/,/myapp/mysubdomain)。这会阻止我在我的各种网络应用程序之间传递 cookie。

最终,我安装了 Apache Tomcat 9 (9.0.0.M26) 和 JDK 1.8.0_141,这种行为消失了,并且 cookie 被正确写入,没有双引号。

这很棒,没有任何配置更改,但我不知道升级中的原因是什么,因为如果可能的话,我宁愿暂时坚持使用 Tomcat 7。是从 servlet 2 到 4 的变化吗?有人知道吗?

最佳答案

你有没有引用tomcat的迁移指南?这是 tomcat 的 cookie 迁移指南。

Tomcat's migration guide on Cookies

它说,

The default CookieProcessor is now the Rfc6265CookieProcessor. The CookieProcessor is configurable per Context and the LegacyCookieProcessor may be used to obtain the 8.0.x behaviour.

尝试通过在您的元素中添加以下行来更改为 LegacyCookieProcessor。

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

关于apache - Cookie 路径总是使用 Apache Tomcat 7 而不是 Tomcat 9 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699730/

相关文章:

php - 当 Apache 通过 Task Planner 启动时,在 Windows 7 上通过 COM 从 PHP 5 调用 Excel 失败

java - Apache Poi Word 文档打开报 NullPointerException

apache - 在 java.library.path 上找不到基于 APR 的 Apache Tomcat Native 库?

java - jsp从servlet读取文件名不可能吗?

java - 在 Java servlet 中终止请求花费的时间太长

Python无法导入ssl模块

mysql - 使用 lampp 托管时如何修复 "Slim Application Error"错误

Apache 虚拟主机不适用于子域

java - Servlet-Apache Tomcat

java - HttpServletResponse#addHeader 有什么问题吗?