Spring MVC自定义异常页面

因工做须要本身添加一个异常页面,弄完小结一下,具体项目配置以下:html

spring-mvc.xml:
java

<!-- 将Controller抛出的异常转到特定View, 保持SiteMesh的装饰效果 -->
	<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
		<property name="exceptionMappings">  
			<props>  
				<prop key="java.lang.Throwable">error/myException</prop>
            </props>  
		</property>  
        </bean>

上面的定义异常处理部分的解释为:只要发生了Exception异常,就会自动跳转到WEB-INF/views/myException.jsp页面。web

myException.jsp:能够根据须要设置自定义异常页面信息
spring

<%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="org.slf4j.Logger,org.slf4j.LoggerFactory" %>
<%response.setStatus(200);%>

<%
        Exception ex = (Exception) request.getAttribute("javax.servlet.error.exception");
	//记录日志
	Logger logger = LoggerFactory.getLogger("myException.jsp");
	logger.error(ex.getMessage(), ex);
%>

<!DOCTYPE html>
<html>
<head>
	<title>Exception - 异常信息</title>
</head>

<body>
	<h2>Exception - 异常信息.</h2>
</body>
</html>

在web.xml添加以下配置:spring-mvc

<error-page>
		<exception-type>java.lang.Throwable</exception-type>
		<location>/WEB-INF/views/error/myException.jsp</location>
	</error-page>
		<error-page>
		<error-code>404</error-code>
		<location>/WEB-INF/views/error/404.jsp</location>
	</error-page>

这样配置完成后,在系统发生异常时,异常页面就会显示为自定义的友好页面。mvc

固然异常类型也能够自定义。
app

相关文章
相关标签/搜索