Spring ControllerAdvice ExceptionHandler不起作用

时间:2015-11-21 10:20:36

标签: java spring tomcat

我试图使用ExceptionHandler拦截tomcat默认的404页面。 我想做的就是在404的情况下显示索引页。

@ControllerAdvice
public class AdvisorController {

@ExceptionHandler(NoHandlerFoundException.class)
public String handle404(Exception ex) {
    return "index";
}
}

但遗憾的是我只能看到tomcat默认的404页面。

我的网络初始化程序如下所示:

public class CRManWebAppInitializer implements WebApplicationInitializer {

@Override
public void onStartup(ServletContext servletContext) throws ServletException {
    AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
    //ctx.register(CRManMVCConfig.class);
    ctx.register(CRManMVCConfig.class, CRManJPAConfig.class, CRManSecurityConfig.class);
    ctx.setServletContext(servletContext);

    servletContext.addListener(new ContextLoaderListener(ctx));

    DispatcherServlet dispatcherServlet = new DispatcherServlet(ctx);
    dispatcherServlet.setThrowExceptionIfNoHandlerFound(true);

    Dynamic registration = servletContext.addServlet("dispatcher", dispatcherServlet);
    registration.setLoadOnStartup(1);
    registration.addMapping("/");
}
}

请帮忙。我做错了什么?

1 个答案:

答案 0 :(得分:2)

我发现了问题:

    compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0'

删除后一切正常。也许它会帮助某人