您可以在啓動Tomcat的命令行中設置這些系統屬性。例如,你可以在雄貓bin
文件夾文件setenv.bat
(上setenv.sh
如果你是在Linux上)具有以下內容:
set "CATALINA_OPTS=%CATALINA_OPTS% -Dfile.encoding=UTF8 -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true -Duser.timezone=GMT -Xmx1024m -XX:MaxPermSize=256m"
該文件是爲Tomcat設置屬性的首選方式。
現在,FWD_SLASH_IS_SEPARATOR
默認設置爲false
。如果您將STRICT_SERVLET_COMPLIANCE
設置爲true
,那麼FWD_SLASH_IS_SEPARATOR
的值也將設置爲true
(以及其他一些屬性的值)。但是,您可以明確地將其設置爲false
,例如,使用您的setenv
文件,以下是罰款:
-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
-Dorg.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR=false
這也是我建議,當有人將STRICT_SERVLET_COMPLIANCE
到true
,始終禁用FWD_SLASH_IS_SEPARATOR
。否則,Cookie路徑值將被引用(例如"\"
),並且截至今日的所有瀏覽器(除Opera之外)都不會識別這種情況,並將例如無法跟蹤會話。
來源
2013-04-11 12:49:00
igr
我閱讀以下內容,http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html,我沒有請參閱有關設置此位置的任何信息。我只需要知道如何正確設置FWD_SLASH_IS_SEPARATOR爲false。 – LuckY07 2012-03-01 20:48:43
另外,我們在Windows環境中運行。 – LuckY07 2012-03-01 21:05:30
@Michael - 在RUNNING.txt中的哪裏顯示在哪裏設置FWD_SLASH_IS_SEPARATOR?你是指如何向你展示如何設置變量(在Windows中)爲setenv.bat? – LuckY07 2012-03-02 15:21:02