spring mvc异常处理设置

来源:互联网 发布:unity arpg战斗源码 编辑:程序博客网 时间:2024/06/03 20:57
最近使用spring mvc开发一个web系统,发现在controller里发生未捕获异常时不出日志。

分析DispatcherServlet,初始化handlerExceptionResolvers
        /** * Initialize the strategy objects that this servlet uses. * <p>May be overridden in subclasses in order to initialize * further strategy objects. */protected void initStrategies(ApplicationContext context) {initMultipartResolver(context);initLocaleResolver(context);initThemeResolver(context);initHandlerMappings(context);initHandlerAdapters(context);// 初始化异常处理支持器initHandlerExceptionResolvers(context);initRequestToViewNameTranslator(context);initViewResolvers(context);}// 进入初始化处理方法,具体内容就不贴了,主要是先到上下文中搜寻我们自己定义的ExceptionResolvers,如果没有自定义的resolvers,从默认配置中读取。private void initHandlerExceptionResolvers(ApplicationContext context)// 从默认策略中取得默认配置,从DispatcherServlet.properties文件中取得相关的配置策略,但是在spring2.5的mvc jar包中properties文件中没有HandlerExceptionResolver的默认配置,返回一个EmptyList给handlerExceptionResolversprotected List getDefaultStrategies(ApplicationContext context, Class strategyInterface)


分析DispatcherServlet,分发处理请求
// 从dispatch方法中看到,系统对请求进行具体的逻辑处理部分被catch住了一次exception,然后会使用servlet持有的ExceptionResolver进行处理protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {…………………………………………………………………………

具体:http://www.verydemo.com/demo_c143_i145.html

0 0
原创粉丝点击