Spring MVC学习:配置异常处理器

基于XML文件方式配置

在springmvc.xml文件中配置

<!--    配置异常处理器-->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="全类名异常(例如:java.lang.ArithmeticException)">错误页面</prop>
            </props>
        </property>
    </bean>

在Controller中加入测试代码

 @RequestMapping("/testException")
    public String testException(){
        System.out.println(1/0);
        return "success";
    }

当DispatcherServlet处理请求映射时,如果出现如上异常,则会被异常处理器捕获,跳转到error页面.
当然,也可以将异常信息共享在请求域中

<!--    配置异常处理器-->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="全类名异常(例如:java.lang.ArithmeticException)">错误页面</prop>
            </props>
        </property>
<!-- 以name为键,以value为值 -->
        <property name="exceptionAttribute" value="ex"></property>
    </bean>

基于注解方式配置

>>创建一个控制器

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

@ControllerAdvice
public class ExceptionController {

    @ExceptionHandler(value = {ArithmeticException.class, NullPointerException.class})
    public String testException(Exception ex, Model model){
        //model.addAttribute("ex", ex);
        return "error";
    }
}

上一篇:.Net Core 微服务实战 - Exceptionless


下一篇:RTP/RTCP/RTSP/SIP/SDP 关系(直接看总结)