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