public class WebContentInterceptor extends WebContentGenerator implements HandlerInterceptor
CacheControl
ビルダーを適用します。構成オプションについては、スーパークラス Bean プロパティを参照してください。 このインターセプターでサポートされるすべての設定は、AbstractController
でも設定できます。このインターセプターは、主に HandlerMapping によってマップされたコントローラーのセットにチェックと準備を適用することを目的としています。
AbstractController
HEADER_CACHE_CONTROL, METHOD_GET, METHOD_HEAD, METHOD_POST
logger
コンストラクターと説明 |
---|
WebContentInterceptor() |
修飾子と型 | メソッドと説明 |
---|---|
void | addCacheMapping(CacheControl cacheControl, StringSE... paths) 特定の URL パスを特定の CacheControl にマップします。 |
void | afterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ExceptionSE ex) この実装は空です。 |
protected CacheControl | lookupCacheControl(StringSE urlPath) 指定された URL パスの CacheControl インスタンスを検索します。 |
protected IntegerSE | lookupCacheSeconds(StringSE urlPath) 指定された URL パスの cacheSeconds 整数値を検索します。 |
void | postHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ModelAndView modelAndView) この実装は空です。 |
boolean | preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーの実行をインターセプトします。 |
void | setAlwaysUseFullPath(boolean alwaysUseFullPath) 基になる UrlPathHelper の同じプロパティへのショートカット。 |
void | setCacheMappings(PropertiesSE cacheMappings) 特定の URL パスを特定のキャッシュ秒にマップします。 |
void | setPathMatcher(PathMatcher pathMatcher) キャッシュマッピングを決定するために、登録された URL パターンに対して URL パスを照合するために使用する PathMatcher 実装を設定します。 |
void | setUrlDecode(boolean urlDecode) 基になる UrlPathHelper の同じプロパティへのショートカット。 |
void | setUrlPathHelper(UrlPathHelper urlPathHelper) ルックアップパスの解決に使用する UrlPathHelper を設定します。 |
applyCacheControl, applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, prepareResponse, preventCaching, setAlwaysMustRevalidate, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader, setVaryByRequestHeaders
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setAlwaysUseFullPath(boolean alwaysUseFullPath)
UrlPathHelper
の同じプロパティへのショートカット。"cacheMappings" 設定にのみ関連します。
public void setUrlDecode(boolean urlDecode)
UrlPathHelper
の同じプロパティへのショートカット。"cacheMappings" 設定にのみ関連します。
public void setUrlPathHelper(UrlPathHelper urlPathHelper)
これを使用して、デフォルトの UrlPathHelper をカスタムサブクラスでオーバーライドするか、複数の HandlerMappings および MethodNameResolvers で共通の UrlPathHelper 設定を共有します。
"cacheMappings" 設定にのみ関連します。
public void setCacheMappings(PropertiesSE cacheMappings)
このインターセプターのデフォルトのキャッシュ秒設定をオーバーライドします。"-1" を指定して、デフォルトのキャッシュから URL パスを除外できます。
直接一致をサポートします。登録された "/test" は "/test" と一致し、さまざまな Ant スタイルのパターンが一致します。登録された "/t*" は、"/test" と "/team" の両方に一致します。詳細については、AntPathMatcher javadoc を参照してください。
注意 : パスパターンは重複することはありません。リクエストが複数のマッピングに一致する場合、どのマッピングが適用されるかは実質的に未定義です(java.util.Properties
にキーの順序付けがないため)。
cacheMappings
- URL パス(キーとして)とキャッシュの秒数の間のマッピング (値として、整数解析可能にする必要があります)WebContentGenerator.setCacheSeconds(int)
, AntPathMatcher
public void addCacheMapping(CacheControl cacheControl, StringSE... paths)
CacheControl
にマップします。 このインターセプターのデフォルトのキャッシュ秒設定をオーバーライドします。空の CacheControl
インスタンスを指定して、デフォルトのキャッシュから URL パスを除外できます。
直接一致をサポートします。登録された "/test" は "/test" と一致し、さまざまな Ant スタイルのパターンが一致します。登録された "/t*" は、"/test" と "/team" の両方に一致します。詳細については、AntPathMatcher javadoc を参照してください。
注意 : パスパターンは重複することはありません。リクエストが複数のマッピングに一致する場合、どれが適用されるかは事実上未定義です(基になる java.util.HashMap
のキーの順序付けがないため)。
cacheControl
- 使用する CacheControl
paths
- 指定された CacheControl
にマップされる URL パス WebContentGenerator.setCacheSeconds(int)
, AntPathMatcher
public void setPathMatcher(PathMatcher pathMatcher)
public boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ServletExceptionEE
HandlerInterceptor
DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンのハンドラーを処理します。ハンドラー自体は最後にあります。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定できます。通常、HTTP エラーを送信するか、カスタムレスポンスを作成します。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor
を参照してください。
デフォルトの実装は true
を返します。
HandlerInterceptor
の preHandle
request
- 現在の HTTP リクエスト response
- 現在の HTTP レスポンス handler
- 型および / またはインスタンス評価のために、実行するために選択されたハンドラー true
。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。ServletExceptionEE
@Nullable protected CacheControl lookupCacheControl(StringSE urlPath)
CacheControl
インスタンスを検索します。直接一致をサポートします。登録された "/test" は "/test" と一致し、さまざまな Ant スタイルのパターンが一致します。登録された "/t*" は、"/test" と "/team" の両方に一致します。詳細については、AntPathMatcher クラスを参照してください。
urlPath
- Bean がマップされる URLCacheControl
、または見つからない場合は null
AntPathMatcher
@Nullable protected IntegerSE lookupCacheSeconds(StringSE urlPath)
直接一致をサポートします。登録された "/test" は "/test" と一致し、さまざまな Ant スタイルのパターンが一致します。登録された "/t*" は、"/test" と "/team" の両方に一致します。詳細については、AntPathMatcher クラスを参照してください。
urlPath
- Bean がマップされる URLnull
AntPathMatcher
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
- エラーの場合 public void afterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ExceptionSE ex) throws ExceptionSE
HandlerInterceptor
の afterCompletion
request
- 現在の HTTP リクエスト response
- 現在の HTTP レスポンス handler
- 型および / またはインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod
)ex
- ハンドラーの実行時にスローされる例外(ある場合)ExceptionSE
- エラーの場合