Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

HTML/css Java JSP/Servlet

JSPでcssが適用されない(Resouce interpreted as Stylesheet but transferred with MIME type)事象のトラブルシューティング記録

投稿日:2021年4月19日 更新日:

<目次>

(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のパス]".
 
実際に開発者ツール(F12)等でネットワークトラフィックを見ても、cssの読み込み自体は正常に出来ていました。

 

(図111)cssは読み込めている

しかし、エラーメッセージにも書かれている通り、MIMEタイプが指定されているとメッセージが出ており、実際にレスポンスヘッダーには「Content-Type: text/html;~」となっており、想定していた「text/css;」にはなっていませんでした。

 

●レスポンスヘッダーの「Content-Type」
Content-Type: text/html;charset=UTF-8
(図112)

目次にもどる

(1-2) 原因

原因はフィルタークラスのプログラムで意図せず「ContentType」の設定をしていた事が原因でした。

response.setContentType("text/html; charset=UTF-8");
 
フィルタークラスはデフォルトではHTTPリクエストの前後で実行されるため、cssを読み込むリクエストに対しても意図せず「ContentType」がセットされてしまっていました事が原因でした。
 

(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);
}
(図131)
上記の修正を適用した結果、cssが正しくJSP画面に適用されるようになりました。

(図132)

目次にもどる

(1-4) エラーからの学び

フィルタークラスは共通的に適用できる利便性がある反面、意図しない処理に対してもフィルターが適用されてしまう危険もあるため、本当に共通的に適用したい設定に絞って記述をし、それ以外は個別に記述していく必要がある事を学びとして感じました。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-HTML/css, Java, JSP/Servlet

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

JavaのDequeの概要や使い方+サンプルプログラムもご紹介

<目次> (1) JavaのDequeの概要や使い方+サンプルプログラムもご紹介  (1-1) Dequeとは?  (1-2) Dequeを実装したクラス  (1-3) Dequeの使い方  (1-4 …

Javaのswitch-case文の構文や使い方を紹介+UFOキャッチャーの座標移動プログラムも紹介

<目次> (1) Javaのswitch-case文の構文や使い方を紹介  (1-1) switch-caseの構文  (1-2) else-if文との比較 (2) サンプルプログラムの紹介  (2- …

JFreeChartを使ってJavaで様々なグラフを簡単に描画する方法

(0)目次&概説 (1) 記事の目的  (1-1) 目的 (2) JFreeChartの概要  (2-1) JFreeChartとは?  (2-2) JFreeChartのアーキテクチャについて (3 …

JNDIとは?JDBCとの違いやメリット・デメリットについてもご紹介

<目次> (1) JNDIとは?JDBCとの違いやメリット・デメリットについてもご紹介  (1-1) JDBCとは?  (1-2) JNDIとは?   (1-2-1) 概要   (1-2-2) JND …

セッションIDとは?JSPでsessionを保存&取得するサンプルプログラムと代表的なメソッド紹介

(0)目次&概説 (1) セッションとは  (1-1) 概要  (1-2) サンプルプログラム   (1-2-1) 概要&画面遷移   (1-2-2) HelloSession.jsp   (1-2- …

  • English (United States)
  • 日本語
Top