Вы можете установить эти системные свойства в командной строке, которая запускает Tomcat. Например, вы можете иметь файл setenv.bat
(на setenv.sh
, если вы используете Linux) в папке Tomcats bin
со следующим содержимым:
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, не распознают это и, например, не удается отследить сеанс.