Spring 3.0.5 MVC 异常处理
SimpleMappingExceptionResolver
简单,清晰,够用,异常类型与视图的映射,自定义的任何异常类型都可以在这里和错误页面进行映射,颗粒度够细
springmvc.xml
<bean id="webExceptionResolver" value="redirect:/error.jsp?flag=defaultErrorView" /><property name="exceptionMappings"><props><prop key="com.a.a.a.exception.BaseServiceException">redirect:/error.jsp?flag=BaseServiceException</prop><prop key="java.lang.RuntimeException">redirect:/error.jsp?flag=RuntimeException</prop></props></property></bean>
@RequestMapping("exception")public void throwException() {throw new RuntimeException("This is the runtime exception");}@ExceptionHandler(Exception.class)public @ResponseBody String handleException(Exception ex) {return ex.getMessage();}
public class WebExceptionResolver implements HandlerExceptionResolver {public ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response, Object object, Exception e) {HttpSession session = request.getSession();session.getId();//处理异常return null;}}
<bean id="webExceptionResolver" class="com.a.a.WebExceptionResolver"/>