论坛首页 入门讨论版 Spring

spring mvc异常请教

浏览 278 次
该帖已经被评为新手帖
作者 正文
最后更新时间:2008-07-07
我是用spring mvc+hibernate的,在处理异常时,我目前发现有两种处理方法,
其一:
  <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>
   用这样的处理方法的话,需要为每个异常指定一个页面,比如上面的MaxUploadSizeExceededException,
就是上传文件出现超过文件大小的异常,指定用maxUploadExceeded.jsp来处理异常,这里则可以写些友好的异常信息.
  其二,自己实现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);
    }
  但这样的话,就会把异常的原来的信息(不友好的)都显示给页面了,
大家来讨论下哪种方法好呢?或者有什么更好的方法?
   
最后更新时间:2008-07-20
自己顶一个,大家来探讨下
   
0 请登录后投票
论坛首页 入门讨论版 Spring

跳转论坛:
JavaEye推荐