问题描述
浏览器输入路径后回车,页面显示出来,但未正常显示CSS美化结果。
按F12进行浏览器端的调试,发现Console报黄色警告:Resource interpreted as Stylesheet but transferred with MIME type text/html和红色错误:Uncaught ReferenceError: $ is not defined。
- 黄色警告指:CSS文件请求过来了,但被翻译成了HTML文件;
- 红色错误指:Jquery未加载成功(JSP中未使用其他包功能,如EL,JSTL);
问题原因
网上搜索,发现了两种原因:
- 由于设置:response.setContentType("text/html;charset=utf-8");导致;
- 由于设置全局过滤器(Filter过滤设置为:/*)导致;
解决方法
-
原因1导致的,可判断请求为CSS,则设置response.setContentType("text/css;charset=utf-8");'''
- 原因2:Filter设置CSS文件请求过滤器:
<filter-mapping>
<filter-name>FilterCss</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
效果如何,试过便知。