Jsp中css样式失效的问题
昨天遇到了css样式失效的问题,很是蛋疼。查阅了网上很多资料,大部分说的都不是很清楚,我根据我经历的坑 总结一下几点
首先看css路径是否正确
一般情况下css路径由/项目名/css/xxxxx
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/index.css">
然后打开F12验证是否成功
(https://img-blog.csdnimg.cn/20200322102023203.png)
200全部成功
可是呢为什么我的css连接成功了我还是不能显示css样式呢
我们点开index.css 查看里面的情况重点来了
可以看到这边是css格式的 在之前我这边是text/html格式
网上的几种方法
1: 如果jsp页面中有<!doctype html> 去掉
不可取 因为去掉这个就不是按照w3c要求来严格渲染了
2: 全局过滤器
设置了全局过滤器 可能会把css过滤掉,这边我没有设置全局过滤器 所以不是这个问题
但是过滤器能帮你定位问题
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse)resp;
String url = request.getRequestURI();
System.out.println(url);
if (url.contains(".css")||url.contains(".js")){
chain.doFilter(request,response);
}else {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
chain.doFilter(request,response);
}
}
过滤器过滤范围为所有请求连接
我这边输出了URL 如果前边的css请求 那肯定会输出出来
如图
3:css错误
开始的时候没有输出 所以还剩下最后一点了 css错误
将css样式检查一遍 可能这就是问题所在了
因为这个错误
真的修了很久
记得测试的时候谷歌浏览器
点上清除缓存