クラス ResourceUrlProvider
java.lang.ObjectSE
org.springframework.web.servlet.resource.ResourceUrlProvider
- 実装されているすべてのインターフェース:
EventListenerSE、Aware、ApplicationContextAware、ApplicationListener<ContextRefreshedEvent>
public class ResourceUrlProvider
extends ObjectSE
implements ApplicationListener<ContextRefreshedEvent>, ApplicationContextAware
クライアントが静的リソースにアクセスするために使用するパブリック URL パスを取得するために使用する中心的なコンポーネント。
このクラスは、静的リソースを提供するために使用される Spring MVC ハンドラーマッピングを認識し、構成された ResourceHttpRequestHandler の ResourceResolver チェーンを使用して決定を行います。
- 導入:
- 4.1
- 作成者:
- Rossen Stoyanchev, Brian Clozel
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected voiddetectResourceHandlers(ApplicationContext appContext) final StringSEgetForLookupPath(StringSE lookupPath) 指定されたパスを構成済みのリソースハンドラーマッピングと比較し、一致が見つかった場合は、一致したResourceHttpRequestHandlerのResourceResolverチェーンを使用して URL パスを解決し、公開用に公開します。final StringSEgetForRequestUrl(HttpServletRequestEE request, StringSE requestUrl) 完全なリクエスト URL パスを受け入れるgetForLookupPath(String)のバリエーション(つまりSpringApplicationContextがリフレッシュされたときに手動で構成されたか、自動検出されたリソースマッピングを返します。設定されたPathMatcherを返します。設定されたUrlPathHelperを返します。booleanリソースマッピングが手動で構成されている場合はfalseを返し、それ以外の場合はtrueを返します。voidアプリケーションイベントを処理します。voidsetApplicationContext(ApplicationContext applicationContext) このオブジェクトが実行される ApplicationContext を設定します。voidsetHandlerMap(MapSE<StringSE, ResourceHttpRequestHandler> handlerMap) リソースマッピングを手動で構成します。voidsetPathMatcher(PathMatcher pathMatcher) ターゲットルックアップパスをリソースマッピングと比較するときに使用するPathMatcherを構成します。voidsetUrlPathHelper(UrlPathHelper urlPathHelper) ターゲットリクエスト URL パスのルックアップパスを導出するために、getForRequestUrl(jakarta.servlet.http.HttpServletRequest, String)で使用するUrlPathHelperを構成します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.context.ApplicationListener から継承されたメソッド
supportsAsyncExecution
フィールドの詳細
logger
コンストラクターの詳細
ResourceUrlProvider
public ResourceUrlProvider()
メソッドの詳細
setApplicationContext
インターフェースからコピーされた説明:ApplicationContextAwareこのオブジェクトが実行される ApplicationContext を設定します。通常、この呼び出しはオブジェクトの初期化に使用されます。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)およびMessageSourceAwareの後に呼び出されます(該当する場合)。- 次で指定:
- インターフェース
ApplicationContextAwareのsetApplicationContext - パラメーター:
applicationContext- このオブジェクトによって使用される ApplicationContext オブジェクト- 例外:
ApplicationContextException- コンテキスト初期化エラーの場合BeansException- アプリケーションコンテキストメソッドによってスローされた場合- 関連事項:
setUrlPathHelper
ターゲットリクエスト URL パスのルックアップパスを導出するために、getForRequestUrl(jakarta.servlet.http.HttpServletRequest, String)で使用するUrlPathHelperを構成します。getUrlPathHelper
設定されたUrlPathHelperを返します。- 導入:
- 4.2.8
setPathMatcher
ターゲットルックアップパスをリソースマッピングと比較するときに使用するPathMatcherを構成します。getPathMatcher
設定されたPathMatcherを返します。setHandlerMap
リソースマッピングを手動で構成します。注意 : デフォルトでは、リソースマッピングは Spring
ApplicationContextから自動検出されます。ただし、このプロパティを使用すると、自動検出はオフになります。getHandlerMap
SpringApplicationContextがリフレッシュされたときに手動で構成されたか、自動検出されたリソースマッピングを返します。isAutodetect
public boolean isAutodetect()リソースマッピングが手動で構成されている場合はfalseを返し、それ以外の場合はtrueを返します。onApplicationEvent
インターフェースからコピーされた説明:ApplicationListenerアプリケーションイベントを処理します。- 次で指定:
- インターフェース
ApplicationListener<ContextRefreshedEvent>のonApplicationEvent - パラメーター:
event- 応答するイベント
detectResourceHandlers
getForRequestUrl
完全なリクエスト URL パス(つまり、コンテキストとサーブレットのパスを含む)を受け入れ、パブリックな使用のために公開する完全なリクエスト URL パスを返すgetForLookupPath(String)のバリエーション。- パラメーター:
request- 現在のリクエストrequestUrl- 解決するリクエスト URL パス- 戻り値:
- 解決されたパブリック URL パス、または未解決の場合は
null
getForLookupPath
指定されたパスを構成済みのリソースハンドラーマッピングと比較し、一致が見つかった場合は、一致したResourceHttpRequestHandlerのResourceResolverチェーンを使用して URL パスを解決し、公開用に公開します。指定されたパスは、Spring MVC がリクエストマッピングの目的で使用するもの、つまり、コンテキストとサーブレットパスの部分を除くものであることが期待されます。
複数のハンドラーマッピングが一致する場合、使用されるハンドラーは、最も具体的なパターンで構成されたものになります。
- パラメーター:
lookupPath- チェックするルックアップパス- 戻り値:
- 解決されたパブリック URL パス、または未解決の場合は
null