検索
ホームページJava&#&チュートリアル/* にマップされたグローバル フロント コントローラー サーブレットを使用して静的リソースにアクセスするにはどうすればよいですか?

How Can I Access Static Resources with a Global Front Controller Servlet Mapped to /*?

/* のグローバル フロント コントローラー サーブレット: 静的リソース アクセスの解決

/* にグローバル フロント コントローラー サーブレットをマッピングする場合、次のような静的リソースにアクセスすることが困難になります。 CSS、JS、および画像は通常、別のフォルダーに保存されます。この記事では、グローバル フロント コントローラーの機能を維持しながら、これらの静的ファイルへのアクセスを復元するソリューションについて詳しく説明します。

推奨されるアプローチには、次の 2 つの手順が含まれます。

1.コントローラ サーブレットを特定のパスにマッピングする

コントローラ サーブレットの URL パターンとして / を使用する代わりに、/pages/ などのより具体的なパスにマッピングします。これにより、静的リソースをコントローラーの範囲から除外できるようになります。

2.静的コンテンツ用のフィルターを実装する

/* をリッスンするフィルターを作成します。このフィルターは、静的リソースへのリクエストのチェーンを透過的に継続し、他のコンテンツのリクエストをコントローラー サーブレットにディスパッチします。

フィルターの doFilter() メソッドで、次のコードを使用します。

HttpServletRequest req = (HttpServletRequest) request;
String path = req.getRequestURI().substring(req.getContextPath().length());

if (path.startsWith("/static")) {
    chain.doFilter(request, response); // Goes to default servlet.
} else {
    request.getRequestDispatcher("/pages" + path).forward(request, response);
}

このコードは、リクエストのパスが「/static」(または静的リソースに割り当てられたその他のプレフィックス) で始まるかどうかをチェックします。 true の場合、リクエストは、通常は静的リソース フォルダーにマップされるデフォルトのサーブレットに転送されます。それ以外の場合、リクエストはコントローラー サーブレットにディスパッチされます (*/pages にマッピングされていると仮定します)。

このソリューションでは、静的リソースがコントローラー サーブレットのマッピングから除外されるようにしながら、他のリクエストはコントローラー サーブレットで処理できるようにします。予想通りのコントローラー。これは、グローバル フロント コントローラーの必要性と静的リソースのアクセス可能性のバランスをとる実用的な方法です。

以上が/* にマップされたグローバル フロント コントローラー サーブレットを使用して静的リソースにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。