1
我要讓調度員拋出一個異常時,我想轉發給不存在的資源,這裏是我的代碼Dispatcher不會拋出異常
String page = (String) request.getAttribute("page"); //page to be forwarded form servlet to jsp
if (page == null) {
page = request.getParameter("page");//page to be forwarded form jsp to servlet
}
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/InstitutionPages/" + page + ".jsp");
try {
dispatcher.forward(request, response);
} catch (IOException ex) {
ex.printStackTrace();
LogoutServlet.redirectToLoginPage(request, response);
} catch (javax.servlet.ServletException e) {
e.printStackTrace();
Logger.getLogger(RegistrarManagementServlet.class.getName()).log(Level.SEVERE, null, e);
LogoutServlet.redirectToLoginPage(request, response);
} catch (java.lang.IllegalArgumentException e) {
e.printStackTrace();
LogoutServlet.redirectToLoginPage(request, response);
}
頁,我送無效的頁面名稱,但控制檯上出現此錯誤
SEVERE: PWC6117: File "D:\versions\v30\OnlineQuerySystem_New\build\web\WEB-INF\InstitutionPages\Registerkk.jsp" not found
沒有打印任何一個堆棧軌跡!
同樣,在轉發時應該發生異常 – palAlaa
添加了代碼以執行您正在查找的內容。 –
1- getRealPath不會到達web-inf內部的文件。 2-當在doGet()中引發異常時,所有異常都會出現在jsp頁面中,這是不推薦的。 – palAlaa