web.xml配置错误页面,及输出错误信息
1.需要在web.xml中配置相关信息
- <!-- 默认的错误处理页面 -->
- <error-page>
- <error-code>403</error-code>
- <location>/403.html</location>
- </error-page>
- <error-page>
- <error-code>404</error-code>
- <location>/404.html</location>
- </error-page>
- <!-- 仅仅在调试的时候注视掉,在正式部署的时候不能注释 -->
- <!-- 这样配置也是可以的,表示发生500错误的时候,转到500.jsp页面处理。 -->
- <error-page>
- <error-code>500</error-code>
- <location>/500.html</location>
- </error-page>
- <!-- 这样的配置表示如果jsp页面或者servlet发生java.lang.Exception类型(当然包含子类)的异常就会转到500.jsp页面处理。 -->
- <error-page>
- <exception-type>java.lang.Exception</exception-type>
- <location>/500.jsp</location>
- </error-page>
- <error-page>
- <exception-type>java.lang.Throwable</exception-type>
- <location>/500.jsp</location>
- </error-page>
- <!--
- 当error-code和exception-type都配置时,exception-type配置的页面优先级高
- 及出现500错误,发生异常Exception时会跳转到500.jsp
- -->
<!-- 默认的错误处理页面 --> <error-page> <error-code>403</error-code> <location>/403.html</location> </error-page> <error-page> <error-code>404</error-code> <location>/404.html</location> </error-page> <!-- 仅仅在调试的时候注视掉,在正式部署的时候不能注释 --> <!-- 这样配置也是可以的,表示发生500错误的时候,转到500.jsp页面处理。 --> <error-page> <error-code>500</error-code> <location>/500.html</location> </error-page> <!-- 这样的配置表示如果jsp页面或者servlet发生java.lang.Exception类型(当然包含子类)的异常就会转到500.jsp页面处理。 --> <error-page> <exception-type>java.lang.Exception</exception-type> <location>/500.jsp</location> </error-page> <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/500.jsp</location> </error-page> <!-- 当error-code和exception-type都配置时,exception-type配置的页面优先级高 及出现500错误,发生异常Exception时会跳转到500.jsp -->
2.如果配置是html时,不用另做配置
如果配置是Jsp时,需要把isErrorPage设置为true,
及<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%>
3.获取异常信息及输出
- <%@page import="java.io.PrintStream"%>
- <%@page import="java.io.ByteArrayOutputStream"%>
- <%@ include file="WEB-INF/views/includes/tags.jsp"%>
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8" isErrorPage="true"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>500 服务器内部错误</title>
- </head>
- <body>
- <div class="ui-alert-panel">
- <h1>服务器内部错误</h1>
- <p>处理您的请求时发生错误!请确认您通过正确途径操作。</p>
- </div>
- <div style="display:none;">
- <% //此处输出异常信息
- exception.printStackTrace();
- ByteArrayOutputStream ostr = new ByteArrayOutputStream();
- exception.printStackTrace(new PrintStream(ostr));
- out.print(ostr);
- %>
- </div>
- </body>
- </html>
<%@page import="java.io.PrintStream"%> <%@page import="java.io.ByteArrayOutputStream"%> <%@ include file="WEB-INF/views/includes/tags.jsp"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>500 服务器内部错误</title> </head> <body> <div class="ui-alert-panel"> <h1>服务器内部错误</h1> <p>处理您的请求时发生错误!请确认您通过正确途径操作。</p> </div> <div style="display:none;"> <% //此处输出异常信息 exception.printStackTrace(); ByteArrayOutputStream ostr = new ByteArrayOutputStream(); exception.printStackTrace(new PrintStream(ostr)); out.print(ostr); %> </div> </body> </html>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!