zoukankan      html  css  js  c++  java
  • web.xml配置错误页面,及输出错误信息

    1.需要在web.xml中配置相关信息

    1. <!-- 默认的错误处理页面 -->  
    2.     <error-page>  
    3.         <error-code>403</error-code>  
    4.         <location>/403.html</location>  
    5.     </error-page>  
    6.     <error-page>  
    7.         <error-code>404</error-code>  
    8.         <location>/404.html</location>  
    9.     </error-page>  
    10.     <!-- 仅仅在调试的时候注视掉,在正式部署的时候不能注释 -->  
    11.     <!-- 这样配置也是可以的,表示发生500错误的时候,转到500.jsp页面处理。 -->  
    12.     <error-page>   
    13.         <error-code>500</error-code>   
    14.         <location>/500.html</location>   
    15.     </error-page>   
    16.       
    17.     <!-- 这样的配置表示如果jsp页面或者servlet发生java.lang.Exception类型(当然包含子类)的异常就会转到500.jsp页面处理。 -->  
    18.     <error-page>   
    19.         <exception-type>java.lang.Exception</exception-type>   
    20.         <location>/500.jsp</location>   
    21.     </error-page>   
    22.       
    23.     <error-page>   
    24.         <exception-type>java.lang.Throwable</exception-type>   
    25.         <location>/500.jsp</location>   
    26.     </error-page>  
    27.     <!--   
    28.     当error-code和exception-type都配置时,exception-type配置的页面优先级高  
    29.     及出现500错误,发生异常Exception时会跳转到500.jsp  
    30.      -->   
    <!-- 默认的错误处理页面 -->
    	<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.获取异常信息及输出

    1. <%@page import="java.io.PrintStream"%>  
    2. <%@page import="java.io.ByteArrayOutputStream"%>  
    3. <%@ include file="WEB-INF/views/includes/tags.jsp"%>  
    4. <%@ page language="java" contentType="text/html; charset=UTF-8"  
    5.     pageEncoding="UTF-8" isErrorPage="true"%>  
    6. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    7. <html>  
    8. <head>  
    9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    10. <title>500 服务器内部错误</title>  
    11. </head>  
    12. <body>  
    13.  <div class="ui-alert-panel">  
    14.         <h1>服务器内部错误</h1>  
    15.         <p>处理您的请求时发生错误!请确认您通过正确途径操作。</p>  
    16.     </div>  
    17.   <div style="display:none;">  
    18.   <%  //此处输出异常信息  
    19.       exception.printStackTrace();  
    20.   
    21.       ByteArrayOutputStream ostr = new ByteArrayOutputStream();  
    22.       exception.printStackTrace(new PrintStream(ostr));  
    23.       out.print(ostr);  
    24.   %>  
    25.   </div>  
    26. </body>  
    27. </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>
  • 相关阅读:
    Android 千牛数据库分析
    Flutter 你需要知道的那些事 01
    Flutter 异常处理之图片篇
    Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)
    Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信
    Flutter 即学即用系列博客——06 超实用 Widget 集锦
    Kingfisher-swift缓存图片框架
    swift冒泡排序,swift快速排序,swift归并排序,swift插入排序,swift基数排序
    swift声明属性为某个类型同时遵循某协议
    Xcode真机运行报错iPhone has denied the launch request
  • 原文地址:https://www.cnblogs.com/firstdream/p/8398922.html
Copyright © 2011-2022 走看看