`

自定义web错误页与找不到页(400与500)

    博客分类:
  • j2ee
 
阅读更多

在web.xml中定义如下XML:

        <error-page>
		<exception-type>java.lang.Throwable</exception-type>
		<location>/WEB-INF/views/error/500.jsp</location>
	</error-page>
	<error-page>
		<error-code>500</error-code>
		<location>/WEB-INF/views/error/500.jsp</location>
	</error-page>
	<error-page>
		<error-code>404</error-code>
		<location>/WEB-INF/views/error/404.jsp</location>
	</error-page>

 在 web项目的/WEB-INF/views/error文件夹下定义404.jsp与500.jsp

404.jsp示例:

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%response.setStatus(200);%>

<!DOCTYPE html>
<html>
<head>
	<title>404 - 页面不存在</title>
</head>

<body>
	<h2>404 - 页面不存在.</h2>
	<p><a href="<c:url value="/"/>">返回首页</a></p>
</body>
</html>

 500.jsp示例:

<%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="org.slf4j.Logger,org.slf4j.LoggerFactory" %>
<%response.setStatus(200);%>

<%
	Throwable ex = null;
	if (exception != null)
		ex = exception;
	if (request.getAttribute("javax.servlet.error.exception") != null)
		ex = (Throwable) request.getAttribute("javax.servlet.error.exception");

	//记录日志
	Logger logger = LoggerFactory.getLogger("500.jsp");
	logger.error(ex.getMessage(), ex);
%>

<!DOCTYPE html>
<html>
<head>
	<title>500 - 系统内部错误</title>
</head>

<body>
	<h2>500 - 系统发生内部错误.</h2>
	<p><a href="<c:url value="/"/>">返回首页</a></p>
</body>
</html>

 

然后服务器的所有报错都会跳转到500.jsp,所有页面找不到的请求都会转发到404.jsp.

其中500.jsp与404.jsp可根据自己项目灵活定制.

注意不要少了 <%response.setStatus(200);%> 这句话,以设置服务器返回的HTTP状态!

分享到:
评论

相关推荐

    apache-custom-error-page:apache的自定义错误页面

    针对Apache Web服务器的自定义错误页面模板(针对移动设备进行了优化,CSS3) 指示 将所有文件复制到服务器的根目录 将这些行添加到您的.htaccess文件中: #Custom Error pages ErrorDocument 400 /error.php ...

    .net中自定义错误页面的实现方法

    .net中自定义异常页面的重定向都是通过web.config配置页面配置实现,其具体的实现方式有两种方式,下面话不多说了,来一起看看详细的介绍吧。 其一、通过节点system.web新增customErrors配置节点实现 IIS环境需求:...

    ASP.NET4高级程序设计(第4版) 3/3

    14.7.2 使用XslCompiledTransform 500 14.7.3 使用Xml控件 501 14.7.4 使用LINQ to XML转换XML 502 14.8 XML数据绑定 504 14.8.1 非层次化绑定 504 14.8.2 使用XPath 506 14.8.3 嵌套的网格 508 14.8....

    PHP和MySQL Web开发第4版pdf以及源码

    14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 ...

    android开发入门与实战(下)

    11.3.2 可以赚钱了——发布到AndroidMarket 11.4 本章小结 第12章 Android综合案例一——RSS阅读器实例 12.1 RSS介绍 12.1.1 RSS基础 12.1.2 RSS的历史 12.1.3 RSS语法介绍 12.2 SAX介绍 12.2.1 SAX基础 12.2.2 ...

    Safe3 Web蜘蛛爬行漏洞扫描系统 v9.6

    目前,大多是采用一系列已知攻击手段进行手工检测,且工作量巨大,由于时间关系以及各类网站系统的复杂性程度不同,通常得不到真正有效的评估,国内能从事此类工作的技术人员往往较少,用户最终得到的评估报告往往...

    PHP和MySQL WEB开发(第4版)

    14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 下一章 ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    手动优化了PDF的书签,书签可折叠,书签链接以目录方式保存,多达1000多页,每页都做了书签定位,手都累酸啦。 ============================== 因权限只能到60MB,分卷压缩了,共3个压缩包,需下载完3个一起解压, ...

    Errorism:在错误页面上执行更多操作。 一款简单易用PHP错误软件-开源

    类似于错误404,401、500、403等的页面。显示具有多个主题的错误,并使用所有更改和外观进行更新。 无需任何类型的数据库。 易于安装,体积小并且基于简单的代码,它远不止于此。 您不必担心错误页面,因为我们很...

    Safe3 Web漏洞扫描系统企业版v10.1特别版

    目前,大多是采用一系列已知攻击手段进行手工检测,且工作量巨大,由于时间关系以及各类网站系统的复杂性程度不同,通常得不到真正有效的评估,国内能从事此类工作的技术人员往往较少,用户最终得到的评估报告往往仅...

    bbs 论坛1.9.3多语言版源码

    2. 修复原版中当发表需要审核的话题或从首页以外的页面进入login页面时URLRewrite定位错误找不到资源的Bug; 3. 修复原版中FlatEarth皮肤下JavaScript脚本报错的Bug; 4. 新增允许为浏览器中显示的URL增加自定义前缀...

    ASP.NET的网页代码模型及生命周期

    但是与.cs页面编译过程不同的是,当浏览者第一次浏览到.aspx页面时,ASP.NET自动生成该页的.NET类文件,并将其编译成另一个.DLL文件。 当浏览者再一次浏览该页面的时候,生成的.DLL就会在服务器上运行,并响应用户在...

    PHP和MySQL Web开发第4版

    14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 ...

    meerkat:轻量级嵌入式 Web 服务器

    极其轻量级,内核不到 40kB,运行时占用空间很小 支持单线程或多线程使用的异步、非阻塞内核 稳定、成熟且经过测试,在持续改进和完善方面投入了数年的人力物力 注意:Meerkat 不支持 HTTPS、CGI、SSI、

    自定义基于jQuery的客户端表单验证工具

    做健壮的可交互的web应用时,离不开表单输入数据的校验工作,不对输入的数据做验证,很难保证程序不出现错误。表单数据验证一般分为客户端验证和服务器端验证。客户端验证是利用Javascript/DOM技术,对表单域输入的...

    web路径探测工具 7kbscan-WebPathBrute 1.5.8 (集成三字典)

    五、自定义错误页面关键字这个针对修改了错误页面的网站的功能大家常用所以我也不在这里多啰嗦了。 六、http访问方法HEAD GET POST 三种方式,head请求扫描速度最快但是准确率不如以下两种,post请求是为某些情况绕...

    IIS6.0 IIS,互联网信息服务

    多个域名对应同个Web站点 你只需先将某个IP地址绑定到Web站点上,再在DNS服务器中,将所需域名全部映射向你的这个IP地址上,则你在浏览器中输入任何一个域名,都会直接得到所设置好的那个网站的内容。 搭建IIS服务器...

    400个DreamWeaver插件

    400个插件,下面的详细列表: mxp/ColdFusion中的Include mxp/80多个国家的一个下拉菜单,在某些时候的确挺方便的 mxp/检查当前文件的兼容性和可能包含的错误,并会给出详细的检测报告 mxp/在代码编辑框中选择一段...

Global site tag (gtag.js) - Google Analytics