SpringMVC學習筆記四:SimpleMappingExceptionResolver異常處理

SpringMVC的異常處理,SimpleMappingExceptionResolver只能簡單的處理異常html

當發生異常的時候,根據發生的異常類型跳轉到指定的頁面來顯示異常信息java

ExceptionController.java 處理器web

package com.orange.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.orange.exception.NameException;
import com.orange.exception.PasswordException;

@Controller
@RequestMapping("/exception")
public class ExceptionController {

    @RequestMapping("/simple")
    public String doException(){
        
        int i = 3 / 0;
        
        return "/showException.jsp";
    }
    
}

 

defaultException.jsp 發生異常跳轉的頁面spring

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>    
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<base href="<%=basePath %>">
<title>DefaultExceptionPage</title>
</head>
<body>
 ERROR! DefaultExceptionPage<br>
 message: <c:out value="${ex.message }"></c:out>
</body>
</html>

springMVC配置SimpleMappingExceptionResolverapp

     <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <!-- 指定全部沒有指定的異常,都跳轉到該頁面 -->
        <property name="defaultErrorView" value="/defaultException.jsp" />
        <!-- 跳轉時攜帶異常對象 -->
        <property name="exceptionAttribute" value="ex"></property>
    </bean> 
相關文章
相關標籤/搜索