web.xml配置错误页面,及输出错误信息

11 篇文章 0 订阅

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
	 -->	

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>




  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值