遇到一個很傻的問題。
表現:
畫面可以訪問到資源文件(css,js等),刷新下,訪問不到,再刷新,又可以訪問到。
畫面出錯
java.lang.NullPointerException com.lee.web.interceptor.MainInterceptor.postHandle(MainInterceptor.java:30) org.springframework.web.servlet.HandlerExecutionChain.applyPostHandle(HandlerExecutionChain.java:149) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:934) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) org.springframework.web.servlet.FrameworkServlet.proce***equest(FrameworkServlet.java:936) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
原因是攔截器裏調用了modelAndView.getViewName()
如果是資源的話,modelAndView是null。
開始認爲配置了<mvc:resources location="/resources/" mapping="/resources/**"/>,資源文件的請求就不會被攔截,其實開始會被攔截的。調用時判斷一下即可。