クラス PathResourceResolver

java.lang.ObjectSE
org.springframework.web.servlet.resource.AbstractResourceResolver
org.springframework.web.servlet.resource.PathResourceResolver
実装されたすべてのインターフェース:
ResourceResolver

public class PathResourceResolver extends AbstractResourceResolver
リクエストパスに一致する特定の場所でリソースを見つけようとする単純な ResourceResolver

このリゾルバーは ResourceResolverChain に委譲せず、リゾルバーのチェーンで最後に設定されることが期待されています。

導入:
4.1
作成者:
Jeremy Grelle, Rossen Stoyanchev, Sam Brannen
  • コンストラクターの詳細

    • PathResourceResolver

      public PathResourceResolver()
  • メソッドの詳細

    • setAllowedLocations

      public void setAllowedLocations(@Nullable Resource... locations)
      デフォルトでは、リソースが見つかると、解決されたリソースのパスが比較され、リソースが見つかった入力場所にあることが確認されます。ただし、そうでない場合もあります。CssLinkResourceTransformer が含まれるリンクのパブリック URL を解決する場合、CSS ファイルが場所であり、解決されるリソースは、隣接または親ディレクトリにある css ファイル、イメージ、フォントなどです。

      このプロパティを使用すると、リソースが存在する必要がある場所の完全なリストを構成できるため、リソースが見つかった場所に相対的でない場合は、このリストもチェックできます。

      デフォルトでは、ResourceHttpRequestHandler はこのプロパティを初期化して、場所のリストに一致させます。

      パラメーター:
      locations - 許可された場所のリスト
      導入:
      4.1.2
      関連事項:
    • getAllowedLocations

      @Nullable public Resource[] getAllowedLocations()
    • setLocationCharsets

      public void setLocationCharsets(MapSE<Resource,CharsetSE> locationCharsets)
      場所に関連付けられた文字セットを構成します。URL resource の場所で静的リソースが見つかった場合、文字セットは相対パスのエンコードに使用されます

      注意 : 文字セットは、urlPathHelper プロパティも設定され、urlDecode プロパティが true に設定されている場合にのみ使用されます。

      導入:
      4.3.13
    • getLocationCharsets

      public MapSE<Resource,CharsetSE> getLocationCharsets()
      静的リソースの場所に関連付けられた文字セットを返します。
      導入:
      4.3.13
    • setUrlPathHelper

      public void setUrlPathHelper(@Nullable UrlPathHelper urlPathHelper)
      リクエストを静的リソースにマップするために使用される UrlPathHelper への参照を提供します。これは、デコードされているかどうかなど、ルックアップパスに関する情報を導き出すのに役立ちます。
      導入:
      4.3.13
    • getUrlPathHelper

      @Nullable public UrlPathHelper getUrlPathHelper()
      構成された UrlPathHelper
      導入:
      4.3.13
    • resolveResourceInternal

      @Nullable protected Resource resolveResourceInternal(@Nullable HttpServletRequestEE request, StringSE requestPath, ListSE<? extends Resource> locations, ResourceResolverChain chain)
      次で指定:
      クラス AbstractResourceResolverresolveResourceInternal 
    • resolveUrlPathInternal

      @Nullable protected StringSE resolveUrlPathInternal(StringSE resourcePath, ListSE<? extends Resource> locations, ResourceResolverChain chain)
      次で指定:
      クラス AbstractResourceResolverresolveUrlPathInternal 
    • getResource

      @Nullable protected Resource getResource(StringSE resourcePath, Resource location) throws IOExceptionSE
      指定された場所でリソースを見つけます。

      デフォルトの実装では、場所に関連する指定されたパスに読み取り可能な Resource があるかどうかを確認します。

      パラメーター:
      resourcePath - リソースへのパス
      location - チェックする場所
      戻り値:
      リソース。見つからない場合は null 
      例外:
      IOExceptionSE
    • checkResource

      protected boolean checkResource(Resource resource, Resource location) throws IOExceptionSE
      リソースが存在し、読み取り可能かどうかをチェックする以外に、解決されたリソースに対して追加のチェックを実行します。デフォルトの実装では、リソースが見つかった相対的な場所にあるか、許可された場所の 1 つにあることも確認します。
      パラメーター:
      resource - チェックするリソース
      location - リソースが見つかった相対位置
      戻り値:
      リソースが有効な場所にある場合は "true"、それ以外の場合は "false"
      例外:
      IOExceptionSE
      導入:
      4.1.2