Gần đây tôi đã nâng cấp máy chủ tomcat của mình từ phiên bản 6.x lên phiên bản 7.x mới nhất.
Tôi nghĩ ra một chút rắc rối, mong được giúp đỡ.
Tôi có một ứng dụng gọi MyApp
Trên tomcat6, khi tôi truy cập http://www.example.com/MyApp/page/ tôi thường sẽ nhận được kết quả mong muốn.
Bây giờ, trên tomcat7, truy cập cùng một url chính xác (với dấu gạch chéo) Tôi gặp lỗi: "Tài nguyên không có sẵn", vì tomcat nghĩ rằng / MyApp / page / là toàn bộ tên webapp thay vì là tên yêu cầu trang dưới ứng dụng web MyApp.
Tôi cần dấu gạch chéo ở cuối url của mình vì nếu không tôi sẽ gặp lỗi: "Trạng thái HTTP 405 - Phương thức yêu cầu 'GET' không được hỗ trợ" cũng không sao vì tôi thực sự không cho phép phương thức GET cho yêu cầu "trang" .
Nếu ai đó biết cách nói với tomcat rằng dấu gạch chéo sau đường dẫn của ứng dụng web hiện tại không nên giả sử chuyển hướng nó sang ứng dụng web mới gọi toàn bộ "chuỗi" và chỉ cần xử lý yêu cầu như trên tomcat6, sẽ rất tuyệt!
MyApp
ứng dụng web được cấu hình với tên thì tomcat sẽ sử dụng bối cảnh ứng dụng web này bằng cách sử dụng đường dẫn còn lại page/
. Nếu không, nó sẽ tìm ROOT
bối cảnh, sử dụng đường dẫn đầy đủ để tra cứu.
web.xml
đó được ánh xạ tới/*
? Nếu không, tomcat sử dụng một danh sách tập tin chào mừng. Thông thường chỉ có đoạn đường dẫn đầu tiên được hiểu là gốc ngữ cảnh. Vì vậy, không tìm thấy ứng dụng web của bạn dường như không phải là vấn đề.