资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

SpringMVC中怎么自定义404NotFound页面

这篇文章给大家介绍Spring MVC中怎么自定义404 Not Found页面,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站设计、河口网络推广、重庆小程序开发、河口网络营销、河口企业策划、河口品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供河口建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

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

Spring MVC中怎么自定义404 Not Found页面

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

404/resources/404.jsp

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

Spring MVC中怎么自定义404 Not Found页面

Spring MVC中怎么自定义404 Not Found页面

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

Spring MVC中怎么自定义404 Not Found页面

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

Spring MVC中怎么自定义404 Not Found页面

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配置进去:

Spring MVC中怎么自定义404 Not Found页面

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");

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

Spring MVC中怎么自定义404 Not Found页面

关于Spring MVC中怎么自定义404 Not Found页面就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:SpringMVC中怎么自定义404NotFound页面
链接地址:http://cdkjz.cn/article/jjddoc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220