今天在研究Java的Filter過濾器的時候,過濾網站的全部內容(包括靜態內容),這樣就導致了即使給靜態資源放行了,瀏覽器響應靜態資源的狀態碼也為200,但是就是加載不進來樣式!
后來經過幾小時的大戰終於找到了報錯的原因
引入資源報 Resource interpreted as Stylesheet but transferred with MIME type text/html
經過研究確定是在Filter過濾器響應數據的時候與設置的響應頭 Content-Type有關,然后把設置響應頭去掉改為設置響應編碼,完美解決!
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { /** * 請求編碼格式設置 */ servletRequest.setCharacterEncoding("utf-8"); servletResponse.setCharacterEncoding("utf-8"); // servletResponse.setContentType("text/html;charset=utf-8");
效果圖: