Spring MVC 异常,怎样显示比较友好?

2023-05-16

        本文基于Spring MVC 注解,让Spring跑起来。

        实施过程中完全没有任何异常,测试过程中也没出错,偏偏在客户试用过程中报错了。报错了,怎样给客户友好界面?两个方法:一,别出错;二,一旦错了,尽量给一个友好界面。

        友好界面是设计师的事,程序员的事就是让错误显示在设计师设计好的界面上。

        在src/applicationContext.xml中添加如下代码:

        <!-- 异常控制 -->
	<bean id="exceptionResolver"
		class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="defaultErrorView" value="/exception" />
		<property name="exceptionMappings">
			<props>
				<prop key="java.lang.Exception">/exception</prop>
			</props>
		</property>
	</bean>

        这一段代码可使程序运行过程中出现Exception时,自动跳转到/WEB-INF/pages/exception.jsp页面,而在exception.jsp页面以如下方式获取异常:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
	function showErrors() {
		var err_el = document.getElementById('errors');
		if (err_el.style.display == 'none') {
			err_el.style.display = '';
		} else {
			err_el.style.display = 'none';
		}
	}
</script>
</head>
<body>
	${exception.message },您可以
	<a href="javascript:showErrors();">查看详情</a>或直接
	<a href="javascript:reback();">返回</a>。
	<div style="display: none; color: red;" id="errors">
		<c:forEach items="${exception.stackTrace }" var="e">
	${e }<br />
		</c:forEach>
	</div>

</body>
</html>
        当然,这远没有达到“友好界面”,请对exception.jsp页面重新改造,让它看起来顺眼一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC 异常,怎样显示比较友好? 的相关文章

