(1) JSPでcssが適用されない(Resouce interpreted as Stylesheet but transferred with MIME type)事象のトラブルシューティング記録
(1-1) 発生状況・エラーメッセージ
(1-2) 原因
(1-3) 対処
(1-4) エラーからの学び
(1) JSPでcssが適用されない(Resouce interpreted as Stylesheet but transferred with MIME type)事象のトラブルシューティング記録
(1-1) 発生状況・エラーメッセージ
JSPに正しくcssを読み込んでいるにも関わらず、cssが正しく適用されない事象でした。
(エラーメッセージ)
Resource interpreted as Stylesheet but transferred with MIME type text/html: “[cssのパス]".
Content-Type: text/html;charset=UTF-8
(1-2) 原因
原因はフィルタークラスのプログラムで意図せず「ContentType」の設定をしていた事が原因でした。
response.setContentType("text/html; charset=UTF-8");
(1-3) 対処
前述の通り、フィルタークラスにて「ContentType」をセットしていたのが原因のため、そこをコメントアウトする事で正常に動作しました。
(修正後)setContentTypeをコメントアウト
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); //# ↓コメントアウト //response.setContentType("text/html; charset=UTF-8"); chain.doFilter(request, response); }
(1-4) エラーからの学び
フィルタークラスは共通的に適用できる利便性がある反面、意図しない処理に対してもフィルターが適用されてしまう危険もあるため、本当に共通的に適用したい設定に絞って記述をし、それ以外は個別に記述していく必要がある事を学びとして感じました。