Top Description Fields Constructors Methods
org.springframework.web.multipart.support

public Class DefaultMultipartHttpServletRequest

extends AbstractMultipartHttpServletRequest
Class Inheritance
Imports
java.util.Collections, .Enumeration, .LinkedHashMap, .LinkedHashSet, .Map, .Set, jakarta.servlet.http.HttpServletRequest, org.springframework.http.HttpHeaders, org.springframework.lang.Nullable, org.springframework.util.MultiValueMap, org.springframework.web.multipart.MultipartFile

Default implementation of the org.springframework.web.multipart.MultipartHttpServletRequest interface. Provides management of pre-generated parameter values.
Authors
Trevor D. Cook, Juergen Hoeller, Arjen Poutsma
Since
29.09.2003
See Also
org.springframework.web.multipart.MultipartResolver

Field Summary

Modifier and TypeField and Description
private static final String
private Map<String, String>
private Map<String, String[]>

Constructor Summary

AccessConstructor and Description
public
DefaultMultipartHttpServletRequest(HttpServletRequest
the servlet request to wrap
request
,
MultiValueMap<String, MultipartFile>
a map of the multipart files
mpFiles
,
Map<String, String[]>
a map of the parameters to expose, with Strings as keys and String arrays as values
mpParams
,
Map<String, String> mpParamContentTypes)

Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

public
DefaultMultipartHttpServletRequest(HttpServletRequest
the servlet request to wrap
request
)

Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

Method Summary

Modifier and TypeMethod and Description
public String
getMultipartContentType(String
the name of the part
paramOrFileName
)

Implements org.springframework.web.multipart.MultipartRequest.getMultipartContentType.

Determine the content type of the specified request part.
public HttpHeaders
getMultipartHeaders(String paramOrFileName)

Implements org.springframework.web.multipart.MultipartHttpServletRequest.getMultipartHeaders.

Return the headers for the specified part of the multipart request.
protected Map<String, String>
getMultipartParameterContentTypes()

Obtain the multipart parameter content type Map for retrieval, lazily initializing it if necessary.

protected Map<String, String[]>
getMultipartParameters()

Obtain the multipart parameter Map for retrieval, lazily initializing it if necessary.

public String
getParameter(String
a String specifying the name of the parameter
name
)

Overrides jakarta.servlet.ServletRequestWrapper.getParameter.

Implements jakarta.servlet.ServletRequest.getParameter.

Returns the value of a request parameter as a String, or null if the parameter does not exist.
public Map<String, String[]>
getParameterMap()

Overrides jakarta.servlet.ServletRequestWrapper.getParameterMap.

Implements jakarta.servlet.ServletRequest.getParameterMap.

Returns a java.util.Map of the parameters of this request.
public Enumeration<String>
getParameterNames()

Overrides jakarta.servlet.ServletRequestWrapper.getParameterNames.

Implements jakarta.servlet.ServletRequest.getParameterNames.

Returns an Enumeration of String objects containing the names of the parameters contained in this request.
public String[]
getParameterValues(String
a String containing the name of the parameter whose value is requested
name
)

Overrides jakarta.servlet.ServletRequestWrapper.getParameterValues.

Implements jakarta.servlet.ServletRequest.getParameterValues.

Returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not exist.
protected final void
setMultipartParameterContentTypes(Map<String, String> multipartParameterContentTypes)

Set a Map with parameter names as keys and content type Strings as values.

protected final void
setMultipartParameters(Map<String, String[]> multipartParameters)

Set a Map with parameter names as keys and String array objects as values.

Inherited from org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest:
getFilegetFileMapgetFileNamesgetFilesgetMultiFileMapgetMultipartFilesgetRequestgetRequestHeadersgetRequestMethodinitializeMultipartisResolvedsetMultipartFiles

Field Detail

CONTENT_TYPEback to summary
private static final String CONTENT_TYPE
multipartParameterContentTypesback to summary
private Map<String, String> multipartParameterContentTypes
Annotations
@Nullable
multipartParametersback to summary
private Map<String, String[]> multipartParameters
Annotations
@Nullable

Constructor Detail

DefaultMultipartHttpServletRequestback to summary
public DefaultMultipartHttpServletRequest(HttpServletRequest request, MultiValueMap<String, MultipartFile> mpFiles, Map<String, String[]> mpParams, Map<String, String> mpParamContentTypes)

Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

Parameters
request:HttpServletRequest

the servlet request to wrap

mpFiles:MultiValueMap<String, MultipartFile>

a map of the multipart files

mpParams:Map<String, String[]>

