CSS样式无法加载
# 具体遇到的问题
引入中文乱码的过滤器EncodeFilter后,为什么CSS样式无法加载了
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
过滤器
public class EncodeFilter implements Filter {
private String encoding;
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest req = (HttpServletRequest)request;
req.setCharacterEncoding(encoding);
HttpServletResponse res= (HttpServletResponse)response;
res.setContentType("text/html;charset=" + encoding);
System.out.println("中文乱码过滤器已生效");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
encoding=filterConfig.getInitParameter("encoding");
//System.out.println(encoding);
}
}
web.xml配置文件
<filter>
<filter-name>EncodeFilter</filter-name>
<filter-class>com.imooc.book.filter.EncodeFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
正在回答 回答被采纳积分+1
同学你好,
1、上述代码并没有问题哟,建议同学查看AuthFilter过滤器,查看是否有拦截css等文件。如果有拦截,则建议同学将其放行。如下所示(需结合自身代码进行修改):
HttpServletRequest req =(HttpServletRequest) request; String url=req.getRequestURI(); if(url.indexOf(".css")>0||url.indexOf(".jpg")>0||url.indexOf(".png")>0) { chain.doFilter(request, response); return; }
2. 建议同学清除缓存浏览器与Tomcat缓存,然后重新进行测试。如下所示:
浏览器:Ctrl+R 、Ctrl+F5(强制刷新)
Tomcat:
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星