Bạn có thể đặt các thuộc tính hệ thống này trong dòng lệnh khởi động Tomcat. Ví dụ, bạn có thể có tập tin setenv.bat
(trên setenv.sh
nếu bạn đang ở trên linux) trong Tomcat bin
thư mục với nội dung sau:
set "CATALINA_OPTS=%CATALINA_OPTS% -Dfile.encoding=UTF8 -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true -Duser.timezone=GMT -Xmx1024m -XX:MaxPermSize=256m"
Tập tin này là cách ưa thích của thiết lập các thuộc tính cho Tomcat.
Hiện tại, FWD_SLASH_IS_SEPARATOR
theo mặc định được đặt thành false
. Nếu bạn đặt STRICT_SERVLET_COMPLIANCE
thành true
, giá trị của FWD_SLASH_IS_SEPARATOR
cũng sẽ được đặt thành true
(và giá trị của một số thuộc tính khác). Tuy nhiên, bạn có thể đặt rõ ràng là false
, ví dụ: bằng cách sử dụng sau đây trong tập tin setenv
của bạn là tốt:
-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
-Dorg.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR=false
Đây cũng là những gì tôi đề nghị khi có người đặt STRICT_SERVLET_COMPLIANCE
để true
, để luôn luôn vô hiệu hóa các FWD_SLASH_IS_SEPARATOR
. Nếu không, giá trị Đường dẫn cookie sẽ được gửi được trích dẫn (ví dụ: "\"
) và tất cả các trình duyệt kể từ hôm nay, ngoại trừ Opera, không nhận ra điều này và ví dụ: không theo dõi phiên.
Tôi đọc phần sau, http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html và tôi không xem bất kỳ thông tin nào về nơi đặt cài đặt này. Tôi chỉ cần biết cách đặt FWD_SLASH_IS_SEPARATOR thành false một cách chính xác. – LuckY07
Ngoài ra, chúng tôi đang chạy trên một môi trường cửa sổ. – LuckY07
@Michael - Ở đâu trong RUNNING.txt nó có hiển thị WHERE để đặt FWD_SLASH_IS_SEPARATOR không? Bạn đang đề cập đến cách nó cho bạn thấy làm thế nào để thiết lập các biến (trong cửa sổ) để setenv.bat? – LuckY07