当servlet发生异常时,java如何重定向到错误页面?
我正在编写一个servlet,如果出现任何异常,我不想在浏览器上显示异常/错误消息,所以我将重定向到我的自定义错误页面。所以我就这样做了:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try{
//Here is all code stuff
}catch(Exception e){
request.getRequestDispatcher("/ErrorPage.jsp").forward(request, response);
e1.printStackTrace();
}
这是正确的方法吗?如果我错了,请纠正我,如果有更好的机制,请告诉我
# 1 楼答案
一种通用的处理方法是使用web。如下所示:
我刚刚加入了IO exception,但你可能会说SQLException,你可以很好地为同样的内容添加另一个错误页面和另一个位置。类似地,你可以说java。lang.异常类型和一个处理所有事情的处理程序
# 2 楼答案
以通用方式处理它的唯一方法是使用
web.xml
,如下所示:servlet被抛出
ServletException
和IOException
,但如果您想在单个异常处理程序中处理运行时异常和所有其他异常,可以将异常类型提供为Throwable
。您可以使用多个错误页面条目来处理不同类型的异常,并具有不同的处理程序示例:
# 3 楼答案
在某些方法中,您将拥有以下内容: