【问题标题】:Cookie path always gets quoted using Apache Tomcat 7 but not Tomcat 9Cookie 路径总是使用 Apache Tomcat 7 而不是 Tomcat 9 引用
【发布时间】:2018-05-21 20:03:51
【问题描述】:

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

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

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

【问题讨论】:

    标签: apache tomcat servlets cookies servlet-3.0


    【解决方案1】:

    你参考过tomcat的迁移指南吗?这是tomcat关于cookies的迁移指南。

    Tomcat's migration guide on Cookies

    它说,

    默认的 CookieProcessor 现在是 Rfc6265CookieProcessor。这 CookieProcessor 可以根据 Context 和 LegacyCookieProcessor 可用于获取 8.0.x 行为。

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

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

    【讨论】:

    • 是的,我确实阅读了迁移指南,但情况恰恰相反——我想要 Tomcat 9 的行为(它可以工作),但理想情况下是在 Tomcat 7 中拥有它,而不是设置 Tomcat 9 使用旧版cookie 行为(可能不起作用)。
    猜你喜欢
    • 2011-04-28
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 2019-04-29
    • 2011-09-20
    • 1970-01-01
    相关资源
    最近更新 更多