home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-07-18 | 6.3 KB | 172 lines |
- /*
- * @(#)ServletRequest.java 1.33 97/05/22
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc. All Rights Reserved.
- *
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information"). You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- *
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- *
- * CopyrightVersion 1.0
- */
-
- package javax.servlet;
-
- import java.io.IOException;
- import java.util.Enumeration;
-
- /**
- *
- * 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.
- *
- * <p>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.
- *
- * @see javax.servlet.http.HttpServletRequest
- *
- * @version 1.33,05/22/97
- * @author David Connelly */
-
- public
- interface ServletRequest {
- /**
- * Returns the size of the request entity data, or -1 if not known.
- * Same as the CGI variable CONTENT_LENGTH.
- */
- public int getContentLength();
-
- /**
- * Returns the Internet Media Type of the request entity data, or
- * null if not known. Same as the CGI variable CONTENT_TYPE.
- */
- public String getContentType();
-
- /**
- * Returns the protocol and version of the request as a string of
- * the form <code><protocol>/<major version>.<minor
- * version></code>. Same as the CGI variable SERVER_PROTOCOL.
- */
- public String getProtocol();
-
- /**
- * 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.
- */
- public String getScheme();
-
- /**
- * Returns the host name of the server that received the request.
- * Same as the CGI variable SERVER_NAME.
- */
- public String getServerName();
-
- /**
- * Returns the port number on which this request was received.
- * Same as the CGI variable SERVER_PORT.
- */
- public int getServerPort();
-
- /**
- * Returns the IP address of the agent that sent the request.
- * Same as the CGI variable REMOTE_ADDR.
- */
- public String getRemoteAddr();
-
- /**
- * Returns the fully qualified host name of the agent that sent the
- * request. Same as the CGI variable REMOTE_HOST.
- */
- public String getRemoteHost();
-
- /**
- * 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.
- *
- * @param path the virtual path to be translated to a real path */
- String getRealPath(String path);
-
- /**
- * Returns an input stream for reading the request body.
- */
- public ServletInputStream getInputStream() throws IOException;
-
- /**
- * 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.
- *
- * @param name the name of the parameter whose value is required.
- * @see javax.servlet.ServletRequest#getParameterValues
- */
- public String getParameter(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.
- *
- * @param name the name of the parameter whose value is required.
- * @see javax.servlet.ServletRequest#getParameter
- */
-
- public String[] getParameterValues(String name);
-
- /**
- * 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.
- */
- public Enumeration getParameterNames();
-
- /**
- *
- * 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 package names java.*,
- * and javax.* are reserved for use by Javasoft, and com.sun.* is
- * reserved for use by Sun Microsystems.
- *
- * @param name the name of the attribute whose value is required
- */
- public Object getAttribute(String name);
- }
-