a map of the parameters to expose, with Strings as keys and String arrays as values

DefaultMultipartHttpServletRequestback to summary
public DefaultMultipartHttpServletRequest(HttpServletRequest request)

Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

Parameters
request:HttpServletRequest

the servlet request to wrap

Method Detail

getMultipartContentTypeback to summary
public String getMultipartContentType(String paramOrFileName)

Implements org.springframework.web.multipart.MultipartRequest.getMultipartContentType.

Doc from org.springframework.web.multipart.MultipartRequest.getMultipartContentType.

Determine the content type of the specified request part.

Parameters
paramOrFileName:String

the name of the part

Returns:String

the associated content type, or null if not defined

Annotations
@Override
getMultipartHeadersback to summary
public HttpHeaders getMultipartHeaders(String paramOrFileName)

Implements org.springframework.web.multipart.MultipartHttpServletRequest.getMultipartHeaders.

Doc from org.springframework.web.multipart.MultipartHttpServletRequest.getMultipartHeaders.

Return the headers for the specified part of the multipart request.

If the underlying implementation supports access to part headers, then all headers are returned. Otherwise, e.g. for a file upload, the returned headers may expose a 'Content-Type' if available.

Annotations
@Override
getMultipartParameterContentTypesback to summary
protected Map<String, String> getMultipartParameterContentTypes()

Obtain the multipart parameter content type Map for retrieval, lazily initializing it if necessary.

See Also
initializeMultipart()
getMultipartParametersback to summary
protected Map<String, String[]> getMultipartParameters()

Obtain the multipart parameter Map for retrieval, lazily initializing it if necessary.

See Also
initializeMultipart()
getParameterback to summary
public String getParameter(String name)

Overrides jakarta.servlet.ServletRequestWrapper.getParameter.

Implements jakarta.servlet.ServletRequest.getParameter.

Doc from jakarta.servlet.ServletRequest.getParameter.

Returns the value of a request parameter as a String, or null if the parameter does not exist. Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data.

You should only use this method when you are sure the parameter has only one value. If the parameter might have more than one value, use getParameterValues.

If you use this method with a multivalued parameter, the value returned is equal to the first value in the array returned by getParameterValues.

If the parameter data was sent in the request body, such as occurs with an HTTP POST request, then reading the body directly via getInputStream or getReader can interfere with the execution of this method.

Parameters
name:String

a String specifying the name of the parameter

Returns:String

a String representing the single value of the parameter

Annotations
@Override
@Nullable
getParameterMapback to summary
public Map<String, String[]> getParameterMap()

Overrides jakarta.servlet.ServletRequestWrapper.getParameterMap.

Implements jakarta.servlet.ServletRequest.getParameterMap.

Doc from jakarta.servlet.ServletRequest.getParameterMap.

Returns a java.util.Map of the parameters of this request. Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data.

Returns:Map<String, String[]>

an immutable java.util.Map containing parameter names as keys and parameter values as map values. The keys in the parameter map are of type String. The values in the parameter map are of type String array.

Annotations
@Override
getParameterNamesback to summary
public Enumeration<String> getParameterNames()

Overrides jakarta.servlet.ServletRequestWrapper.getParameterNames.

Implements jakarta.servlet.ServletRequest.getParameterNames.

Doc from jakarta.servlet.ServletRequest.getParameterNames.

Returns an Enumeration of String objects containing the names of the parameters contained in this request. If the request has no parameters, the method returns an empty Enumeration.

Returns:Enumeration<String>

an Enumeration of String objects, each String containing the name of a request parameter; or an empty Enumeration if the request has no parameters

Annotations
@Override
getParameterValuesback to summary
public String[] getParameterValues(String name)

Overrides jakarta.servlet.ServletRequestWrapper.getParameterValues.

Implements jakarta.servlet.ServletRequest.getParameterValues.

Doc from jakarta.servlet.ServletRequest.getParameterValues.

Returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not exist.

If the parameter has a single value, the array has a length of 1.

Parameters
name:String

a String containing the name of the parameter whose value is requested

Returns:String[]

an array of String objects containing the parameter's values

Annotations
@Override
setMultipartParameterContentTypesback to summary
protected final void setMultipartParameterContentTypes(Map<String, String> multipartParameterContentTypes)

Set a Map with parameter names as keys and content type Strings as values. To be invoked by subclasses on initialization.

setMultipartParametersback to summary
protected final void setMultipartParameters(Map<String, String[]> multipartParameters)

Set a Map with parameter names as keys and String array objects as values. To be invoked by subclasses on initialization.