问题描述

  • 火狐

    css 未载入,因为它的 MIME 类型 "text/html" 不是 "text/css"
  • chrome

    Resource interpreted as Stylesheet but transferred with MIME type text/html: css失效

产生原因

过滤器过滤路径设置为 : /*

对页面所有请求进行了过滤,该过滤中将text/css文件转为了text/html类型,所以页面会提示mime类型 "text/html"不是"text/css"

解决方案

过滤器设置忽略静态文件,不要对静态文件进行过滤

public class CharacterEncodingFilter extends HttpFilter {


    @Override
    public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
        //解决POST 请求乱码
        request.setCharacterEncoding("UTF-8");

        String URI = request.getRequestURI() ;
        //    排除静态页面
        if (URI.contains(".css") || URI.contains(".js") || URI.contains(".png")) {
            chain.doFilter(request, response);
            return ;
        }
        //解决响应乱码
        response.setContentType("text/html;charset=UTF-8");
        //放行请求
        chain.doFilter(request,response);
    }
}
最后修改:2022 年 03 月 24 日 08 : 58 PM