public class HiddenHttpMethodFilter extends OncePerRequestFilter
Filter
EE。HttpServletRequest.getMethod()
EE を介して取得できます。ブラウザーは現在 GET と POST のみをサポートしているため、一般的な手法(たとえば、プロトタイプライブラリで使用される)は、追加の非表示フォームフィールド(_method
)を含む通常の POST を使用して、「実際の」HTTP メソッドを渡すことです。このフィルターはそのパラメーターを読み取り、それに応じて HttpServletRequestWrapper.getMethod()
EE の戻り値を変更します。"PUT"
、"DELETE"
、"PATCH"
HTTP メソッドのみが許可されます。 リクエストパラメーターの名前はデフォルトで _method
に設定されていますが、methodParam
プロパティを使用して調整できます。
注: このフィルターは、POST 本体パラメーターを確認する必要があるため、マルチパート POST リクエストの場合、マルチパート処理後に実行する必要があります。通常は、web.xml
フィルターチェーンで、この HiddenHttpMethodFilter の前に Spring MultipartFilter
を配置します。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | DEFAULT_METHOD_PARAM デフォルトのメソッドパラメーター: _method . |
ALREADY_FILTERED_SUFFIX
logger
コンストラクターと説明 |
---|
HiddenHttpMethodFilter() |
修飾子と型 | メソッドと説明 |
---|---|
protected void | doFilterInternal(HttpServletRequestEE request, HttpServletResponseEE response, FilterChainEE filterChain) doFilter と同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。 |
void | setMethodParam(StringSE methodParam) パラメーター名を設定して、HTTP メソッドを探します。 |
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setMethodParam(StringSE methodParam)
DEFAULT_METHOD_PARAM
protected void doFilterInternal(HttpServletRequestEE request, HttpServletResponseEE response, FilterChainEE filterChain) throws ServletExceptionEE, IOExceptionSE
OncePerRequestFilter
doFilter
と同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。詳細については、OncePerRequestFilter.shouldNotFilterAsyncDispatch()
を参照してください。デフォルトの ServletRequest および ServletResponse の代わりに、HttpServletRequest および HttpServletResponse 引数を提供します。
OncePerRequestFilter
の doFilterInternal
ServletExceptionEE
IOExceptionSE