ServletContext.getRealPath("/") 意味と使用法
はじめに
サーブレット プログラミングでは、ServletContext.getRealPath( ) Web コンテンツ パス (展開された WAR フォルダー構造内のパス) を絶対ディスクに変換します。ファイル システム パス。
getRealPath() での「/」の使用
getRealPath() に渡される「/」は、Web コンテンツのルート、またはディレクトリを表します。 Web でアクセス可能なすべてのコンテンツが見つかります。これは、次のプロジェクト構造の /web フォルダーに相当します:
YourWebProject
|-- src
|-- web
|-- META-INF
|-- WEB-INF
|-- index.jsp
|-- login.jsp
ログイン後にコピー
使用シナリオ
いつ getRealPath("/") を使用する必要がありますか?
-
賢明な使用例はありません:ほとんどのシナリオでは getRealPath() の使用を避けてください。より移植可能で信頼性の高い代替手段があります。
getRealPath() の代替手段
-
Web リソースの読み取り: ServletContext を使用します。 getResourceAsStream() を入力ストリームの代わりに使用します。 resource.
-
Web リソースのリスト: 使用可能なすべての Web リソース パスのリストについては、ServletContext.getResourcePaths() を使用します。
-
アップロードされたファイルの保存または一時ファイルの作成: 「関連項目」セクションの関連リソースを参照してください。
注意
-
失われた変更: getRealPath() から取得したディスク ファイル システム パスへの変更は、これらは WAR に保存されないため、WAR の再デプロイメント時に失われます。 file.
-
信頼性の低さ: サーバーが WAR ファイルをディスク ファイル システムに展開するように構成されていない場合、getRealPath() は null または予期しないパスを返す可能性があります。
以上がServletContext.getRealPath('/') の意味と使用法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。