`
zuzong
  • 浏览: 112395 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Spring 3.0.5 MVC 异常处理

    博客分类:
  • java
阅读更多
SimpleMappingExceptionResolver
简单,清晰,够用,异常类型与视图的映射,自定义的任何异常类型都可以在这里和错误页面进行映射,颗粒度够细
springmvc.xml
<bean id="webExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="defaultErrorView" 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>


AnnotationMethodHandlerExceptionResolver
Spring 3新增的注解是异常处理,在Control类中加入
@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();
}

也可以将@ExceptionHandle抽象到BaseControl里,不过若用了SimpleMappingExceptionResolver,则@ExceptionHandle会不起作用

HandlerExceptionResolver
自定义异常实现
public class WebExceptionResolver implements HandlerExceptionResolver {
	
	public ModelAndView resolveException(HttpServletRequest request,
			HttpServletResponse response, Object object, Exception e) {
		HttpSession session = request.getSession();
		session.getId();
		//处理异常
		
		return null;
	}

}

springmvc.xml
<bean id="webExceptionResolver" class="com.a.a.WebExceptionResolver"/>



1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics