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