静的コンテンツ処理用のカスタム サーブレット
Web アプリケーションを異なるコンテナーにデプロイする場合、静的コンテンツの処理で不一致が発生する可能性があります。この問題を解決するには、カスタム サーブレットを Web アプリ内に埋め込んで静的コンテンツを一貫した方法で処理できます。
必要なサーブレットは次の基準を満たす必要があります:
提案されたソリューション
カスタム サーブレットを実装する代わりに、変更されたサーブレット マッピングを使用できます。雇用されている。このアプローチには、各静的コンテンツ ファイル タイプをデフォルトのコンテナ サーブレットに明示的にマッピングすることが含まれます。これにより、特定のリソースを対象とするリクエストはデフォルトのサーブレットに送信され、他のすべてのリクエストは Web アプリ内の専用サーブレットによって処理されます。
変更されたサーブレット マッピング構成は次のとおりです。
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>myAppServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
このマッピングにより、デフォルトのサーブレットが拡張子に基づいてすべてのコンテンツ ファイルを処理し、他のすべてのリクエストが"myAppServlet."
このアプローチの利点
このソリューションはいくつかの理由で有利です。
以上が異なる Web アプリケーション コンテナ間で静的コンテンツを一貫して処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。