クラス 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
を持つコンストラクター。方法の概要
修飾子と型メソッド説明void
addCacheMapping
(CacheControl cacheControl, StringSE... paths) 特定の URL パスを特定のCacheControl
にマップします。void
afterCompletion
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ExceptionSE ex) この実装は空です。protected CacheControl
lookupCacheControl
(StringSE lookupPath) 指定された文字列 lookupPath のCacheControl
インスタンスを検索します。protected CacheControl
指定された解析済みpath
のCacheControl
インスタンスを検索します。protected IntegerSE
lookupCacheSeconds
(StringSE lookupPath) 指定された文字列 lookupPath の cacheSeconds インスタンスを検索します。protected IntegerSE
指定された解析済みpath
の cacheSeconds 値を検索します。void
postHandle
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ModelAndView modelAndView) この実装は空です。boolean
preHandle
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーの実行前のインターセプトポイント。void
setAlwaysUseFullPath
(boolean alwaysUseFullPath) 使用すべきではありません。void
setCacheMappings
(PropertiesSE cacheMappings) キャッシュ秒の設定をパターンを介して特定の URL パスにマップします。void
setPathMatcher
(PathMatcher pathMatcher) PathMatcher を構成して、URL パスを登録済みの URL パターンと照合し、リクエストのキャッシュ設定を選択します。void
setUrlDecode
(boolean urlDecode) 使用すべきではありません。5.3 以降、パスは外部で解決され、ServletRequestPathUtils.getCachedPathValue(ServletRequest)
で取得されますvoid
setUrlPathHelper
(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
を設定すると、parsed
RequestPath
が使用可能な場合でも、文字列パターンマッチングの使用が強制されます。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
- 使用するCacheControl
paths
- 指定された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)
で取得されます