1、servlet异常如何处理?
方式一:
使用转发
step1,绑订错误提示信息到request对象上,然后转发给相应的错误处理页面。
step2,编写错误处理页面。
有以下两种情况:
情况一:
Servlet:
request.setAttribute("error", "系统繁忙,请稍后重试!"); request.getRequestDispatcher("error.jsp").forward(request, response);
JSP:
<body>
<%=(String)request.getAttribute("error") %>
</body>
情况二:
Servlet: request.getRequestDispatcher("error.jsp").forward(request, response);
JSP:
<body>
<h1>系统出错,请稍后重试!</h1>
</body>
方式二:
让容器处理
step1,将异常抛给容器
step2,编写一个错误处理页面,并且配置:
web.XML:
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
Servlet:
throw new ServletException();
方式三:
使用重定向:
response.sendRedirect(“error.jsp”);
注:服务器出现异常后,如果servlet.java中没有捕获异常并处理,那么异常会自动交给容器进行处理,容器会查找web.xml配置中是否有错误处理页面的配置,如果找不到就会向浏览器返回异常信息。