防止网页上的弹簧错误

时间:2014-04-01 23:15:05

标签: spring spring-mvc error-handling

我正在使用spring MVC 3。 我验证了各种用户输入并显示适用的错误。

但这通常会显示在UI上显示的org.springframework.core.convert.ConversionFailedException等弹出错误。如何防止在网页上输出这些错误?

1 个答案:

答案 0 :(得分:0)

  

注意:

     

我理解,对于主题入门者,我的回答可能不再存在   相关。但是对于访问过此页面的人来说,这可能很有用   寻找类似问题的解决方案。

答案:

为了防止在网页上输出错误,您可以处理它们。有几种类型的错误处理,您可以在Spring MVC 3.x及更高版本中使用它:

  1. 基于控制器的异常处理
  2. 全局异常处理
  3. Other methods, that are bit more complicated
  4. 基于控制器的异常处理

    您可以在控制器内的方法上添加@ExceptionHandler注释。此类方法将充当从同一控制器中注释为@RequestMapping的方法抛出的异常的错误处理程序。

    @ExceptionHandler(Exception.class)
    public ModelAndView handleError(HttpServletRequest req, Exception e) {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("exception", e);
        modelAndView.addObject("url", req.getRequestURL());
        modelAndView.setViewName("error");
        return modelAndView;
    }
    

    全局异常处理

    控制器建议允许您在整个应用程序中应用异常处理,而不仅仅是单个控制器。换句话说,处理将适用于从任何控制器抛出的异常。

    @ControllerAdvice
    class GlobalControllerExceptionHandler {
        public static final String DEFAULT_ERROR_VIEW = "error";
    
        @ExceptionHandler(Exception.class)
        public void handleError(HttpServletRequest req, Exception e) {
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.addObject("exception", e);
            modelAndView.addObject("url", req.getRequestURL());
            modelAndView.setViewName(DEFAULT_ERROR_VIEW);
            return modelAndView;
        }
    }
    
      

    有关详细信息: