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
随机推荐
- Pandas | 24 常用图形绘制
基本绘图:绘图 Series和DataFrame上的这个功能只是使用matplotlib库的plot()方法的简单包装实现. import pandas as pd import numpy as n ...
- Windbg Register(寄存器)窗口的使用
寄存器是位于在 CPU 的小易失性内存单位. 许多寄存器专用于特定用途,并可用于用户模式应用程序使用的其他寄存器. 基于 x86 和基于 x64 的处理器在有可用的寄存器的不同集合. 如何打开寄存器窗 ...
- Java 并发系列之四:java 多线程
1. 线程简介 2. 启动和终止线程 3. 对象及变量的并发访问 4. 线程间通信 5. 线程池技术 6. Timer定时器 7. 单例模式 8. SimpleDateFormat 9. txt ja ...
- 配置keepalived支持nginx高可用
实验环境 序号 主机名 IP地址 1 nginx1 192.168.204.11 2 nginx2 192.168.204.12 安装nginx 安装nginx yum install -y epel ...
- 课后选做题-MyOD
课后选做题-MyOD od命令的了解 功能 od命令用于将指定文件内容以八进制.十进制.十六进制.浮点格式或ASCII编码字符方式显示,通常用于显示或查看文件中不能直接显示在终端的字符.od命令系统默 ...
- flink安装启动(docker)
参考https://hub.docker.com/_/flink/ 相关端口The Web Client is on port 8081JobManager RPC port 6123TaskMana ...
- 不让应用的日志输出到message文件中
有时我们制定一个应用的日志输出到一个文件的时候例如: (百度了好久都百度不好,这里记录一下时间2015年12月7日16:28:39) local7.* ...
- CentOS环境设置Hbase自启动
1.在/etc/init.d/目录创建hbase文件 #!/bin/bash # chkconfig: #export JAVA_HOME=/usr/local/jdk1.8.0_191 HBASE_ ...
- cad.net 块裁剪边界反向修剪
Querying for XCLIP information inside AutoCAD using .NET 这里下面观众讨论了 How do I determine if an x-clip ...
- Maven 教程(21)— maven-compiler-plugin 插件详解--
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/80236077 maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样 ...