servlet组件发现异常后会将其信息存入request吗?
在web.xml中配置了error-page,使异常由继承了HttpServlet的ErrorServlet处理
在其service方法中有下列代码:
Throwable throwable =
(Throwable)request.getAttribute("javax.servlet.error.exception");
System.out.println(throwable);
Integer statusCode =
(Integer)request.getAttribute("javax.servlet.error.status_code");
System.out.println(statusCode);
String servletName =
(String)request.getAttribute("javax.servlet.error.servlet_name");
System.out.println(servletName);
产生相应异常后可以取到值。
为什么可以用request取到值?异常产生后Servlet对它做了什么?
http://www.cnblogs.com/zkn11199/p/5600340.html
发现异常后,可以忽略,可以重定向
是你自己写的Servlet中有未处理的异常吗?如果是后台异常,那么这个请求响应结果就是500,如果是JSP页面的异常,异常信息就会直接显示到响应页面了。
可以交给系统处理,也可以自定义处理,(是什么问题就返回什么异常提示),没有存到Request,是将异常信息抛出到控制台(也就是日志),也可以将异常响应到页面上;