All Packages  Class Hierarchy  This Package  Previous  Next  Index

Interface javax.servlet.ServletRequest

public interface ServletRequest
This interface is for getting data from the client to the servlet for a service request. Network service developers implement the ServletRequest interface. The methods are then used by servlets when the service method is executed; the ServletRequest object is passed as an argument to the service method.

Some of the data provided by the ServletRequest object includes parameter names and values, attributes, and an input stream. Subclasses of ServletRequest can provide additional protocol-specific data. For example, HTTP data is provided by the interface HttpServletRequest, which extends ServletRequest. This framework provides the servlet's only access to this data.

MIME bodies are either text or binary data. Use getReader to handle text, including the character encodings. The getInputStream call should be used to handle binary data. Multipart MIME bodies are treated as binary data, since the headers are US-ASCII data.

See Also:
HttpServletRequest

Method Index

 o getAttribute(String)
Returns the value of the named attribute of the request, or null if the attribute does not exist.
 o getCharacterEncoding()
Returns the character set encoding for the input of this request.
 o getContentLength()
Returns the size of the request entity data, or -1 if not known.
 o getContentType()
Returns the Internet Media Type of the request entity data, or null if not known.
 o getInputStream()
Returns an input stream for reading binary data in the request body.
 o getParameter(String)
Returns a string containing the lone value of the specified parameter, or null if the parameter does not exist.
 o getParameterNames()
Returns the parameter names for this request as an enumeration of strings, or an empty enumeration if there are no parameters or the input stream is empty.
 o getParameterValues(String)
Returns the values of the specified parameter for the request as an array of strings, or null if the named parameter does not exist.
 o getProtocol()
Returns the protocol and version of the request as a string of the form <protocol>/<major version>.<minor version>.
 o getReader()
Returns a buffered reader for reading text in the request body.
 o getRealPath(String)
Applies alias rules to the specified virtual path and returns the corresponding real path, or null if the translation can not be performed for any reason.
 o getRemoteAddr()
Returns the IP address of the agent that sent the request.
 o getRemoteHost()
Returns the fully qualified host name of the agent that sent the request.
 o getScheme()
Returns the scheme of the URL used in this request, for example "http", "https", or "ftp".
 o getServerName()
Returns the host name of the server that received the request.
 o getServerPort()
Returns the port number on which this request was received.

Methods

 o getContentLength
 public abstract int getContentLength()
Returns the size of the request entity data, or -1 if not known. Same as the CGI variable CONTENT_LENGTH.

 o getContentType
 public abstract String getContentType()
Returns the Internet Media Type of the request entity data, or null if not known. Same as the CGI variable CONTENT_TYPE.

 o getProtocol
 public abstract String getProtocol()
Returns the protocol and version of the request as a string of the form <protocol>/<major version>.<minor version>. Same as the CGI variable SERVER_PROTOCOL.

 o getScheme
 public abstract String getScheme()
Returns the scheme of the URL used in this request, for example "http", "https", or "ftp". Different schemes have different rules for constructing URLs, as noted in RFC 1738. The URL used to create a request may be reconstructed using this scheme, the server name and port, and additional information such as URIs.

 o getServerName
 public abstract String getServerName()
Returns the host name of the server that received the request. Same as the CGI variable SERVER_NAME.

 o getServerPort
 public abstract int getServerPort()
Returns the port number on which this request was received. Same as the CGI variable SERVER_PORT.

 o getRemoteAddr
 public abstract String getRemoteAddr()
Returns the IP address of the agent that sent the request. Same as the CGI variable REMOTE_ADDR.

 o getRemoteHost
 public abstract String getRemoteHost()
Returns the fully qualified host name of the agent that sent the request. Same as the CGI variable REMOTE_HOST.

 o getRealPath
 public abstract String getRealPath(String path)
Applies alias rules to the specified virtual path and returns the corresponding real path, or null if the translation can not be performed for any reason. For example, an HTTP servlet would resolve the path using the virtual docroot, if virtual hosting is enabled, and with the default docroot otherwise. Calling this method with the string "/" as an argument returns the document root.

Parameters:
path - the virtual path to be translated to a real path
 o getInputStream
 public abstract ServletInputStream getInputStream() throws IOException
Returns an input stream for reading binary data in the request body.

Throws: IllegalStateException
if getReader has been called on this same request.
Throws: IOException
on other I/O related errors.
See Also:
getReader
 o getParameter
 public abstract String getParameter(String name)
Returns a string containing the lone value of the specified parameter, or null if the parameter does not exist. For example, in an HTTP servlet this method would return the value of the specified query string parameter. Servlet writers should use this method only when they are sure that there is only one value for the parameter. If the parameter has (or could have) multiple values, servlet writers should use getParameterValues. If a multiple valued parameter name is passed as an argument, the return value is implementation dependent.

Parameters:
name - the name of the parameter whose value is required.
See Also:
getParameterValues
 o getParameterValues
 public abstract String[] getParameterValues(String name)
Returns the values of the specified parameter for the request as an array of strings, or null if the named parameter does not exist. For example, in an HTTP servlet this method would return the values of the specified query string or posted form as an array of strings.

Parameters:
name - the name of the parameter whose value is required.
See Also:
getParameter
 o getParameterNames
 public abstract Enumeration getParameterNames()
Returns the parameter names for this request as an enumeration of strings, or an empty enumeration if there are no parameters or the input stream is empty. The input stream would be empty if all the data had been read from the stream returned by the method getInputStream.

 o getAttribute
 public abstract Object getAttribute(String name)
Returns the value of the named attribute of the request, or null if the attribute does not exist. This method allows access to request information not already provided by the other methods in this interface. Attribute names should follow the same convention as package names. The following predefined attributes are provided.
Attribute Name Attribute Type Description
javax.net.ssl.cipher_suite string The string name of the SSL cipher suite in use, if the request was made using SSL
javax.net.ssl.peer_certificates array of javax.security.cert.X509Certificate The chain of X.509 certificates which authenticates the client. This is only available when SSL is used with client authentication is used.
javax.net.ssl.session javax.net.ssl.SSLSession An SSL session object, if the request was made using SSL.

The package (and hence attribute) names beginning with java.*, and javax.* are reserved for use by Javasoft. Similarly, com.sun.* is reserved for use by Sun Microsystems.

Parameters:
name - the name of the attribute whose value is required
 o getReader
 public abstract BufferedReader getReader() throws IOException
Returns a buffered reader for reading text in the request body. This translates character set encodings as appropriate.

Throws: UnsupportedEncodingException
if the character set encoding is unsupported, so the text can't be correctly decoded.
Throws: IllegalStateException
if getInputStream has been called on this same request.
Throws: IOException
on other I/O related errors.
See Also:
getInputStream
 o getCharacterEncoding
 public abstract String getCharacterEncoding()
Returns the character set encoding for the input of this request.


All Packages  Class Hierarchy  This Package  Previous  Next  Index