問題描述
瀏覽器輸入路徑後回車,頁面顯示出來,但未正常顯示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>
效果如何,試過便知。