public final class MappedInterceptor extends ObjectSE implements HandlerInterceptor
HandlerInterceptor
をラップし、URL パターンを使用して、指定されたリクエストに適用されるかどうかを判断します。 パターンマッチングは、PathMatcher
または解析された PathPattern
を使用して実行できます。構文はほぼ同じですが、後者は Web の使用に合わせて調整されており、より効率的です。選択は、resolved
String
lookupPath または parsed
RequestPath
の存在によって決まります。これは、現在のリクエストに一致した HandlerMapping
に依存します。
MappedInterceptor
は、型 MappedInterceptor
の Bean を検出し、それに直接登録されているインターセプターがこの型であるかどうかをチェックする AbstractHandlerMethodMapping
のサブクラスによってサポートされます。
コンストラクターと説明 |
---|
MappedInterceptor(StringSE[] includePatterns, HandlerInterceptor interceptor) インクルードパターンのみの MappedInterceptor(String[], String[], HandlerInterceptor, PathPatternParser) のバリアント。 |
MappedInterceptor(StringSE[] includePatterns, StringSE[] excludePatterns, HandlerInterceptor interceptor) パーサーが提供されていない MappedInterceptor(String[], String[], HandlerInterceptor, PathPatternParser) のバリアント。 |
MappedInterceptor(StringSE[] includePatterns, StringSE[] excludePatterns, HandlerInterceptor interceptor, PathPatternParser parser) マッピングのターゲットインターセプターとともに、指定された包含パターンと除外パターンを使用してインスタンスを作成します。 |
MappedInterceptor(StringSE[] includePatterns, StringSE[] excludePatterns, WebRequestInterceptor interceptor) |
MappedInterceptor(StringSE[] includePatterns, WebRequestInterceptor interceptor) |
修飾子と型 | メソッドと説明 |
---|---|
void | afterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ExceptionSE ex) リクエスト処理の補完後、つまりビューのレンダリング後のコールバック。 |
HandlerInterceptor | getInterceptor() 一致した場合に呼び出すターゲット HandlerInterceptor 。 |
PathMatcher | getPathMatcher() configured PathMatcher。 |
StringSE[] | getPathPatterns() このインターセプターがマップされているパターンを返します。 |
boolean | matches(HttpServletRequestEE request) このインターセプターがリクエストにマップされているかどうかを確認します。 |
boolean | matches(StringSE lookupPath, PathMatcher pathMatcher) 使用すべきではありません。 5.3 現在、 matches(HttpServletRequest) を推奨 |
void | postHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ModelAndView modelAndView) ハンドラーの実行が成功した後のインターセプトポイント。 |
boolean | preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーの実行前のインターセプトポイント。 |
void | setPathMatcher(PathMatcher pathMatcher) URL パスを包含および除外パターンと照合するために使用するように PathMatcher を構成します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public MappedInterceptor(@Nullable StringSE[] includePatterns, @Nullable StringSE[] excludePatterns, HandlerInterceptor interceptor, @Nullable PathPatternParser parser)
includePatterns
- リクエストが一致する必要があるパターン、またはすべてのパスに一致する場合は nullexcludePatterns
- リクエストが一致してはならないパターン interceptor
- ターゲットインターセプター parser
- パターンを PathPattern
に事前解析するために使用するパーサー。提供されていない場合、PathPatternParser.defaultInstance
が使用されます。public MappedInterceptor(@Nullable StringSE[] includePatterns, HandlerInterceptor interceptor)
MappedInterceptor(String[], String[], HandlerInterceptor, PathPatternParser)
のバリアント。public MappedInterceptor(@Nullable StringSE[] includePatterns, @Nullable StringSE[] excludePatterns, HandlerInterceptor interceptor)
MappedInterceptor(String[], String[], HandlerInterceptor, PathPatternParser)
のバリアント。public MappedInterceptor(@Nullable StringSE[] includePatterns, WebRequestInterceptor interceptor)
public MappedInterceptor(@Nullable StringSE[] includePatterns, @Nullable StringSE[] excludePatterns, WebRequestInterceptor interceptor)
public HandlerInterceptor getInterceptor()
HandlerInterceptor
。public void setPathMatcher(PathMatcher pathMatcher)
これは、カスタマイズされた AntPathMatcher
またはカスタム PathMatcher が必要な場合にのみ使用する必要がある高度なプロパティです。
デフォルトでは、これは AntPathMatcher
です。
注意 : PathMatcher
を設定すると、parsed
RequestPath
が使用可能な場合でも、文字列パターンマッチングの使用が強制されます。
public PathMatcher getPathMatcher()
configured
PathMatcher。public boolean matches(HttpServletRequestEE request)
リクエストマッピングパスは、外部で解決されている必要があります。クラスレベルの Javadoc も参照してください。
request
- 一致するリクエスト true
@DeprecatedSE public boolean matches(StringSE lookupPath, PathMatcher pathMatcher)
matches(HttpServletRequest)
を推奨 lookupPath
- 現在のリクエストパス pathMatcher
- パスパターンマッチング用のパスマッチャー true
public boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ExceptionSE
HandlerInterceptor
DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor
を参照してください。
デフォルトの実装は true
を返します。
HandlerInterceptor
の preHandle
request
- 現在の HTTP リクエスト response
- 現在の HTTP レスポンス handler
- 型および / またはインスタンス評価のために、実行するために選択されたハンドラー true
。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。ExceptionSE
- エラーの場合 public void postHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ModelAndView modelAndView) throws ExceptionSE
HandlerInterceptor
DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンのハンドラーを処理します。ハンドラー自体は最後にあります。このメソッドを使用すると、各インターセプターは実行を後処理でき、実行チェーンの逆順で適用されます。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor
を参照してください。
デフォルトの実装は空です。
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
メモ: このインターセプターの preHandle
メソッドが正常に完了し、true
を返した場合にのみ呼び出されます!
postHandle
メソッドと同様に、このメソッドはチェーンの各インターセプターで逆の順序で呼び出されるため、最初のインターセプターが最後に呼び出されます。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor
を参照してください。
デフォルトの実装は空です。
HandlerInterceptor
の afterCompletion
request
- 現在の HTTP リクエスト response
- 現在の HTTP レスポンス handler
- 型やインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod
)ex
- ハンドラーの実行時にスローされる例外(ある場合)。これには、例外リゾルバーを介して処理された例外は含まれません ExceptionSE
- エラーの場合