博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何让Spring MVC显示自定义的404 Not Found页面
阅读量:5994 次
发布时间:2019-06-20

本文共 1494 字,大约阅读时间需要 4 分钟。

hot3.png

不知道大家对千篇一律的404 Not Found的错误页面是否感到腻歪了?其实通过很简单的配置就能够让Spring MVC显示您自定义的404 Not Found错误页面。

在WEB-INF的web.xml里添加一个新的区域:

意思是一旦有404错误发生时,显示resouces文件夹下的404.jsp页面。

404
/resources/404.jsp

现在可以随意开发您喜欢的个性化404错误页面了。

完毕之后,随便访问一个不存在的url,故意造成404错误,就能看到我们刚才配置的自定义404 Not Found页面了。

如果想在Spring MVC里实现一个通用的异常处理逻辑(Exception handler), 能够捕捉所有类型的异常,比如通过下面这种方式抛出的异常,可以按照下面介绍的步骤来做。

1. 新建一个类,继承自SimpleMappingExceptionResolver:

public class GlobalDefaultExceptionHandler extendsSimpleMappingExceptionResolver {public GlobalDefaultExceptionHandler(){System.out.println("GlobalDefaultExceptionHandler constructor called!");}@Overridepublic String buildLogMessage(Exception ex, HttpServletRequest request) {System.out.println("Exception caught by Jerry");ex.printStackTrace();return "Spring MVC exception: " + ex.getLocalizedMessage();}

2. 在Spring MVC的Servlet配置文件里,将刚才创建的类作为一个Bean配置进去:

Bean的ID设置为simpleMappingExceptionResolver,class设置为步骤一创建的类的包含namespace的全名。创建一个名为defaultErrorView的property,其value为generic_error, 指向一个JSP view:generic_error.jsp。

generic_error.jsp的源代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
Generic Error Page of Jerry

Unknown Error Occured, please contact Wang, Jerry.

现在可以做测试了。我之前通过下列语句抛了一个异常:

throw new Exception("Generic Exception raised by Jerry");

这个异常成功地被我自己实现的异常处理类捕捉到,并显示出我自定义的异常显示页面:

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

转载于:https://my.oschina.net/u/3771578/blog/2249791

你可能感兴趣的文章
Linux下安装memcached
查看>>
qt介绍
查看>>
error
查看>>
ASP.NET MVC下使用AngularJs语言(一):Hello your name
查看>>
[书目20111003]Ivor Horton's Beginning Java, Java 7 Edition
查看>>
centos使用yum安装软件的时候出现了undefined symbol: CRYPTO_set_locking_callback
查看>>
对springMVC的简单理解
查看>>
android studio下生成jni头文件
查看>>
最简单的Android教程之自定义控件
查看>>
虚拟 router 原理分析- 每天5分钟玩转 OpenStack(101)
查看>>
使用linux的shell脚本实现在当前行重复动态显示时间等字符串信息(不另起新行)...
查看>>
myeclipse开发代码颜色搭配保护视力
查看>>
iOS开发-数据存储NSCoder
查看>>
SQL Server 存储过程【转】
查看>>
localstorage和sessionstorage上手使用记录
查看>>
荣耀手机缅甸仰光店开业,只有我觉得缅甸美女比较多吗?
查看>>
费德勒三盘击败西里奇摘大满贯第19冠
查看>>
融合数据库技术,降低开源MySQL使用成本实践
查看>>
IDC:全球以太网交换机和路由器市场整体看涨
查看>>
英国零售商:“无协议脱欧”恐让超市空荡荡
查看>>