就在周五快下班的时候,看到测试组的MM们在做着最后的项目测试,一个的404/500高频率的出现,(因为我在加于那个项目组的时候项目做8899了,我也只是做了一下结尾的部分)说真的那项目做的真的不怎么样,很多很多的细节方面的东东都没有考虑到.boss都来敷衍了,唉!我这新来的,也就不了了之了.在那会我就想到了一个问题,有没有捕获301/404/500错误的办法呢!出错了也给一个友好人性化的错误提示吧!!!google一看,网上都一大把,因为元旦嘛!也只是那会在公司查了一下资料看了一下!藐似只需要简单的在web.xml中做简单的配置,也没怎么来实践.所以今下午就来试试牛刀.
1.只需要在web.xml中加上
<error-page>
<!--自定义捕获404错误页面-->
<error-code>404</error-code>
<location>/common/404.jsp</location>
</error-page>
<error-page>
<!--自定义捕获500错误页面-->
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
404.jsp页面可以自己来发挥你超强的想象力自己来设计.这是我的:
500.jsp页面
也上网看了一下,一般都是这样来写,这样写一般都可以来精确定位错误.我试了又试的.这里就直接上代码了:
<%@ page language="java" contentType="text/html; charset=GBK"
isErrorPage="true" pageEncoding="GBK"%>
<%@ page import="java.io.*,java.util.*"%>
<%
response.setStatus(HttpServletResponse.SC_OK);
%>
<html>
<body>
程序发生了错误,有可能该页面正在调试或者是设计上的缺陷.
<br />
你可以选择
<br />
<a href=<%=request.getContextPath() + "/forum/new.jsp"%>>反馈</a>
提醒我... 或者
<font color="red" size="50">自定义500错误页面!!! </font>
<br />
<a href="javascript:history.go(-1)">返回上一页</a>
<hr width=80%>
<h2><font color=#DB1260>JSP Error Page</font></h2>
<p>An exception was thrown: <b>
<%=exception.getClass()%>:<%=exception.getMessage()%></b></p>
<%
System.out.println("Header....");
Enumeration<String> e = request.getHeaderNames();
String key;
while (e.hasMoreElements()) {
key = e.nextElement();
System.out.println(key + "=" + request.getHeader(key));
}
System.out.println("Attribute....");
e = request.getAttributeNames();
while (e.hasMoreElements()) {
key = e.nextElement();
System.out.println(key + "=" + request.getAttribute(key));
}
System.out.println("Parameter....");
e = request.getParameterNames();
while (e.hasMoreElements()) {
key = e.nextElement();
System.out.println(key + "=" + request.getParameter(key));
}
%>
<%=request.getAttribute("javax.servlet.forward.request_uri")%><br>
<%=request.getAttribute("javax.servlet.forward.servlet_path")%>
<p>With the following stack trace:</p>
<pre>
<%
exception.printStackTrace();
ByteArrayOutputStream ostr = new ByteArrayOutputStream();
exception.printStackTrace(new PrintStream(ostr));
out.print(ostr);
%>
</pre>
<hr width=80%>
</body>
</html>
- 大小: 57.4 KB
- 大小: 48.8 KB
分享到:
相关推荐
C# 捕获C/C++异常的例子
支持易语言程序代码自设SEH捕获异常
Visual C++源代码 23 如何使用主线程异常捕获错误Visual C++源代码 23 如何使用主线程异常捕获错误Visual C++源代码 23 如何使用主线程异常捕获错误Visual C++源代码 23 如何使用主线程异常捕获错误Visual C++源代码...
解决dubbo接口自定义异常的捕捉问题,dubbo消费者可以捕捉到提供者所抛出的自定义异常。
本实例配套博文《Android 异常捕获》http://www.cnblogs.com/scetopcsa/p/4237595.html
android在产品上线以后为了能够实时捕获异常,需要写一个异常捕获的类,这个类在你遇到异常的时候会执行uncaughtException这个方法,然后你就可以对异常进行一些操作。
WPF全局异常捕获Demo,防止程序运行过程中出现异常崩溃
20.java多异常捕获.zip20.java多异常捕获.zip20.java多异常捕获.zip20.java多异常捕获.zip20.java多异常捕获.zip20.java多异常捕获.zip20.java多异常捕获.zip20.java多异常捕获.zip20.java多异常捕获.zip20.java多...
自己编写异常类型 ,自定义错误异常进行全局捕捉。实现项目全局的拦截定义输出。。。
android全局异常捕获 exception_global
在程序开发过程中,主要是捕获Release版异常,并打印出异常的地址,出错行,出错代码,等,哦,好像少不错了个其它异常了,如果需要再给我留言吧
Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual ...
安卓全局异常捕获
涵盖全局异常捕获以及服务器加密上传
该资源包含了一个android全局异常捕获的代码,当应用发生异常的时候,会将该异常存放到sdcard上。
全局异常捕获,并保存在本地,用户再次打开可以传到服务器
在应用程序中安装一个异常捕获模块,已经成为一种标配了。通过这个异常捕获模块,去感知(捕获)应用程序中发生的异常或崩溃,自动生成包含异常上下文的dump文件。事后使用Windbg去分析dump文件,去分析软件异常!这...
Android异常捕获机制
一个可以捕获全局异常的方法,省去在代码中进行异常方法的添加,并且直接输出日志
Android捕获全局异常并写日志保存到sd卡,捕获异常消息后输出这个消息,可避免APP强制退出,抛出NullPointException玩玩哈,捕获全局异常是因为有的异常我们捕获不到,捕获时我们采用同步方法,以免单例多线程环境下...