Trong JSP, bạn có thể sử dụng response.sendError(int code, String message)
để trả lại mã lỗi cụ thể (ví dụ: 404 không tìm thấy) và một thông báo. Các thông báo này hiển thị tốt, miễn là bạn sử dụng các trang lỗi Tomcat xấu xí mặc định. Tuy nhiên, nếu bạn tạo trang lỗi tùy chỉnh, bạn nhận được thông báo đó bằng cách nào? Tôi đã thử exception.getMessage()
hoặc pageContext.getErrorData()
nhưng không có kết quả. Tôi đã tìm kiếm điều này trong nhiều giờ và không ai có vẻ ngạc nhiên về điều tương tự! : SCách nhận thư trong trang lỗi tùy chỉnh (Tomcat)?
Tôi quên đề cập đến tôi đã chỉ thử nó với 404 cho đến nay, vì đó là những gì tôi cần nhất ... Ngoại lệ là null vì lý do nào đó, vì vậy hãy thử bất cứ điều gì trên nó ném một NullPointerException. Trang lỗi là trang lỗi 404, được đặt qua web.xml (vì tôi muốn trang này hiển thị cho mọi lỗi 404 đơn lẻ) và cho bất cứ ai tự hỏi, có nó có chỉ thị isErrorPage được đặt thành true ...
Có trang 404 tuỳ chỉnh của bạn không bao giờ làm việc? Làm thế nào để bạn kiểm tra xem nó hoạt động? Bạn có kiểm tra xem các thuộc tính yêu cầu được đề cập bên dưới có tồn tại không? Cuối cùng hãy thử hướng dẫn này http://playground.greyscale.se/wiki/en/Custom_404_page_in_Tomcat – jitter
Không có nó hoạt động tốt. Tôi chỉ không biết làm thế nào để có được thông báo, nếu được thiết lập thông qua response.sendError(). –
response.sendError() sẽ gửi lỗi tới trình duyệt của khách hàng của bạn. Nó sẽ không đi đến trang lỗi của bạn sau đó trừ khi bạn sẽ làm điều đó cho mình tôi nghĩ. –