この記事の例は、Javaweb プログラム開発において非常に実用的な価値のある Javaweb での静的ファイルの一般的な処理方法をまとめたものです。具体的な方法は次のようにまとめられています。
方法 1: Tomcat の defaultServlet をアクティブにして静的ファイルを処理する
。 web.xml に追加:
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping>
注: DispatcherServlet の前に記述し、リクエストが Spring に入らないように、defaultServlet が最初にリクエストをインターセプトする必要があると思います。
Tomcat、Jetty、JBoss、および GlassFish に付属するデフォルトのサーブレットの名前 - 「default」
Google App Engine に付属するデフォルトのサーブレットの名前 - 「_ah_default」
デフォルトのサーブレットの名前樹脂には付属しています - 「resin-file」
WebLogic に付属のデフォルトのサーブレットの名前 - 「FileServlet」
WebSphere に付属のデフォルトのサーブレットの名前 - 「SimpleFileServlet」
方法 2: mvc:resources が提供されますSpring 3.0.4 以降のバージョンでは、メソッド:
<!-- 对静态资源文件的访问 --> <mvc:resources mapping="/images/**" location="/images/" />
説明: /images/** は処理のために ResourceHttpRequestHandler にマップされ、location は静的リソースの場所を指定します。 Web アプリケーションまたは jar パッケージ内で、静的リソースを jar パッケージの中央に圧縮できます。キャッシュ期間は静的リソースを Web キャッシュにできます
方法 3、
<mvc:default-servlet-handler/>
を使用します
「/**」 URL を SimpleUrlHandlerMapping の urlMap に登録し、転送しますHandlerMapping から org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler への静的リソースへのアクセスを処理して返します。
DefaultServletHttpRequestHandler は各サーブレットコンテナのデフォルトサーブレットを使用します。
追加説明: 複数の HandlerMapping 発行の実行順序:
DefaultAnnotationHandlerMapping の順序属性値は: 0
spring は小さい値の order 値を最初に実行します。 a.jpg 画像ファイルにアクセスするときは、まず DefaultAnnotationHandlerMapping を通じてプロセッサを見つけます。a.jpg というアクションがないため、プロセッサが見つからないはずです。あとはorder値の昇順で検索すると、最後のSimpleUrlHandlerMappingが「/**」に一致するので間違いなく一致し、画像に応答することができます。
画像にアクセスするには、マッチングのレイヤーを通過する必要があります。パフォーマンスがどうなっているかわからないですか?
最後に、プラン 2 とプラン 3 について説明します。静的リソースにアクセスするとき、一致する (おおよその) 合計インターセプターがあれば、そのインターセプターが使用されます。インターセプトで権限チェックを実装する場合は、静的ファイルに対するこれらのリクエストを慎重にフィルタリングしてください。
DispatcherServlet が *.do のような URL 接尾辞をインターセプトする場合、上記の問題は存在しません。やはり接尾辞があると便利です。
Javaweb での静的ファイルの一般的な処理方法に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

WebStorm Mac版
便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