随机推荐

  • 网站项目通过ip地址访问而不通过localhost访问的配置方法

    1 到E AppServ Apache2 2 conf xff08 apache的安装地址中 xff0c 可能不相同 xff09 xff0c 找到httpd conf文件 再打开该文件 xff0c 找到里面的 xff1a Listen 19
  • Java中判断String不为空的问题

    一 判断一个字符串str不为空的方法有 xff1a 1 str 61 null 2 34 34 equals str 3 str length 61 0 注意 xff1a length是属性 xff0c 一般集合类对象拥有的属性 xff0c
  • java中String值为空字符串与null的判断方法

    Java空字符串与null的区别 1 类型 null表示的是一个对象的值 xff0c 而不是一个字符串 例如声明一个对象的引用 xff0c String a 61 null 表示的是一个空字符串 xff0c 也就是说它的长度为0 例如声明一
  • RouterOS 6.48.6 安装与配置

    手头刚好有台旧的Dell服务器 xff0c 板载两个网口 xff0c 后来又扩展了一个4网口的网卡这样就有了六个网口 xff0c 用它安装RouterOS xff0c 来实现NTH多线路带宽叠加 xff0c 以及来做PCC负载均衡的实验就足
  • java.lang.IllegalStateException Unable to find a @SpringBootConfiguration错误解决方案(亲测)

    问题描述 java lang IllegalStateException Unable to find a 64 SpringBootConfiguration you need to use 64 ContextConfiguration
  • 迅雷出现应版权方要求,无法下载的解决办法

    最近在电影天堂下电影 xff0c 特别是热播的一些电视剧 xff0c 用迅雷下载总是提示应版权方要求 xff0c 无法下载 VIP会员都没用 xff0c 没办法 xff0c 用浏览器下载吧 xff0c 总是连不上FTP服务器 xff0c 网
  • Uncaught TypeError: Cannot set property ‘0‘ of undefined

    因为用java用的比较习惯了 xff0c 在js使用二维数组的时候也想当然的直接就如 var arraydata arraydata 0 61 data list 0 结果问题随之而来 xff0c 报错 xff1a Uncaught Typ
  • Ubuntu通过修改配置文件进行网络配置

    Ubuntu系统进行网络配置有的时候用图形界面不起作用 xff0c 这种情况下可以直接修改某些启动脚本或配置文件 Ubuntu系统进行网络配置涉及到几个配置文件 1 etc network interfaces 2 etc resolv c
  • vscode常用的9个插件,推荐给你们

    1 Settings Sync 开发必备神器之一 xff01 可以帮助你在不同的设备之间同步vscode所有的配置 插件 xff01 xff01 虽然配置有好几个步骤 xff0c 但是一旦配置好了之后使用非常的方便 xff0c 只需要记住快
  • 在Windows10上安装WSL子系统

    目录 一 安装WSL2 0 二 安装Ubuntu20 04LTS 三 配置ssh 四 设置分发版本 五 常见问题解决 5 1 安装失败并出现错误 0x80070003 5 2 WslRegisterDistribution 失败并出现错误
  • 安装mysql5.7后无法启动,/var/run/mysqld 目录每次重启后都需要手动去创建

    mysql5 7安装后出现无法启动 xff0c 建立 var run mysqld 并赋权mysql用户解决了启动的问题 xff0c 但是重启系统后又出现无法启动的问题 xff0c 导致 var run mysqld 目录每次重启后都需要手
  • Git使用教程

    1 版本控制 1 1 简介 版本控制 Revision control 是一种在开发的过程中用于 管理我们对文件 目录或工程等内容的修改历史 方便查看更改历史记录 备份以便恢复以前的版本的软件工程技术 实现跨区域多人协同开发 追踪和记载 个
  • [leetcode]解码方法(Decode Ways)

    解码方法 xff08 Decode Ways xff09 一条包含字母 A Z 的消息通过以下方式进行了编码 xff1a 39 A 39 gt 1 39 B 39 gt 2 39 Z 39 gt 26 给定一个只包含数字的非空字符串 xff
  • C#调用FluentFTP将文件批量上传到ftp服务器

    上篇文章介绍了在Windows Server 2008上搭建FTP服务 xff0c 本文测试使用C 调用FluentFTP将文件批量上传到ftp服务器 FluentFTP是由C 开发的开源FTP和FTPS库 xff0c 其开源地址见参考文献
  • RouterOS 通过NTH/PCC设置多线负载均衡及带宽叠加

    关于NTH的相关原理 xff0c 请大家移步RouterOS Nth与Passthrough 务必要多看几遍 xff0c 彻底把原理看明白了 xff0c 然后再上机实验就能收到事半功倍的效果 如果大家原理不明白 xff0c 仅靠看别人的文档
  • Windows及Ubuntu下安装PyCharm

    之前编写Python程序 xff0c 在Windows下面主要使用的记事本或者Python自带的IDLE工具 xff0c Ubuntu下主要是在VSCode中编写 xff0c 编写或调试程序都比较麻烦 xff0c 百度了一下 xff0c 目
  • android app 设置以太网静态Ip

    写文目的 公司是做工控和楼宇智能方面产品 xff0c 使用的设备有rk和全志平台 xff0c 运行的是android操作系统 xff0c 部分场景需要设置有线网络的静态Ip 所以针对这一需求做了如下工作 xff0c 并以此文作为总结 遇到的
  • python神经网络案例——CNN卷积神经网络实现mnist手写体识别

    转自 xff1a https blog csdn net luanpeng825485697 article details 79088938 全栈工程师开发手册 xff08 作者 xff1a 栾鹏 xff09 python教程全解 CNN
  • Java删除字符串中的指定字符

    Java删除字符串中的指定字符有以下两种方法 xff1a 1 替换函数 xff0c 替换成空白 String test 61 chaojimali test 61 test replace chaoji 2 截取函数 xff0c 删除字符
  • Spring MVC 异常,怎样显示比较友好?

    本文基于Spring MVC 注解 xff0c 让Spring跑起来 实施过程中完全没有任何异常 xff0c 测试过程中也没出错 xff0c 偏偏在客户试用过程中报错了 报错了 xff0c 怎样给客户友好界面 xff1f 两个方法 xff1