Spring MVC 異常處理

Spring MVC 通過HandlerExcoptionResolver 處理程序異常,包括處理器異常、數據綁定異常以及處理器執行時發生的異常。

當發生異常時,Spring MVC 會調用 resolverExcoption()方法,並轉到ModelAndView 對應的視圖中,作爲一個異常報告頁面反饋給用戶。

對於異常處理,我們一般分爲局部異常處理和全局異常處理。

1、局部異常處理

局部異常處理,僅能處理指定的 Controller 中的異常,使用@ExceptionHandler 註解實現。

@ExceptionHandler(RuntimeException.class)
    public String handlerEecoption(RuntimeException e,HttpServletRequest req){
        req.setAttribute("e",e);
        return "error";
    }

 

2、全局異常處理

全局異常處理可以使用SimpleMapperExcoptionResolver 來實現,他將異常類名映射爲視圖名,即發生異常時使用對應的視圖報告異常。

在 Spring MVC 配置文件中添加如下代碼:

    <!-- 全局異常處理 -->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <!--可以定義多個異常-->
                <prop key="java.lang.RuntimeException">error</prop>
            </props>
        </property>
    </bean>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章