javax.servlet
Interface ServletRequest

All Known Subinterfaces:
HttpServletRequest

public abstract interface ServletRequest

Whenever the server receives a request it creates a ServletRequest object, puts all the request information in it and passes this along with a ServletResponse object to the approriate servlet.

Since:
Servlet API 1.0
Version:
Servlet API 2.1

Method Summary
 java.lang.Object getAttribute(java.lang.String name)
          Gets a named attribute's value.
 java.util.Enumeration getAttributeNames()
          Gets an Enumeration of all the attribute names.
 java.lang.String getCharacterEncoding()
          Gets the character encoding of the request data.
 int getContentLength()
          Gets the size in bytes of the request
 java.lang.String getContentType()
          Gets the mime type of the request
 ServletInputStream getInputStream()
          Creates an inputstream for servlets to read client request data from.
 java.lang.String getParameter(java.lang.String name)
          Gets the value of a named requestparameter.
 java.util.Enumeration getParameterNames()
          Gets all parameter names.
 java.lang.String[] getParameterValues(java.lang.String name)
          Gets an array of Strings containing all the request parameter's values whose name matches name.
 java.lang.String getProtocol()
          Gets the protocol of the request as Proto/Major.Minor ("HTTP/1.1").
 java.io.BufferedReader getReader()
          Creates an BufferedReader for servlets to read client request data from.
 java.lang.String getRealPath(java.lang.String path)
          Deprecated. Should use getRealPath from the current ServletContext.
 java.lang.String getRemoteAddr()
          Gets the ip address of the client that sent the request
 java.lang.String getRemoteHost()
          Gets the hostname of the client that sent the request.
 java.lang.String getScheme()
          Gets the scheme of the request as defined by RFC 1783 ("ftp", "http", "gopher", "news").
 java.lang.String getServerName()
          Get the name of the server receiving the request
 int getServerPort()
          Gets the portnumber the server reveiving the request is running on.
 void setAttribute(java.lang.String name, java.lang.Object o)
          Puts a named object into the ServletRequest.
 

Method Detail

getContentLength

public int getContentLength()
Gets the size in bytes of the request
Returns:
the number of bytes in the request or -1 if not known
Since:
Servlet API 1.0

getContentType

public java.lang.String getContentType()
Gets the mime type of the request
Returns:
a String containing the mime type of the request or null if not known
Since:
Servlet API 1.0

getProtocol

public java.lang.String getProtocol()
Gets the protocol of the request as Proto/Major.Minor ("HTTP/1.1").
Returns:
A string containing the protocol name
Since:
Servlet API 1.0

getScheme

public java.lang.String getScheme()
Gets the scheme of the request as defined by RFC 1783 ("ftp", "http", "gopher", "news").
Returns:
A String containing the scheme
Since:
Servlet API 1.0

getServerName

public java.lang.String getServerName()
Get the name of the server receiving the request
Returns:
The name of the server.
Since:
Servlet API 1.0

getServerPort

public int getServerPort()
Gets the portnumber the server reveiving the request is running on.
Returns:
the portnumber
Since:
Servlet API 1.0

getRemoteAddr

public java.lang.String getRemoteAddr()
Gets the ip address of the client that sent the request
Returns:
the client's ip address
Since:
Servlet API 1.0

getRemoteHost

public java.lang.String getRemoteHost()
Gets the hostname of the client that sent the request. This is either a fully qualified host name or a string representing the remote IP address.
Returns:
the client's hostname
Since:
Servlet API 1.0

getRealPath

public java.lang.String getRealPath(java.lang.String path)
Deprecated. Should use getRealPath from the current ServletContext.
Translates the given path to the real path on the servers filesystem, using the servers documentroot.
Parameters:
path - the path which requires translating
Returns:
the translated path
Since:
Servlet API 1.0
See Also:
ServletContext.getRealPath(java.lang.String)

getInputStream

public ServletInputStream getInputStream()
                                  throws java.io.IOException
Creates an inputstream for servlets to read client request data from.
Returns:
The created InputStreams
Throws:
java.io.IOException - if an i/o related error occured
java.lang.IllegalStateException - if getReader was already called on this request.
Since:
Servlet API 1.0
See Also:
getReader()

getParameter

public java.lang.String getParameter(java.lang.String name)
Gets the value of a named requestparameter. If the parameter can have more than one value getParameterValues should be used. If there are more than one values associated with the parameter this method will only return the first value as return by getParameterValues is returned. see javax.servlet.ServletRequest.getParameterValues()
Parameters:
name - the name of the parameter whose value we want
Returns:
the (first) value of the parameter or null if not present
Since:
Servlet API 1.0

getParameterValues

public java.lang.String[] getParameterValues(java.lang.String name)
Gets an array of Strings containing all the request parameter's values whose name matches name.
Returns:
the array containing all the values or null if not present
Since:
Servlet API 1.0

getParameterNames

public java.util.Enumeration getParameterNames()
Gets all parameter names.

Note that the Servlet API 2.1 documentation says that this returns an empty Enumeration if the input stream is empty, but this is not mandated by the Servlet Spec.

Returns:
an enumeration containing all parameter names
Since:
Servlet API 1.0

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Gets a named attribute's value. This gives one of the initialization attribute values.

Note that the Servlet 2.1 API Documentation mentions some predefined attribute names, but the Servlet Spec does not mention them. I (MJW) am not sure if they are platform specific (JWS) or not.

Returns:
The value of the attribute, null if not found.
Since:
Servlet API 1.0

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object o)
Puts a named object into the ServletRequest. Can be used to communicate with other servlets if this ServletRequest is passed to another servlet through a RequestDispatcher. The names used must follow the conventions used for naming java packages.
Parameters:
name - - which is used to refer to this object
object - - which should be returned when somebody calls getAttribute(name)
Since:
Servlet API 2.1
See Also:
getAttribute(java.lang.String), RequestDispatcher

getAttributeNames

public java.util.Enumeration getAttributeNames()
Gets an Enumeration of all the attribute names.
Returns:
The Enumeration of all attribute names set in this request.
Since:
Servlet API 2.1

getReader

public java.io.BufferedReader getReader()
                                 throws java.io.IOException
Creates an BufferedReader for servlets to read client request data from.
Returns:
The created BufferedReader
Throws:
java.io.IOException - if an i/o related error occured
java.lang.IllegalStateException - if getInputStream was already called on this request.
Since:
Servlet API 2.0
See Also:
getInputStream()

getCharacterEncoding

public java.lang.String getCharacterEncoding()
Gets the character encoding of the request data.
Returns:
Character encoding or null if the encoding is unavailable
Since:
Servlet API 2.0