クラス ServletContextResource

実装されているすべてのインターフェース:
ContextResource, InputStreamSource, Resource

public class ServletContextResource extends AbstractFileResolvingResource implements ContextResource
ServletContext リソースの Resource 実装。Web アプリケーションのルートディレクトリ内の相対パスを解釈します。

常にストリームアクセスと URL アクセスをサポートしますが、Web アプリケーションアーカイブが展開されている場合にのみ java.io.File アクセスを許可します。

導入:
28.12.2003
作成者:
Juergen Hoeller
関連事項:
  • ServletContext.getResourceAsStream(String)
  • ServletContext.getResource(String)
  • ServletContext.getRealPath(String)
  • コンストラクターの詳細

    • ServletContextResource

      public ServletContextResource(jakarta.servlet.ServletContext servletContext, StringSE path)
      指定されたパスに新しい ServletContextResource を作成します。

      サーブレット仕様では、多くのコンテナーがスラッシュを付けずにパスを受け入れる場合でも、リソースパスはスラッシュで始まる必要があります。指定されたパスがスラッシュで始まっていない場合は、その前にスラッシュが追加されます。

      パラメーター:
      servletContext - ロードする ServletContext
      path - リソースのパス
  • メソッドの詳細

    • getServletContext

      public final jakarta.servlet.ServletContext getServletContext()
      このリソースの ServletContext を返します。
    • getPath

      public final StringSE getPath()
      このリソースのパスを返します。
    • exists

      public boolean exists()
      この実装は ServletContext.getResource をチェックします。
      次で指定:
      インターフェース Resourceexists 
      オーバーライド:
      クラス AbstractFileResolvingResourceexists 
      関連事項:
      • ServletContext.getResource(String)
    • isReadable

      public boolean isReadable()
      この実装は ServletContext.getResourceAsStream に委譲し、読み取り不可能なリソース (ディレクトリなど) の場合は null を返します。
      次で指定:
      インターフェース ResourceisReadable 
      オーバーライド:
      クラス AbstractFileResolvingResourceisReadable 
      関連事項:
      • ServletContext.getResourceAsStream(String)
    • isFile

      public boolean isFile()
      クラスからコピーされた説明: AbstractResource
      この実装は、常に false を返します。
      次で指定:
      インターフェース ResourceisFile 
      オーバーライド:
      クラス AbstractFileResolvingResourceisFile 
      関連事項:
    • getInputStream

      public InputStreamSE getInputStream() throws IOExceptionSE
      この実装は ServletContext.getResourceAsStream に委譲しますが、リソースが見つからない場合は FileNotFoundException をスローします。
      次で指定:
      インターフェース InputStreamSourcegetInputStream 
      戻り値:
      基になるリソースの入力ストリーム (null であってはなりません)
      例外:
      IOExceptionSE - コンテンツストリームを開けなかった場合
      関連事項:
      • ServletContext.getResourceAsStream(String)
    • getURL

      public URLSE getURL() throws IOExceptionSE
      この実装は ServletContext.getResource に委譲しますが、リソースが見つからない場合は FileNotFoundException をスローします。
      次で指定:
      インターフェース ResourcegetURL 
      オーバーライド:
      クラス AbstractResourcegetURL 
      例外:
      IOExceptionSE - リソースを URL として解決できない場合、つまりリソースが記述子として使用できない場合
      関連事項:
      • ServletContext.getResource(String)
    • getFile

      public FileSE getFile() throws IOExceptionSE
      この実装は "file:" URL を解決するか、代わりに ServletContext.getRealPath に委譲し、見つからないか解決できない場合は FileNotFoundException をスローします。
      次で指定:
      インターフェース ResourcegetFile 
      オーバーライド:
      クラス AbstractFileResolvingResourcegetFile 
      例外:
      IOExceptionSE - 一般的な解決 / 読み取りエラーの場合
      関連事項:
      • ServletContext.getResource(String)
      • ServletContext.getRealPath(String)
    • createRelative

      public Resource createRelative(StringSE relativePath)
      この実装は ServletContextResource を作成し、このリソース記述子の元となるファイルのパスに対して指定されたパスを適用します。
      次で指定:
      インターフェース ResourcecreateRelative 
      オーバーライド:
      クラス AbstractResourcecreateRelative 
      パラメーター:
      relativePath - 相対パス (このリソースに関連して)
      戻り値:
      相対リソースのリソースハンドル
      関連事項:
    • getFilename

      public @Nullable StringSE getFilename()
      この実装は、この ServletContext リソースが参照するファイルの名前を返します。
      次で指定:
      インターフェース ResourcegetFilename 
      オーバーライド:
      クラス AbstractResourcegetFilename 
      関連事項:
    • getDescription

      public StringSE getDescription()
      この実装は、ServletContext リソースの場所を含む説明を返します。
      次で指定:
      インターフェース ResourcegetDescription 
      関連事項:
    • getPathWithinContext

      public StringSE getPathWithinContext()
      インターフェースからコピーされた説明: ContextResource
      囲んでいる「コンテキスト」内のパスを返します。

      これは通常、コンテキスト固有のルートディレクトリ (ServletContext ルートなど) に対する相対パスです。

      次で指定:
      インターフェース ContextResourcegetPathWithinContext 
    • equals

      public boolean equals(@Nullable ObjectSE other)
      この実装は、基になる ServletContext リソースの場所を比較します。
      オーバーライド:
      クラス AbstractResourceequals 
      関連事項:
    • hashCode

      public int hashCode()
      この実装は、基になる ServletContext リソースの場所のハッシュコードを返します。
      オーバーライド:
      クラス AbstractResourcehashCode 
      関連事項: