jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  在spring mvc中,对异常的处理,可以小结有如下两类写法:
1 <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
   <props>
    <prop key="java.sql.SQLException">showDBError</prop>
        <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">maxUploadExceeded</prop>
   </props>
  </property>
 </bean>
这里,用的是.SimpleMappingExceptionResolver,并且为每个异常都专门设置了一个单独的.jsp文件,比如这里的showDBerror.jsp
去处理,这里的上传文件超过大小的话,是个异常,也用另外的一个maxuploadexceed来处理了.

2 ,还可以这样,自己实现.HandlerExceptionResolver

public class MyHandlerExceptionResolver implements HandlerExceptionResolver {

    private Log log = LogFactory.getLog(getClass());

    public ModelAndView resolveException(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex) {
        log.warn("Handle exception: " + ex.getClass().getName());
              
        Map model = new HashMap();
        model.put("ex", ex.getClass().getSimpleName());
        model.put("error", ex.getMessage());
        return new ModelAndView("error", model);
    }
这样的话,就统一把异常都交个error.jsp这个view层去显示了,当然这里可以再包装一下了
   

posted on 2008-07-12 00:49  jackyrong的世界  阅读(1789)  评论(0编辑  收藏  举报