首页 > 代码库 > [Spring MVC] - 500/404错误处理

[Spring MVC] - 500/404错误处理

Spring MVC中404 找不到页面错误可以直接使用web.xml中配置:

在<web-app/>节点内加入:

    <error-page>        <error-code>404</error-code>        <location>/WEB-INF/views/errors/404.jsp</location>    </error-page>

 

500的运行时错误,可以使用Spring MVC的SimpleMappingExceptionResolver配置:

    <!-- 全局异常配置 -->    <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">        <property name="exceptionMappings">            <props>                <prop key="java.lang.Exception">errors/500</prop>                <prop key="java.lang.Throwable">errors/500</prop>            </props>        </property>        <property name="statusCodes">            <props>                <prop key="errors/500">500</prop>            </props>        </property>        <!-- 设置日志输出级别,不定义则默认不输出警告等错误日志信息 -->        <property name="warnLogCategory" value="WARN"></property>        <!-- 默认错误页面,当找不到上面mappings中指定的异常对应视图时,使用本默认配置 -->        <property name="defaultErrorView" value="errors/500"></property>        <!-- 默认HTTP状态码 -->        <property name="defaultStatusCode" value="500"></property>    </bean>

对应500错误的view jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!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=UTF-8"><title>500 Error</title></head><body>    <% Exception ex = (Exception)request.getAttribute("exception"); %>    <H2>Exception: <%= ex.getMessage()%></H2>    <P/>    <% ex.printStackTrace(new java.io.PrintWriter(out)); %></body></html>

测试:

 

另外,也可以使用继承HandlerExceptionResolver来处理500的错误。

 

参考文章引用:

http://www.cnblogs.com/xguo/p/3163519.html

 

[Spring MVC] - 500/404错误处理