Spring MVC自定義異常頁面

jopen 11年前發布 | 25K 次閱讀 Spring MVC Web框架

因工作需要自己添加一個異常頁面,弄完小結一下,具體項目配置如下:

spring-mvc.xml:

<!-- 將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頁面。

myException.jsp:可以根據需要設置自定義異常頁面信息

<%@ 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添加如下配置:

<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>

這樣配置完成后,在系統發生異常時,異常頁面就會顯示為自定義的友好頁面。

當然異常類型也可以自定義。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!