今天写了个拦截,开始我没清空缓存的时候登入页面引入的 js 与 img 均正常使用,当我清空缓存 ,js 与 img显示都不正常 ,浏览器控制台显示图片状态码 200,经过一番搜索发现原来是被filter拦截了.
原代码
web.xml
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
CharacterEncodingFilte.java
String uri = req.getRequestURI();
HttpSession session = req.getSession(false);
if (session==null || session.getAttribute("user") ==null){
/*因为有frameset窗口 跳转后可能会造成ui混乱*/
resp.getWriter().println("<script>");
resp.getWriter().println("self.top.location.href='/egov'");
resp.getWriter().println("</script>");
return;
}
filterChain.doFilter(servletRequest,servletResponse);
}
后发现修改CharacterEncodingFilte.java里面的拦截条件即可放行
String uri = req.getRequestURI();
HttpSession session = req.getSession(false);
if ((session==null || session.getAttribute("user") ==null)&& (!uri.endsWith(".css")&&!uri.endsWith(".js"))){
/*因为有frameset窗口 跳转后可能会造成ui混乱*/
resp.getWriter().println("<script>");
resp.getWriter().println("self.top.location.href='/egov'");
resp.getWriter().println("</script>");
return;
}
filterChain.doFilter(servletRequest,servletResponse);
}
问题解决~