spring-08-如何解决异常处理

来源:互联网 发布:新垣结衣身高 知乎 编辑:程序博客网 时间:2024/06/01 20:08

1.**全局异常**SimpleMappingExceptionResolver
2.局部异常
3.自定义ExceptionResolver(很少用)

先找局部,局部没有,找全局。

全局异常

在applicationContext.xml中

<!-- 异常处理器 -->    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">        <property name="exceptionMappings">            <props>                <prop key="java.long.Exception">error</prop>            </props>        </property>    </bean>

局部异常

在AgeController中:

//当前Controller异常处理    @ExceptionHandler//局部异常处理方法,仅限于当前的Controller    public String handleException(            HttpServletRequest request,            Exception e){        request.setAttribute("msg", "信息有误,失败!");        return "age";    }

使用自定义的

1.定义异常类:

public class MyExceptionHandler implements HandlerExceptionResolver{    public ModelAndView resolveException(            HttpServletRequest request,            HttpServletResponse response,            Object method, Exception e) {        //将异常信息写入文件        System.out.println("将异常信息写入文件");        //跳转到错误页面        ModelAndView mav = new ModelAndView();        mav.setViewName("error");        return mav;    }}

2.在applicationContext.xml中:

<!-- 使用自定义的ExceptionResolver -->    <bean class="org.tarena.exception.MyExceptionHandler"></bean>
0 0
原创粉丝点击