2017-12-07 1 views
1

Ich habe (mit Apache Wicket 8.0.0-M6, JDK 1.8.0_20) eine Webanwendung mit einigen Cookies auf Apache Tomcat 7.0.23 und alle meine implementiert Cookies wurden mit doppelten Anführungszeichen um ihren Pfad geschrieben, egal was ich tat (kein Pfad, dh Standard, /,/myapp/mysubdomain). Dadurch kann ich keine Cookies zwischen meinen verschiedenen Webapps weitergeben.Cookie-Pfad wird immer mit Apache Tomcat 7 zitiert, aber nicht Tomcat 9

Schließlich habe ich Apache Tomcat 9 (9.0.0.M26) installiert und mit JDK 1.8.0_141 ist dieses Verhalten verschwunden und die Cookies werden korrekt ohne die doppelten Anführungszeichen geschrieben.

Das ist großartig und ohne Konfigurationsänderungen, aber ich bin ratlos, was in dem Upgrade verantwortlich war, da ich lieber mit Tomcat 7 für jetzt bleiben würde, wenn möglich. Ist es der Wechsel von Servlet 2 zu 4? Weiß jemand?

Antwort

0

Haben Sie sich auf den Migrationsleitfaden von tomcat bezogen? Hier ist Tomcat's Migrationsanleitung für Cookies.

Tomcat's migration guide on Cookies

Es sagt,

Der Standard CookieProcessor jetzt ist die Rfc6265CookieProcessor. Der Cookie-Prozessor ist pro Kontext konfigurierbar, und der LegacyCookieProcessor kann verwendet werden, um das Verhalten von 8.0.x zu erhalten.

Versuchen Sie, zu LegacyCookieProcessor zu wechseln, indem Sie die folgende Zeile in Ihrem Element hinzufügen.

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

Ja ich die Migrationsanleitung gelesen habe, aber es ist anders herum - ich die Tomcat 9 Verhalten will (es funktioniert), aber ideal, es zu haben in Tomcat 7, nicht zu festlegen Tomcat 9 das Vermächtnis Cookie Verhalten verwenden (was möglicherweise nicht funktioniert). – user3265372