ServletContext を使用して WAR/WEB-INF ディレクトリ内のリソースにアクセスするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-13 08:49:02
オリジナル
641 人が閲覧しました

How to Access Resources in the WAR/WEB-INF Directory with ServletContext?

ServletContext を使用した WAR/WEB-INF ディレクトリ内のリソースへのアクセス

概要:

Java Web アプリケーションは、多くの場合、重要なリソースを WAR/WEB-INF ディレクトリ内に保存します。これらのリソースにアクセスするには、開発者は ServletContext API を利用できます。

質問:

WAR/WEB-INF にあるリソースへの正しいパスを作成するにはどうすればよいですか? "/war/WEB-INF/test/foo.txt" などのフォルダー?

答え:

リソースへのパスを構築するには、主に 2 つの方法があります。 WAR/WEB-INF ディレクトリで ServletContext:

1 を使用します。 getRealPath() メソッド:

WAR ファイルが一連のファイルに展開されている場合は、getRealPath() メソッドを使用できます:

これにより、完全なファイルが返されます。リソースへのシステム パス。

2. getResource() または getResourceAsStream() メソッド:

これらのメソッドは、WAR ファイルが展開されているかどうかに関係なく使用できます:

追加メモ:

  • サンプル コードで言及されている getContext() メソッドはアプリケーション固有です。 JSP ページでは「コンテキスト」として使用できますが、サーブレットでは初期化中に ServletConfig から取得されます。
  • サーブレット コンテナが WAR ファイルを抽出しない場合、getRealPath() メソッドは機能しない可能性があります。
  • getResource() メソッドと getResourceAsStream() メソッドは信頼性が高く、すべての展開シナリオで機能します。

以上がServletContext を使用して WAR/WEB-INF ディレクトリ内のリソースにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート