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

相關文章
相關標籤/搜索