Tôi cần trợ giúp tìm ra lý do tại sao một vài ứng dụng web của tôi liên tục ném lỗi 404 khi cố gắng đưa lên JSP. Một trong số chúng có JSP được truy cập trực tiếp và cái còn lại có một servlet chuyển tiếp tới một JSP. Các trang hoạt động hầu hết thời gian, nhưng đôi khi sẽ ném 404. Nếu người dùng làm mới trình duyệt của họ 1-3 lần, trang bắt đầu hoạt động trở lại mà không cần bất kỳ thay đổi nào.Tại sao máy chủ Tomcat của tôi ném liên tục 404 khi biên dịch JSP?
Đây là một ví dụ về các lỗi như đã thấy trong các trình duyệt web (Chrome): type: Status report message: /app_root/my_page.jsp description: The requested resource is not available
vấn đề này dường như có liên quan đến biên dịch lại các trang JSP. Tệp .war và thư mục mở rộng không thay đổi. Luôn luôn có những ba lỗi trong các bản ghi tương ứng với từng lỗi 404: WARNING: Failed to delete generated class file [D:\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost\app_root\org\apache\jsp\my_005fpage_jsp.class] May 19, 2015 6:32:24 AM org.apache.jasper.compiler.Compiler removeGeneratedFiles
WARNING: Failed to delete generated Java file [D:\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost\app_root\org\apache\jsp\my_005fpage_jsp.java] May 19, 2015 6:32:24 AM org.apache.jasper.compiler.Compiler generateJava
WARNING: Failed to delete generated Java file [D:\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost\app_root\org\apache\jsp\my_005fpage_jsp.java]
Tôi đang chạy Java 1.7 trên Tomcat 7.0.53. Tomcat đang chạy trên máy chủ Windows 2008 R2.
Đây là những gì tôi đã thử cho đến nay, dựa trên thông tin tôi đã tìm thấy từ google. Tuy nhiên, 404 vẫn tiếp tục.
- của Windows Disabled lập chỉ mục trên toàn bộ thư mục Tomcat
- tắt chế độ phát triển trong môi trường sản xuất của tôi
- Tăng modificationTestInterval trong môi trường bảo đảm chất lượng của tôi từ mặc định (4 giây) tới 3600 (1 giờ) [Lưu ý: nó hiện được đặt thành 0 để cố gắng giúp tôi tạo lại vấn đề]
- Đã thay đổi chủ sở hữu trên thư mục công việc Tomcat thành id giống với id mà dịch vụ đang chạy.
Tôi đang trong quá trình chống vi-rút bị tắt trên thư mục công việc để xem điều đó có hữu ích hay không.
Trong khi sự cố này xảy ra trên các máy chủ sản phẩm và máy chủ QA của tôi, nó không xảy ra đối với tôi trên phiên bản Tomcat cục bộ của tôi. Trong thực tế, tôi chưa thấy vấn đề từ máy trạm của tôi ngay cả khi chạy các ứng dụng QA và Prod. Vấn đề này chỉ được nhìn thấy bởi những người khác.
Bạn đã cố xóa tệp lớp đã tạo theo cách thủ công trong khi đăng nhập với tư cách người dùng đang chạy tomcat nào? – Rajesh
Tôi vừa thử làm điều này bằng tay. Nó làm việc miễn là tôi đã làm nó với các đặc quyền quản trị - hoặc là mở cmd với admin privs hoặc trả lời pop-up khi xóa thông qua Windows Explorer. – Spiritis
Tắt quét vi-rút không có tác dụng. Kiểm tra thêm cho thấy vấn đề này chỉ xảy ra khi servlet đang chuyển tiếp tới JSP. Việc truy cập JSP trực tiếp hoạt động tốt. Tôi chỉ thay đổi thư mục công việc để làm cho tài khoản dịch vụ tomcat có toàn quyền kiểm soát một cách rõ ràng. Điều đó cho phép tôi xóa các tệp có id đó mà không phải ủy quyền truy cập quản trị viên. – Spiritis