spring mvc 異常處理

在web項目中對項目進行全局的異常配置。

配置方法一:

web.xml修改

① 404狀態碼

<error-page>

<error-code>404</error-code>

<location>/public/404.html</location>

</error-page>

② 404狀態碼

<error-page>

<error-code>400</error-code>

<location>/public/404.html</location>

</error-page>

③ 500狀態碼

<error-page>

<error-code>500</error-code>

<location>/public/500.html</location>

</error-page>

④ 其他狀態碼

<error-page>

   <exception-type>java.lang.Exception</exception-type>

   <location>/public/500.html</location>

</error-page>


配置方法二:

利用實現HandlerExceptionResolver接口控制跳轉。下面是servlet實現類的配置方式

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">

<property name="exceptionMappings">

<props>

<prop key="java.lang.Throwable">exception/exception</prop>

</props>

</property>

</bean>

自己定以實現類:

@SuppressWarnings("serial")

@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)

public class ServerInnerErrorException extends RuntimeException {


}


public class ExceptionResolveHandler implements HandlerExceptionResolver {

private static final Logger LOG = LogManager.getLogger(InfosSearchController.class);


@Override

public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,

Exception ex) {

LOG.error("server inner exception:", ex);

throw new ServerInnerErrorException();

}


}


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