Added: tomcat/site/trunk/docs/tomcat-8.0-doc/servletapi/javax/servlet/http/HttpServlet.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-8.0-doc/servletapi/javax/servlet/http/HttpServlet.html?rev=1510665&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-8.0-doc/servletapi/javax/servlet/http/HttpServlet.html (added) +++ tomcat/site/trunk/docs/tomcat-8.0-doc/servletapi/javax/servlet/http/HttpServlet.html Mon Aug 5 19:10:09 2013 @@ -0,0 +1,791 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- NewPage --> +<html lang="en"> +<head> +<!-- Generated by javadoc (version 1.7.0_25) on Thu Aug 01 21:15:52 BST 2013 --> +<title>HttpServlet (Servlet 3.0 API Documentation - Apache Tomcat 8.0.0-RC1)</title> +<meta name="date" content="2013-08-01"> +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> +</head> +<body> +<script type="text/javascript"><!-- + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="HttpServlet (Servlet 3.0 API Documentation - Apache Tomcat 8.0.0-RC1)"; + } +//--> +</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="topNav"><a name="navbar_top"> +<!-- --> +</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../index-all.html">Index</a></li> +<li><a href="../../../help-doc.html">Help</a></li> +</ul> +<div class="aboutLanguage"><em><b>Servlet 3.0 - Apache Tomcat 8.0.0-RC1</b></em></div> +</div> +<div class="subNav"> +<ul class="navList"> +<li><a href="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../index.html?javax/servlet/http/HttpServlet.html" target="_top">Frames</a></li> +<li><a href="HttpServlet.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_top"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li>Field | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor_detail">Constr</a> | </li> +<li><a href="#method_detail">Method</a></li> +</ul> +</div> +<a name="skip-navbar_top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<div class="subTitle">javax.servlet.http</div> +<h2 title="Class HttpServlet" class="title">Class HttpServlet</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li>java.lang.Object</li> +<li> +<ul class="inheritance"> +<li><a href="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">javax.servlet.GenericServlet</a></li> +<li> +<ul class="inheritance"> +<li>javax.servlet.http.HttpServlet</li> +</ul> +</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>All Implemented Interfaces:</dt> +<dd>java.io.Serializable, <a href="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</a>, <a href="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</a></dd> +</dl> +<hr> +<br> +<pre>public abstract class <span class="strong">HttpServlet</span> +extends <a href="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</a></pre> +<div class="block">Provides an abstract class to be subclassed to create + an HTTP servlet suitable for a Web site. A subclass of + <code>HttpServlet</code> must override at least + one method, usually one of these: + + <ul> + <li> <code>doGet</code>, if the servlet supports HTTP GET requests + <li> <code>doPost</code>, for HTTP POST requests + <li> <code>doPut</code>, for HTTP PUT requests + <li> <code>doDelete</code>, for HTTP DELETE requests + <li> <code>init</code> and <code>destroy</code>, + to manage resources that are held for the life of the servlet + <li> <code>getServletInfo</code>, which the servlet uses to + provide information about itself + </ul> + + <p>There's almost no reason to override the <code>service</code> + method. <code>service</code> handles standard HTTP + requests by dispatching them to the handler methods + for each HTTP request type (the <code>do</code><i>Method</i> + methods listed above). + + <p>Likewise, there's almost no reason to override the + <code>doOptions</code> and <code>doTrace</code> methods. + + <p>Servlets typically run on multithreaded servers, + so be aware that a servlet must handle concurrent + requests and be careful to synchronize access to shared resources. + Shared resources include in-memory data such as + instance or class variables and external objects + such as files, database connections, and network + connections. + See the + <a href="http://java.sun.com/Series/Tutorial/java/threads/multithreaded.html"> + Java Tutorial on Multithreaded Programming</a> for more + information on handling multiple threads in a Java program.</div> +<dl><dt><span class="strong">Version:</span></dt> + <dd>$Version$</dd> +<dt><span class="strong">Author:</span></dt> + <dd>Various</dd> +<dt><span class="strong">See Also:</span></dt><dd><a href="../../../serialized-form.html#javax.servlet.http.HttpServlet">Serialized Form</a></dd></dl> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- ======== CONSTRUCTOR SUMMARY ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor_summary"> +<!-- --> +</a> +<h3>Constructor Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> +<caption><span>Constructors</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colOne" scope="col">Constructor and Description</th> +</tr> +<tr class="altColor"> +<td class="colOne"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#HttpServlet()">HttpServlet</a></strong>()</code> +<div class="block">Does nothing, because this is an abstract class.</div> +</td> +</tr> +</table> +</li> +</ul> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> +<caption><span>Methods</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Method and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doDelete</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a DELETE request.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doGet</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Called by the server (via the <code>service</code> method) to + allow a servlet to handle a GET request.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doHead</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Receives an HTTP HEAD request from the protected + <code>service</code> method and handles the + request.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doOptions</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a OPTIONS request.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPost</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a POST request.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPut</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a PUT request.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doTrace</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a TRACE request.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected long</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#getLastModified(javax.servlet.http.HttpServletRequest)">getLastModified</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req)</code> +<div class="block">Returns the time the <code>HttpServletRequest</code> + object was last modified, + in milliseconds since midnight January 1, 1970 GMT.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">service</a></strong>(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp)</code> +<div class="block">Receives standard HTTP requests from the public + <code>service</code> method and dispatches + them to the <code>do</code><i>Method</i> methods defined in + this class.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</a></strong>(<a href="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</a> req, + <a href="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</a> res)</code> +<div class="block">Dispatches client requests to the protected + <code>service</code> method.</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods_inherited_from_class_javax.servlet.GenericServlet"> +<!-- --> +</a> +<h3>Methods inherited from class javax.servlet.<a href="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</a></h3> +<code><a href="../../../javax/servlet/GenericServlet.html#destroy()">destroy</a>, <a href="../../../javax/servlet/GenericServlet.html#getInitParameter(java.lang.String)">getInitParameter</a>, <a href="../../../javax/servlet/GenericServlet.html#getInitParameterNames()">getInitParameterNames</a>, <a href="../../../javax/servlet/GenericServlet.html#getServletConfig()">getServletConfig</a>, <a href="../../../javax/servlet/GenericServlet.html#getServletContext()">getServletContext</a>, <a href="../../../javax/servlet/GenericServlet.html#getServletInfo()">getServletInfo</a>, <a href="../../../javax/servlet/GenericServlet.html#getServletName()">getServletName</a>, <a href="../../../javax/servlet/GenericServlet.html#init()">init</a>, <a href="../../../javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)">init</a>, <a href="../../../javax/servlet/GenericServlet.html#log(java.lang.String)">log</a>, <a href="../../../javax/servlet/GenericServlet.html#log(java.lang.String, java.l ang.Throwable)">log</a></code></li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.Object</h3> +<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +<div class="details"> +<ul class="blockList"> +<li class="blockList"> +<!-- ========= CONSTRUCTOR DETAIL ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor_detail"> +<!-- --> +</a> +<h3>Constructor Detail</h3> +<a name="HttpServlet()"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>HttpServlet</h4> +<pre>public HttpServlet()</pre> +<div class="block">Does nothing, because this is an abstract class.</div> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doGet</h4> +<pre>protected void doGet(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Called by the server (via the <code>service</code> method) to + allow a servlet to handle a GET request. + + <p>Overriding this method to support a GET request also + automatically supports an HTTP HEAD request. A HEAD + request is a GET request that returns no body in the + response, only the request header fields. + + <p>When overriding this method, read the request data, + write the response headers, get the response's writer or + output stream object, and finally, write the response data. + It's best to include content type and encoding. When using + a <code>PrintWriter</code> object to return the response, + set the content type before accessing the + <code>PrintWriter</code> object. + + <p>The servlet container must write the headers before + committing the response, because in HTTP the headers must be sent + before the response body. + + <p>Where possible, set the Content-Length header (with the + <a href="../../../javax/servlet/ServletResponse.html#setContentLength(int)"><code>ServletResponse.setContentLength(int)</code></a> method), + to allow the servlet container to use a persistent connection + to return its response to the client, improving performance. + The content length is automatically set if the entire response fits + inside the response buffer. + + <p>When using HTTP 1.1 chunked encoding (which means that the response + has a Transfer-Encoding header), do not set the Content-Length header. + + <p>The GET method should be safe, that is, without + any side effects for which users are held responsible. + For example, most form queries have no side effects. + If a client request is intended to change stored data, + the request should use some other HTTP method. + + <p>The GET method should also be idempotent, meaning + that it can be safely repeated. Sometimes making a + method safe also makes it idempotent. For example, + repeating queries is both safe and idempotent, but + buying a product online or modifying data is neither + safe nor idempotent. + + <p>If the request is incorrectly formatted, <code>doGet</code> + returns an HTTP "Bad Request" message.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - an <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client has made + of the servlet</dd><dd><code>resp</code> - an <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet sends + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error is + detected when the servlet handles + the GET request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the request for the GET + could not be handled</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><code>ServletResponse.setContentType(java.lang.String)</code></a></dd></dl> +</li> +</ul> +<a name="getLastModified(javax.servlet.http.HttpServletRequest)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getLastModified</h4> +<pre>protected long getLastModified(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req)</pre> +<div class="block">Returns the time the <code>HttpServletRequest</code> + object was last modified, + in milliseconds since midnight January 1, 1970 GMT. + If the time is unknown, this method returns a negative + number (the default). + + <p>Servlets that support HTTP GET requests and can quickly determine + their last modification time should override this method. + This makes browser and proxy caches work more effectively, + reducing the load on server and network resources.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the <code>HttpServletRequest</code> + object that is sent to the servlet</dd> +<dt><span class="strong">Returns:</span></dt><dd>a <code>long</code> integer specifying + the time the <code>HttpServletRequest</code> + object was last modified, in milliseconds + since midnight, January 1, 1970 GMT, or + -1 if the time is not known</dd></dl> +</li> +</ul> +<a name="doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doHead</h4> +<pre>protected void doHead(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block"><p>Receives an HTTP HEAD request from the protected + <code>service</code> method and handles the + request. + The client sends a HEAD request when it wants + to see only the headers of a response, such as + Content-Type or Content-Length. The HTTP HEAD + method counts the output bytes in the response + to set the Content-Length header accurately. + + <p>If you override this method, you can avoid computing + the response body and just set the response headers + directly to improve performance. Make sure that the + <code>doHead</code> method you write is both safe + and idempotent (that is, protects itself from being + called multiple times for one HTTP HEAD request). + + <p>If the HTTP HEAD request is incorrectly formatted, + <code>doHead</code> returns an HTTP "Bad Request" + message.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the request object that is passed to the servlet</dd><dd><code>resp</code> - the response object that the servlet + uses to return the headers to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error occurs</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the request for the HEAD + could not be handled</dd></dl> +</li> +</ul> +<a name="doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doPost</h4> +<pre>protected void doPost(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a POST request. + + The HTTP POST method allows the client to send + data of unlimited length to the Web server a single time + and is useful when posting information such as + credit card numbers. + + <p>When overriding this method, read the request data, + write the response headers, get the response's writer or output + stream object, and finally, write the response data. It's best + to include content type and encoding. When using a + <code>PrintWriter</code> object to return the response, set the + content type before accessing the <code>PrintWriter</code> object. + + <p>The servlet container must write the headers before committing the + response, because in HTTP the headers must be sent before the + response body. + + <p>Where possible, set the Content-Length header (with the + <a href="../../../javax/servlet/ServletResponse.html#setContentLength(int)"><code>ServletResponse.setContentLength(int)</code></a> method), + to allow the servlet container to use a persistent connection + to return its response to the client, improving performance. + The content length is automatically set if the entire response fits + inside the response buffer. + + <p>When using HTTP 1.1 chunked encoding (which means that the response + has a Transfer-Encoding header), do not set the Content-Length header. + + <p>This method does not need to be either safe or idempotent. + Operations requested through POST can have side effects for + which the user can be held accountable, for example, + updating stored data or buying items online. + + <p>If the HTTP POST request is incorrectly formatted, + <code>doPost</code> returns an HTTP "Bad Request" message.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - an <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client has made + of the servlet</dd><dd><code>resp</code> - an <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet sends + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error is + detected when the servlet handles + the request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the request for the POST + could not be handled</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><code>ServletOutputStream</code></a>, +<a href="../../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><code>ServletResponse.setContentType(java.lang.String)</code></a></dd></dl> +</li> +</ul> +<a name="doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doPut</h4> +<pre>protected void doPut(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a PUT request. + + The PUT operation allows a client to + place a file on the server and is similar to + sending a file by FTP. + + <p>When overriding this method, leave intact + any content headers sent with the request (including + Content-Length, Content-Type, Content-Transfer-Encoding, + Content-Encoding, Content-Base, Content-Language, Content-Location, + Content-MD5, and Content-Range). If your method cannot + handle a content header, it must issue an error message + (HTTP 501 - Not Implemented) and discard the request. + For more information on HTTP 1.1, see RFC 2616 + <a href="http://www.ietf.org/rfc/rfc2616.txt"></a>. + + <p>This method does not need to be either safe or idempotent. + Operations that <code>doPut</code> performs can have side + effects for which the user can be held accountable. When using + this method, it may be useful to save a copy of the + affected URL in temporary storage. + + <p>If the HTTP PUT request is incorrectly formatted, + <code>doPut</code> returns an HTTP "Bad Request" message.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client made of + the servlet</dd><dd><code>resp</code> - the <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet returns + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error occurs + while the servlet is handling the + PUT request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the request for the PUT + cannot be handled</dd></dl> +</li> +</ul> +<a name="doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doDelete</h4> +<pre>protected void doDelete(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a DELETE request. + + The DELETE operation allows a client to remove a document + or Web page from the server. + + <p>This method does not need to be either safe + or idempotent. Operations requested through + DELETE can have side effects for which users + can be held accountable. When using + this method, it may be useful to save a copy of the + affected URL in temporary storage. + + <p>If the HTTP DELETE request is incorrectly formatted, + <code>doDelete</code> returns an HTTP "Bad Request" + message.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client made of + the servlet</dd><dd><code>resp</code> - the <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet returns + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error occurs + while the servlet is handling the + DELETE request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the request for the + DELETE cannot be handled</dd></dl> +</li> +</ul> +<a name="doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doOptions</h4> +<pre>protected void doOptions(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a OPTIONS request. + + The OPTIONS request determines which HTTP methods + the server supports and + returns an appropriate header. For example, if a servlet + overrides <code>doGet</code>, this method returns the + following header: + + <p><code>Allow: GET, HEAD, TRACE, OPTIONS</code> + + <p>There's no need to override this method unless the + servlet implements new HTTP methods, beyond those + implemented by HTTP 1.1.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client made of + the servlet</dd><dd><code>resp</code> - the <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet returns + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error occurs + while the servlet is handling the + OPTIONS request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the request for the + OPTIONS cannot be handled</dd></dl> +</li> +</ul> +<a name="doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doTrace</h4> +<pre>protected void doTrace(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Called by the server (via the <code>service</code> method) + to allow a servlet to handle a TRACE request. + + A TRACE returns the headers sent with the TRACE + request to the client, so that they can be used in + debugging. There's no need to override this method.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client made of + the servlet</dd><dd><code>resp</code> - the <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet returns + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error occurs + while the servlet is handling the + TRACE request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the request for the + TRACE cannot be handled</dd></dl> +</li> +</ul> +<a name="service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>service</h4> +<pre>protected void service(<a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</a> req, + <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</a> resp) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Receives standard HTTP requests from the public + <code>service</code> method and dispatches + them to the <code>do</code><i>Method</i> methods defined in + this class. This method is an HTTP-specific version of the + <a href="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><code>Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</code></a> method. There's no + need to override this method.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client made of + the servlet</dd><dd><code>resp</code> - the <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet returns + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error occurs + while the servlet is handling the + HTTP request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the HTTP request + cannot be handled</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><code>Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</code></a></dd></dl> +</li> +</ul> +<a name="service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>service</h4> +<pre>public void service(<a href="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</a> req, + <a href="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</a> res) + throws <a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>, + java.io.IOException</pre> +<div class="block">Dispatches client requests to the protected + <code>service</code> method. There's no need to + override this method.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</a></code> in interface <code><a href="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</a></code></dd> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../javax/servlet/GenericServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</a></code> in class <code><a href="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>req</code> - the <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that + contains the request the client made of + the servlet</dd><dd><code>res</code> - the <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> object that + contains the response the servlet returns + to the client</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.io.IOException</code> - if an input or output error occurs + while the servlet is handling the + HTTP request</dd> +<dd><code><a href="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the HTTP request cannot + be handled</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><code>Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</code></a></dd></dl> +</li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +</div> +<!-- ========= END OF CLASS DATA ========= --> +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<div class="bottomNav"><a name="navbar_bottom"> +<!-- --> +</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../index-all.html">Index</a></li> +<li><a href="../../../help-doc.html">Help</a></li> +</ul> +<div class="aboutLanguage"><em><b>Servlet 3.0 - Apache Tomcat 8.0.0-RC1</b></em></div> +</div> +<div class="subNav"> +<ul class="navList"> +<li><a href="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../index.html?javax/servlet/http/HttpServlet.html" target="_top">Frames</a></li> +<li><a href="HttpServlet.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_bottom"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li>Field | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor_detail">Constr</a> | </li> +<li><a href="#method_detail">Method</a></li> +</ul> +</div> +<a name="skip-navbar_bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.</small></p> +</body> +</html>
Propchange: tomcat/site/trunk/docs/tomcat-8.0-doc/servletapi/javax/servlet/http/HttpServlet.html ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org