友好的错误提示页面,我们可以自定义错误页面: webxml中的配置 步骤如下: 一、打开WEB-INF文件夹下web.xml文件; 二、在里面新增: <!-- 404 页面不存在错误 --> <error-page> <error-code>404</error-code> <location>/errorpage404.htm</location> </error-page> <!-- 500 服务器内部错误 --> <error-page> <error-code>500</error-code> <location>/errorpage500.htm</location> </error-page> <!-- java.lang.Exception异常错误,依据这个标记可定义多个类似错误提示 --> <error-page> <exception-type>java.lang.Exception</exception-type> <location>/exception.htm</location> </error-page> 三、保存web.xml文件,重启应用服务器。 在web.xml中,可以使用exception-type标签或HTTP状态码error-code标签声明错误页面。 根据异常类声明错误页面: <error-page> <exception-type>java.io.IOException</exception-type> <location>/error.jsp</location> </error-page> exception-type指定的必须是一个Throwable,并且这个类在容器的类路径下能够被找到。 根据HTTP状态码声明错误页面: <error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> 使用error-page标签的要点: ① 不论是根据exception-type还是error-code来声明错误页面,location指定的路径必须以斜线开头,也就是说它是相对于Web应用根的。 ② 一个web.xml中可以使用多个error-page标签,一个error-page标签中只能使用一个exception-type或error-page。 在JSP中,可以在page指令中通过errorPage属性来指定错误页面: <%@ page errorPage="error.jsp" %> 容器会为错误页面提供一个exception对象,不过要想在错误页面里访问这个对象,必须在错误页面里指定isErrorPage属性: error.jsp <%@ page isErrorPage="true" %> 然后,在scriptlet中就可以使用隐式对象exception,在EL中可以使用EL隐式对象${pageContext.exception}。 其它要点: 如果是JSP中抛出的异常,容器首先查看JSP中有没有指定errorPage属性,如果没有,再查看web.xml中有没有error-page标签;如果是Web应用中的其它地方抛出异常,容器只会查看web.xml中的error-page标签。可以通过HttpServletResponse.sendError()方法来发送错误的HTTP状态码: response.sendError(HttpServletResponse.SC_FORBIDDEN);
本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1360635,如需转载请自行联系原作者