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, waitSEpublic 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
HandlerInterceptorDispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は 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
HandlerInterceptorDispatcherServlet は、任意の数のインターセプターで構成される実行チェーンのハンドラーを処理します。ハンドラー自体は最後にあります。このメソッドを使用すると、各インターセプターは実行を後処理でき、実行チェーンの逆順で適用されます。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、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 - エラーの場合