类 HiddenHttpMethodFilter
- java.lang.Object
- org.springframework.web.filter.GenericFilterBean
- org.springframework.web.filter.OncePerRequestFilter
- org.springframework.web.filter.HiddenHttpMethodFilter
- 所有已实现的接口:
Filter
,Aware
,BeanNameAware
,DisposableBean
,InitializingBean
,EnvironmentAware
,EnvironmentCapable
,ServletContextAware
public class HiddenHttpMethodFilter extends OncePerRequestFilter
Filter
that converts posted method parameters into HTTP methods, retrievable viaHttpServletRequest.getMethod()
. Since browsers currently only support GET and POST, a common technique - used by the Prototype library, for instance - is to use a normal POST with an additional hidden form field (_method
) to pass the "real" HTTP method along. This filter reads that parameter and changes theHttpServletRequestWrapper.getMethod()
return value accordingly. Only"PUT"
,"DELETE"
and"PATCH"
HTTP methods are allowed.The name of the request parameter defaults to
_method
, but can be adapted via themethodParam
property.NOTE: This filter needs to run after multipart processing in case of a multipart POST request, due to its inherent need for checking a POST body parameter. So typically, put a Spring
MultipartFilter
before this HiddenHttpMethodFilter in yourweb.xml
filter chain.- 从以下版本开始:
- 3.0
- 作者:
- Arjen Poutsma, Juergen Hoeller
字段概要
字段 修饰符和类型 字段 说明 static String
DEFAULT_METHOD_PARAM
Default method parameter:_method
从类继承的字段 org.springframework.web.filter.OncePerRequestFilter
ALREADY_FILTERED_SUFFIX
从类继承的字段 org.springframework.web.filter.GenericFilterBean
logger
构造器概要
构造器 构造器 说明 HiddenHttpMethodFilter()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected void
doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
Same contract as fordoFilter
, but guaranteed to be just invoked once per request within a single request thread.void
setMethodParam(String methodParam)
Set the parameter name to look for HTTP methods.从类继承的方法 org.springframework.web.filter.OncePerRequestFilter
doFilter, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
从类继承的方法 org.springframework.web.filter.GenericFilterBean
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
字段详细资料
DEFAULT_METHOD_PARAM
public static final String DEFAULT_METHOD_PARAM
Default method parameter:_method
- 另请参阅:
- 常量字段值
构造器详细资料
HiddenHttpMethodFilter
public HiddenHttpMethodFilter()
方法详细资料
setMethodParam
public void setMethodParam(String methodParam)
Set the parameter name to look for HTTP methods.- 另请参阅:
DEFAULT_METHOD_PARAM
doFilterInternal
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException
从类复制的说明:OncePerRequestFilter
Same contract as fordoFilter
, but guaranteed to be just invoked once per request within a single request thread. SeeOncePerRequestFilter.shouldNotFilterAsyncDispatch()
for details.Provides HttpServletRequest and HttpServletResponse arguments instead of the default ServletRequest and ServletResponse ones.