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

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

関連記事

double型で誤差が発生する件について+発生事例やサンプルプログラムも紹介

<目次> (1) double型では誤差が発生する事について  (1-1) double型は近似値を使用している  (1-2) double型の誤差の例 (1) double型で誤差が発生する件につい …

エラー「Project ‘XXXX’ is missing required library: ‘XXXX.jar’」の原因と対処法

<目次> (1) エラー「Project ‘XXXX’ is missing required library: ‘XXXX.jar’」の原因と対処法 …

Javaの継承やオーバーライドとは?特徴の解説とサンプルプログラムの紹介

(0)目次&概説 (1) 継承/Inherit  (1-1) 継承とは?  (1-2) 継承の特徴  (1-3) 継承のサンプルコード   (1-3-1) Carクラス   (1-3-2) Truck …

Javaの選択ソートとは?アルゴリズムの流れ+サンプルプログラムをご紹介

<目次> (1) バイナリ―サーチとは?Javaのサンプルプログラムを用いて解説  (1-1) バイナリ―サーチのアルゴリズム  (1-2) バイナリ―サーチの性能(処理回数)  (1-3) バイナリ …

EclipseでJavaプロジェクトを別サーバにエクスポートする方法

(0)目次&概説 (1) プロジェクトのエクスポートの手順  (1-1) プロジェクトのエクスポート@転送元サーバ  (1-2) インポート先サーバへ転送  (1-3) プロジェクトのインポート@転送 …

  • English (United States)
  • 日本語
Top