官网

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;">
您请求的地址不存在,浏览器将在&nbsp;
<font color="red"><span id="txt">10</span></font>&nbsp;秒后返回.&nbsp;&nbsp;
<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异常友好展示的更多相关文章

  1. spring mvc 异常统一处理方式

    springMVC提供的异常处理主要有两种方式: 一种是直接实现自己的HandlerExceptionResolver: 另一种是使用注解的方式实现一个专门用于处理异常的Controller——Exc ...

  2. 【Java Web开发学习】Spring MVC异常统一处理

    [Java Web开发学习]Spring MVC异常统一处理 文采有限,若有错误,欢迎留言指正. 转载:https://www.cnblogs.com/yangchongxing/p/9271900. ...

  3. Spring MVC异常统一处理(包括普通请求异常以及ajax请求异常)

    通常SpringMVC对异常的配置都是返回某个jsp视图给用户,但是通过ajax方式发起请求,即使发生异常,前台也无法获得任何异常提示信息.因此需要对异常进行统一的处理,对于普通请求以及ajax请求的 ...

  4. spring mvc异常统一处理(ControllerAdvice注解)

    首先我的项目是一个为移动端提供的json数据的,当后台报错时如果为移动端返回一个错误页面显得非常不友好,于是通过ControllerAdvice注解返回json数据. 首先创建一个异常处理类: pac ...

  5. Spring MVC异常统一处理的三种方式

    Spring 统一异常处理有 3 种方式,分别为: 使用 @ ExceptionHandler 注解 实现 HandlerExceptionResolver 接口 使用 @controlleradvi ...

  6. spring mvc异常的处理

    1.全局处理 <!-- 总错误处理 --> <bean id="exceptionResolver" class="org.springframewor ...

  7. Spring MVC异常统一处理

    package com.shzq.common.exception; import java.io.PrintWriter;import java.io.StringWriter;import jav ...

  8. spring mvc 异常处理和session添加

    在controller中进行设置 package com.stone.controller; import java.util.HashMap; import java.util.Map; impor ...

  9. spring mvc 异常统一处理

    摘自: http://gaojiewyh.iteye.com/blog/1297746  

随机推荐

  1. 201871010107-公海瑜《面向对象程序设计(Java)》第四周学习总结

       201871010107-公海瑜<面向对象程序设计(Java)>第四周学习总结          项目                                         ...

  2. mysql常用操作(测试必备)

    现在互联网的主流关系型数据库是mysql,掌握其基本的增.删.改.查是每一个测试人员必备的技能. sql语言分类 1.DDL语句(数据库定义语言): 数据库.表.视图.索引.存储过程,例如:CREAT ...

  3. LIST OF BEST OPEN SOURCE BLOCKCHAIN PLATFORMS

    https://www.blockchain-council.org/blockchain/list-of-best-open-source-blockchain-platforms/ Open so ...

  4. springmvc controller层接收List类型的参数

    Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是applica ...

  5. C++中typedef和define的区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...

  6. [RN] React Native代码转换成微信小程序代码的转换引擎工具

    React Native代码转换成微信小程序代码的转换引擎工具 https://github.com/areslabs/alita

  7. bzoj3589 动态树 求链并 容斥

    bzoj3589 动态树 链接 bzoj 思路 求链并. 发现只有最多5条链子,可以容斥. 链交求法:链顶是两条链顶深度大的那个,链底是两个链底的\(lca\) 如果链底深度小于链顶,就说明两条链没有 ...

  8. Docker入门笔记(Centos7)

    centos7 wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo vim docker-c ...

  9. Vue自动化注册全局组件脚本

    今天有一个idea,vue一些组件,可能会全局都用到,我觉得在main.js写 Vue.component(name, instance) 然后很命令式,写着也不好看,想着能够有一个函数可以指定加载比 ...

  10. 微服务异步架构---MQ之RocketMQ

    “我们大家都知道把一个微服务架构变成一个异步架构只需要加一个MQ,现在市面上有很多MQ的开源框架.到底选择哪一个MQ的开源框架才合适呢?” 一.什么是MQ?MQ的原理是什么? MQ就是消息队列,是Me ...