今天在研究Java的Filter过滤器的时候,过滤网站的全部内容(包括静态内容),这样就导致了即使给静态资源放行了,浏览器响应静态资源的状态码也为200,但是就是加载不进来样式!
后来经过几小时的大战终于找到了报错的原因
引入资源报 Resource interpreted as Stylesheet but transferred with MIME type text/html
经过研究确定是在Filter过滤器响应数据的时候与设置的响应头 Content-Type有关,然后把设置响应头去掉改为设置响应编码,完美解决!
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
/**
* 请求编码格式设置
*/
servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
// servletResponse.setContentType("text/html;charset=utf-8");
效果图: