クラス UrlHandlerFilter
java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.springframework.web.filter.UrlHandlerFilter
- 実装されているすべてのインターフェース:
jakarta.servlet.Filter, Aware, BeanNameAware, DisposableBean, InitializingBean, EnvironmentAware, EnvironmentCapable, ServletContextAware
URL を変更し、変更を有効にするためにリクエストをリダイレクトまたはラップする
Filter。インスタンスを作成するには、以下を使用できます。
UrlHandlerFilter filter = UrlHandlerFilter
.trailingSlashHandler("/path1/**").redirect(HttpStatus.PERMANENT_REDIRECT)
.trailingSlashHandler("/path2/**").wrapRequest()
.build();
この Filter は、ForwardedHeaderFilter の後、ServletRequestPathFilter の前、セキュリティフィルターの前に並べる必要があります。
- 導入:
- 6.2
- 作成者:
- Rossen Stoyanchev
ネストされたクラスの要約
ネストされたクラスフィールドのサマリー
クラス OncePerRequestFilter から継承されたフィールド
ALREADY_FILTERED_SUFFIXメソッドのサマリー
修飾子と型メソッド説明protected voiddoFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain chain) doFilterと同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。trailingSlashHandler(StringSE... pathPatterns) 末尾にスラッシュが付いた URL のハンドラーを追加してビルダーを作成します。クラス OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
メソッドの詳細
doFilterInternal
protected void doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain chain) throws jakarta.servlet.ServletException, IOExceptionSE クラスからコピーされた説明:OncePerRequestFilterdoFilterと同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。詳細については、OncePerRequestFilter.shouldNotFilterAsyncDispatch()を参照してください。デフォルトの ServletRequest および ServletResponse の代わりに、HttpServletRequest および HttpServletResponse 引数を提供します。
- 次で指定:
- クラス
OncePerRequestFilterのdoFilterInternal - 例外:
jakarta.servlet.ServletExceptionIOExceptionSE
trailingSlashHandler
public static UrlHandlerFilter.Builder.TrailingSlashSpec trailingSlashHandler(StringSE... pathPatterns) 末尾にスラッシュが付いた URL のハンドラーを追加してビルダーを作成します。- パラメーター:
pathPatterns- ハンドラーをマップするパスパターン (例:"/path/*"、"/path/**"、"/path/foo/")。- 戻り値:
- 末尾のスラッシュハンドラーを設定するための仕様
- 関連事項: