WAR/WEB-INF フォルダからファイル パスを取得する
App Engine プロジェクトで、WAR/WEB-INF 内に保存されているファイルにアクセスするフォルダーには特定のアプローチが必要です。この記事では、このディレクトリに存在するリソースへの有効なファイル パスを構築する 2 つの方法について説明します。
方法 1: getRealPath() を使用する
この方法は、WAR ファイルが存在する場合に適用できます。実行時に個別のファイルのセットに展開されます。目的のリソースへの完全なシステム パスを取得するには、次のコードを使用します。
ServletContext context = getContext(); String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");
方法 2: getResource() を使用する
このメソッドは、以下と汎用互換性があります。 WAR ファイルが展開されているかどうかに関係なく、任意のサーブレット コンテナ。これにより、リソース URL または入力ストリームへのアクセスが提供されます。
ServletContext context = getContext(); URL resourceUrl = context.getResource("/WEB-INF/test/foo.txt"); InputStream resourceContent = context.getResourceAsStream("/WEB-INF/test/foo.txt");
getResource() アプローチは、すべての展開シナリオでより多用途で信頼性が高くなります。
getContext() に関する注意事項
getContext() メソッドは、アプリケーション内で提供する必要がある実装の詳細です。 JSP ページではコンテキスト フィールドとして使用でき、サーブレットでは初期化中に渡される ServletConfig から取得できます。
これらの手法を利用することで、開発者は WAR/WEB に保存されているファイルに効果的にアクセスできます。 INF ディレクトリにより、さまざまなリソース管理タスクを簡単に処理できるようになります。
以上がApp Engine の WAR/WEB-INF フォルダからファイル パスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。