| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <title>HttpServlet</title> |
| <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../script.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="HttpServlet"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <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> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../javax/servlet/http/HttpFilter.html" title="class in javax.servlet.http"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../javax/servlet/http/HttpServletMapping.html" title="interface in javax.servlet.http"><span class="typeNameLink">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> |
| <dl> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><a href="../../../org/apache/jasper/runtime/HttpJspBase.html" title="class in org.apache.jasper.runtime">HttpJspBase</a>, <a href="../../../org/apache/tomee/webapp/installer/InstallerServlet.html" title="class in org.apache.tomee.webapp.installer">InstallerServlet</a>, <a href="../../../org/apache/jasper/servlet/JspServlet.html" title="class in org.apache.jasper.servlet">JspServlet</a>, <a href="../../../org/apache/tomee/livereload/LiveReloadJs.html" title="class in org.apache.tomee.livereload">LiveReloadJs</a>, <a href="../../../org/apache/tomee/loader/LoaderServlet.html" title="class in org.apache.tomee.loader">LoaderServlet</a>, <a href="../../../org/apache/openejb/server/hessian/OpenEJBHessianServlet.html" title="class in org.apache.openejb.server.hessian">OpenEJBHessianServlet</a>, <a href="../../../org/apache/openejb/server/rest/OpenEJBRestServlet.html" title="class in org.apache.openejb.server.rest">OpenEJBRestServlet</a>, <a href="../../../org/apache/openejb/server/rest/RsServlet.html" title="class in org.apache.openejb.server.rest">RsServlet</a>, <a href="../../../org/apache/openejb/server/httpd/ServerServlet.html" title="class in org.apache.openejb.server.httpd">ServerServlet</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>public abstract class <span class="typeNameLabel">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>XXX</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="https://docs.oracle.com/javase/tutorial/essential/concurrency/"> |
| Java Tutorial on Multithreaded Programming</a> for more |
| information on handling multiple threads in a Java program.</div> |
| <dl> |
| <dt><span class="seeLabel">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="memberSummary" 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><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#HttpServlet--">HttpServlet</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#doDelete-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doDelete</a></span>(<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 id="i1" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doGet</a></span>(<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 id="i2" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#doHead-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doHead</a></span>(<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 id="i3" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#doOptions-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doOptions</a></span>(<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 id="i4" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doPost</a></span>(<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 id="i5" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#doPut-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doPut</a></span>(<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 id="i6" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#doTrace-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doTrace</a></span>(<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 id="i7" class="rowColor"> |
| <td class="colFirst"><code>protected long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#getLastModified-javax.servlet.http.HttpServletRequest-">getLastModified</a></span>(<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 id="i8" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#service-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">service</a></span>(<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>XXX</i> methods defined in |
| this class.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/http/HttpServlet.html#service-javax.servlet.ServletRequest-javax.servlet.ServletResponse-">service</a></span>(<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.lang.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="paramLabel">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="throwsLabel">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="seeLabel">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="paramLabel">Parameters:</span></dt> |
| <dd><code>req</code> - the <code>HttpServletRequest</code> |
| object that is sent to the servlet</dd> |
| <dt><span class="returnLabel">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="paramLabel">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 clien</dd> |
| <dt><span class="throwsLabel">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="paramLabel">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="throwsLabel">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="seeLabel">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="paramLabel">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="throwsLabel">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="paramLabel">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="throwsLabel">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="paramLabel">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="throwsLabel">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="paramLabel">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="throwsLabel">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>XXX</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="paramLabel">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="throwsLabel">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="seeLabel">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><span class="overrideSpecifyLabel">Specified by:</span></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><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">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="throwsLabel">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 or if either parameter is not |
| an instance of its respective <a href="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><code>HttpServletRequest</code></a> |
| or <a href="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><code>HttpServletResponse</code></a> counterparts.</dd> |
| <dt><span class="seeLabel">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> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <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> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../javax/servlet/http/HttpFilter.html" title="class in javax.servlet.http"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../javax/servlet/http/HttpServletMapping.html" title="interface in javax.servlet.http"><span class="typeNameLink">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 ======= --> |
| </body> |
| </html> |