最近写项目,添加了某个拦截器之后,发现css、js、img等静态资源被拦截:
现象:项目添加登录验证的拦截器之后,清空浏览器缓存数据,再次运行项目,login页面会丢失样式、图片、js等静态资源,如果成功登录,以上静态资源会被浏览器加载并缓存,再次跳转到login.jsp会发现静态资源都已正常。
原因:第一次登录静态资源被拦截,因此样式乱。
解决方案:拦截器中遇到静态资源请求放行:
String requestURI = request.getRequestURI(); //请求参数
requestURI.indexOf("/img/") != -1 放行
requestURI.indexOf("/css/") != -1 放行
requestURI.indexOf("/js/") != -1 放行
以上indexOf()方法可以换成contains()方法。
示例代码如下:
package com.ssm.interceptor;
import org.springframework.web.servlet.H