Spring MVC异常友好展示
官网
https://docs.spring.io/spring/docs/4.3.25.RELEASE/spring-framework-reference/htmlsingle/

Springmvc.xml
配置springmvc.xml,出现exception返回的界面和对应code返回的界面。
不知道为啥httpcode不起作用,网上也没查到相关资料,于是httpcode对应的异常只能用web.xml实现。
<!-- 异常友好展示 -->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!-- 默认配置,没有配置的异常或者httpcode返回500,指定异常为ex,前端可以用${ex.message}显示异常信息-->
<property name="defaultErrorView" value="errorpages/500"/>
<property name="defaultStatusCode" value="500"/>
<property name="exceptionAttribute" value="ex"/>
<property name="warnLogCategory" value="WARN"/>
<!-- Exception对应的jsp -->
<property name="exceptionMappings">
<props>
<!-- java.lang.RunTimeException异常返回errorpages/500.jsp页面,其他同理 -->
<prop key="java.lang.RunTimeException">errorpages/500</prop>
<prop key="java.sql.SQLException">errorpages/500</prop>
<prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">errorpages/upLoadFileError</prop>
</props>
</property>
<!-- code对应的jsp -->
<property name="statusCodes">
<props>
<!-- 404对应errorpages/404.jsp -->
<prop key="errorpages/404">404</prop>
<prop key="errorpages/404">400</prop>
</props>
</property>
</bean>
/errorpages/404.jsp
显示一段时间后自动返回.
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>error(404)</title>
<meta charset="utf-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script type="text/javascript">
var m=9;
function init(){
var t=document.getElementById("txt");
interval=window.setInterval(function(){
t.innerText=m+"";
if(m<=0){
window.clearInterval(interval);
window.history.go(-1);
}
m--;
}, 1000);
}
</script>
</head>
<body onload="init();">
<div style="vertical-align: center;text-align: center;width:auto;height:auto;margin-top: 180px;">
您请求的地址不存在,浏览器将在
<font color="red"><span id="txt">10</span></font> 秒后返回.
<a href="javascript:window.history.go(-1);">立即返回</a>
</div>
</body>
</html>
/errorpages/500.jsp
显示报错
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>请求错误(500)</title>
<meta charset="utf-8"/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script type="text/javascript">
</script>
</head>
<body>
<div>
请求错误,错误信息如下:${ex.message}
</div>
</body>
</html>
web.xml
配置httpcode
<error-page>
<error-code>404</error-code>
<location>/errorpages/404.jsp</location>
</error-page> <error-page>
<error-code>400</error-code>
<location>/errorpages/400.jsp</location>
</error-page>
Spring MVC异常友好展示的更多相关文章
- spring mvc 异常统一处理方式
springMVC提供的异常处理主要有两种方式: 一种是直接实现自己的HandlerExceptionResolver: 另一种是使用注解的方式实现一个专门用于处理异常的Controller——Exc ...
- 【Java Web开发学习】Spring MVC异常统一处理
[Java Web开发学习]Spring MVC异常统一处理 文采有限,若有错误,欢迎留言指正. 转载:https://www.cnblogs.com/yangchongxing/p/9271900. ...
- Spring MVC异常统一处理(包括普通请求异常以及ajax请求异常)
通常SpringMVC对异常的配置都是返回某个jsp视图给用户,但是通过ajax方式发起请求,即使发生异常,前台也无法获得任何异常提示信息.因此需要对异常进行统一的处理,对于普通请求以及ajax请求的 ...
- spring mvc异常统一处理(ControllerAdvice注解)
首先我的项目是一个为移动端提供的json数据的,当后台报错时如果为移动端返回一个错误页面显得非常不友好,于是通过ControllerAdvice注解返回json数据. 首先创建一个异常处理类: pac ...
- Spring MVC异常统一处理的三种方式
Spring 统一异常处理有 3 种方式,分别为: 使用 @ ExceptionHandler 注解 实现 HandlerExceptionResolver 接口 使用 @controlleradvi ...
- spring mvc异常的处理
1.全局处理 <!-- 总错误处理 --> <bean id="exceptionResolver" class="org.springframewor ...
- Spring MVC异常统一处理
package com.shzq.common.exception; import java.io.PrintWriter;import java.io.StringWriter;import jav ...
- spring mvc 异常处理和session添加
在controller中进行设置 package com.stone.controller; import java.util.HashMap; import java.util.Map; impor ...
- spring mvc 异常统一处理
摘自: http://gaojiewyh.iteye.com/blog/1297746
随机推荐
- python 解决粘包问题的例子(ftp文件的上传与下载)简单版本
服务端 ! /user/bin/env python3 -- coding:utf_8 -- """ Author:Markli # 2019/9/9,16:41 &qu ...
- 3.创建Manager类,演示对TestUser进行增删改查功能
接上一篇文章 创建NHibernateHelper帮助类,生成sessionFactory http://www.cnblogs.com/fzxiaoyi/p/8443587.html 创建个新的类M ...
- 【笔试题】python文件操作
请说出下面代码结果及原因,很easy. 说明:test.txt文件不存在 with open('test.txt','w+') as f: f.write('34') f.seek(0) f.writ ...
- 01-Eigen的安装
Ubuntu下: 使用的IDE是Kdevelop.(使用别的也可以) 安装Kdevelop的方法见: http://www.cnblogs.com/alexYuin/p/8989228.html 1. ...
- JDOJ 1606 数字三角形
JDOJ 1606: 数字三角形 JDOJ传送门 Description 输入n,输出n的数字三角形 见样例 Input n Output n的数字三角形 Sample Input 4 Sample ...
- 5.服务注册与发现Consul,简学API,手动注册和删除服务
package main import ( httptransport "github.com/go-kit/kit/transport/http" mymux "git ...
- Java 的API(API: Application(应用) Programming(程序) Interface(接口))
按 ctrl 点击查看源代码: 一.equals方法: 1.用于比较两个对象是否相同. 2.Objec 类中,若两边是引用数据类型,比较的是两个对象的内存地址. 3.Objec 类中,若两边是数值类型 ...
- Linux中一些命令的区别
1. yum provides 和 yum search provides是在文件中查找软件,类似于rpm -qf: search是查找软件包或其描述的关键字. 2. gzip 和 bzip2 对 ...
- ESA2GJK1DH1K升级篇: STM32远程乒乓升级,升级流程源码详细说明
前言 1.BootLoader程序,升级简要流程图 2.其实主要的就是把程序文件写入环形队列,然后环形队列取出来数据写入Flash 3.用户程序,简要流程图 下面的读一下,有个印象就可以: 说白了就是 ...
- jsonp原理,跨域请求头处理
一.jsonp(解决跨域)思路介绍: 因浏览器的同源策略不会拦截link标签内的src请求,所以利用这一点,我们把后端开放的接口路径放在src内, 其在发送请求后会自动接收返回的东西,所以我们可以给要 ...