クラス 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, checkAndPrepare, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isRequireSession, prepareResponse, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, 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)で取得されます