web.xml配置錯誤頁面,及輸出錯誤信息
阿新 • • 發佈:2018-02-01
tools b- 出錯 print exce str 異常信息 csdn ()
1.需要在web.xml中配置相關信息
[html] view plain copy print?- <!-- 默認的錯誤處理頁面 -->
- <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.獲取異常信息及輸出
[html] view plain copy print?- <%@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>
web.xml配置錯誤頁面,及輸出錯誤信息