クラス WebContentInterceptor
- 実装されているすべてのインターフェース:
Aware、ApplicationContextAware、ServletContextAware、HandlerInterceptor
キャッシュ設定は、addCacheMapping(CacheControl, String...) および setCacheMappings(Properties) を使用したパスパターンを介して特定の URL に構成でき、WebContentGenerator.setCacheControl(CacheControl) を介したすべての URL のデフォルト設定にフォールバックします。
パターンマッチングは、PathMatcher または解析された PathPattern で実行できます。構文はほぼ同じですが、後者は Web での使用に適しており、より効率的です。選択は、resolved String lookupPath または parsed RequestPath の存在によって決まり、これは現在のリクエストに一致する HandlerMapping によって決まります。
このインターセプターでサポートされるすべての設定は、AbstractController でも設定できます。このインターセプターは、主に HandlerMapping によってマップされたコントローラーのセットにチェックと準備を適用することを目的としています。
- 導入:
- 27.11.2003
- 作成者:
- Juergen Hoeller, Brian Clozel, Rossen Stoyanchev
- 関連事項:
フィールドのサマリー
クラス org.springframework.web.servlet.support.WebContentGenerator から継承されたフィールド
HEADER_CACHE_CONTROL, METHOD_GET, METHOD_HEAD, METHOD_POSTクラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
loggerコンストラクターの概要
コンストラクターコンストラクター説明PathPatternParser.defaultInstanceを使用したデフォルトのコンストラクター。パターンを解析するPathPatternParserを持つコンストラクター。メソッドのサマリー
修飾子と型メソッド説明voidaddCacheMapping(CacheControl cacheControl, StringSE... paths) 特定の URL パスを特定のCacheControlにマップします。voidafterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ExceptionSE ex) この実装は空です。protected CacheControllookupCacheControl(StringSE lookupPath) 指定された文字列 lookupPath のCacheControlインスタンスを検索します。protected CacheControl指定された解析済みpathのCacheControlインスタンスを検索します。protected IntegerSElookupCacheSeconds(StringSE lookupPath) 指定された文字列 lookupPath の cacheSeconds インスタンスを検索します。protected IntegerSE指定された解析済みpathの cacheSeconds 値を検索します。voidpostHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ModelAndView modelAndView) この実装は空です。booleanpreHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーの実行前のインターセプトポイント。voidsetAlwaysUseFullPath(boolean alwaysUseFullPath) 使用すべきではありません。voidsetCacheMappings(PropertiesSE cacheMappings) キャッシュ秒の設定をパターンを介して特定の URL パスにマップします。voidsetPathMatcher(PathMatcher pathMatcher) PathMatcher を構成して、URL パスを登録済みの URL パターンと照合し、リクエストのキャッシュ設定を選択します。voidsetUrlDecode(boolean urlDecode) 使用すべきではありません。5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest)で取得されますvoidsetUrlPathHelper(UrlPathHelper urlPathHelper) 使用すべきではありません。5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest)で取得されますクラス org.springframework.web.servlet.support.WebContentGenerator から継承されたメソッド
applyCacheControl, applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, prepareResponse, preventCaching, setAlwaysMustRevalidate, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader, setVaryByRequestHeadersクラス org.springframework.web.context.support.WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextクラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
コンストラクターの詳細
WebContentInterceptor
public WebContentInterceptor()PathPatternParser.defaultInstanceを使用したデフォルトのコンストラクター。WebContentInterceptor
パターンを解析するPathPatternParserを持つコンストラクター。- 導入:
- 5.3
メソッドの詳細
setAlwaysUseFullPath
使用すべきではありません。5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest)で取得されます構成されたUrlPathHelper上のsame propertyへのショートカット。setUrlDecode
使用すべきではありません。5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest)で取得されます構成されたUrlPathHelper上のsame propertyへのショートカット。setUrlPathHelper
使用すべきではありません。5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest)で取得されますルックアップパスの解決に使用する UrlPathHelper を設定します。setPathMatcher
PathMatcher を構成して、URL パスを登録済みの URL パターンと照合し、リクエストのキャッシュ設定を選択します。これは、カスタマイズされた
AntPathMatcherまたはカスタム PathMatcher が必要な場合にのみ使用する必要がある高度なプロパティです。デフォルトでは、これは
AntPathMatcherです。注意 :
PathMatcherを設定すると、parsedRequestPathが使用可能な場合でも、文字列パターンマッチングの使用が強制されます。setCacheMappings
キャッシュ秒の設定をパターンを介して特定の URL パスにマップします。このインターセプターのデフォルトのキャッシュ秒設定をオーバーライドします。"-1" を指定して、デフォルトのキャッシュから URL パスを除外できます。
パターン構文については、
AntPathMatcherとPathPattern、およびそれぞれが使用される場合の詳細については、クラスレベルの Javadoc を参照してください。構文は、Web での使用に合わせて調整されたPathPatternとほぼ同じです。注意 : パスパターンは重複することはありません。リクエストが複数のマッピングに一致する場合、どのマッピングが適用されるかは実質的に未定義です(
java.util.Propertiesにキーの順序付けがないため)。- パラメーター:
cacheMappings- URL パス(キーとして)とキャッシュの秒数の間のマッピング (値として、整数解析可能にする必要があります)- 関連事項:
addCacheMapping
特定の URL パスを特定のCacheControlにマップします。このインターセプターのデフォルトのキャッシュ秒数設定をオーバーライドします。空の
CacheControlインスタンスを指定して、デフォルトのキャッシュから URL パスを除外できます。パターン構文については、
AntPathMatcherとPathPattern、およびそれぞれが使用される場合の詳細については、クラスレベルの Javadoc を参照してください。構文は、Web での使用に合わせて調整されたPathPatternとほぼ同じです。注意 : パスパターンは重複することはありません。リクエストが複数のマッピングに一致する場合、どれが適用されるかは事実上未定義です(基になる
java.util.HashMapのキーの順序付けがないため)。- パラメーター:
cacheControl- 使用するCacheControlpaths- 指定されたCacheControlにマップされる URL パス- 導入:
- 4.2
- 関連事項:
preHandle
public boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ServletExceptionEE インターフェースからコピーされた説明:HandlerInterceptorハンドラーの実行前のインターセプトポイント。HandlerMapping が適切なハンドラーオブジェクトを決定した後、HandlerAdapter がハンドラーを呼び出す前に呼び出されます。DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、
AsyncHandlerInterceptorを参照してください。デフォルトの実装は
trueを返します。- 次で指定:
- インターフェース
HandlerInterceptorのpreHandle - パラメーター:
request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンスhandler- 型および / またはインスタンス評価のために、実行するために選択されたハンドラー- 戻り値:
- 実行チェーンが次のインターセプターまたはハンドラー自体を続行する必要がある場合は、
true。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。 - 例外:
ServletExceptionEE
lookupCacheControl
- パラメーター:
path- 一致するパス- 戻り値:
- 一致した
CacheControl、または一致しない場合はnull - 導入:
- 5.3
lookupCacheControl
指定された文字列 lookupPath のCacheControlインスタンスを検索します。これは、HandlerMappingがPathMatcherとの文字列パターンマッチングに依存している場合に使用されます。- パラメーター:
lookupPath- 一致するパス- 戻り値:
- 一致した
CacheControl、または一致しない場合はnull
lookupCacheSeconds
- パラメーター:
path- 一致するパス- 戻り値:
- 一致した cacheSeconds、または一致しない場合は
null - 導入:
- 5.3
lookupCacheSeconds
指定された文字列 lookupPath の cacheSeconds インスタンスを検索します。これは、HandlerMappingがPathMatcherとの文字列パターンマッチングに依存している場合に使用されます。- パラメーター:
lookupPath- 一致するパス- 戻り値:
- 一致した cacheSeconds、または一致しない場合は
null
postHandle
public void postHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ModelAndView modelAndView) throws ExceptionSE この実装は空です。- 次で指定:
- インターフェース
HandlerInterceptorのpostHandle - パラメーター:
request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンスhandler- 型やインスタンスの検査のために、非同期実行を開始したハンドラー(またはHandlerMethod)modelAndView- ハンドラーが返したModelAndView(nullにすることもできます)- 例外:
ExceptionSE- エラーの場合
afterCompletion
public void afterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ExceptionSE ex) throws ExceptionSE この実装は空です。- 次で指定:
- インターフェース
HandlerInterceptorのafterCompletion - パラメーター:
request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンスhandler- 型やインスタンスの検査のために、非同期実行を開始したハンドラー(またはHandlerMethod)ex- ハンドラーの実行時にスローされる例外(ある場合)。これには、例外リゾルバーを介して処理された例外は含まれません- 例外:
ExceptionSE- エラーの場合
ServletRequestPathUtils.getCachedPathValue(ServletRequest)で取得されます