【发布时间】:2012-12-19 08:47:50
【问题描述】:
我在一个场景中抛出异常。由@ExceptionHandler 处理。但是当抛出异常时,它会说 Request method 'POST' not supported
控制器代码
@RequestMapping(value = "abcd", method = {RequestMethod.POST,RequestMethod.GET })
public String testAbc(Model model, HttpServletRequest request) throws Exception {
//some piece of code
if(someCondition)
throw new Exception("No data found with id ");
}
ExceptionController 类中的代码
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception ex, HttpServletRequest request, HttpServletResponse response) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("errorMessage", ex.getMessage());
modelAndView.addObject("errorDetails", ExceptionUtils.getStackTrace(ex));
modelAndView.setViewName("forward:errorPage");
return modelAndView;
}
不知道我做错了什么。
【问题讨论】:
-
这是什么意思?你的异常处理程序?难道只是你的第一行抛出了这个异常,而你正在捕捉它,而你自己的异常并没有真正发挥作用吗?
-
否。方法中有一些业务逻辑,一个条件应该抛出错误,这是在具有方法handleException的ExceptionController中处理的。
标签: java post spring-mvc exception-handling modelandview