Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止网页上出现spring错误_Spring_Spring Mvc_Error Handling - Fatal编程技术网

防止网页上出现spring错误

防止网页上出现spring错误,spring,spring-mvc,error-handling,Spring,Spring Mvc,Error Handling,我使用的是SpringMVC3。 我验证各种用户输入,并在适用时显示错误 但这通常会显示spring错误,如UI上显示的org.springframework.core.convert.ConversionFailedException等。如何防止在网页上输出这些错误 注意: 我明白,对于主题初学者,我的答案可能不再是 相关的但是,对于那些访问过此页面的用户来说,它可能非常有用 寻找类似问题的解决方案 答复: 为了防止在网页上输出错误,您可以处理它们。您可以在Spring MVC 3.x及更高版

我使用的是SpringMVC3。 我验证各种用户输入,并在适用时显示错误

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

注意:

我明白,对于主题初学者,我的答案可能不再是 相关的但是,对于那些访问过此页面的用户来说,它可能非常有用 寻找类似问题的解决方案

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

  • 基于控制器的异常处理
  • 全局异常处理
  • 基于控制器的异常处理 您可以在控制器内的方法上添加@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;
        }
    }
    
    全局异常处理 控制器建议允许您在整个应用程序中应用异常处理,而不仅仅是单个控制器。换句话说,处理将应用于从任何控制器抛出的异常

    @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;
        }
    }
    
    有关更多信息:


    我不知道你想达到什么目的。如果要解决异常,请将完整的stackstrace和代码的validation部分放入。我希望DispatcherServlet捕获所有spring错误,而不是浏览器上的输出。如果要解决异常,可以按照本教程进行操作。