您可以在启动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