blob: 625ffa28b30ce10ace18e6e7e8bf22ab8a532047 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="Author" content="Anil K. Vijendran" />
<title>Servlet Examples</title>
<style type="text/css">
img { border: 0; }
th { text-align: left; }
tr { vertical-align: top; }
</style>
</head>
<body>
<h1>Servlet
Examples with Code</h1>
<p>This is a collection of examples which demonstrate some of the more
frequently used parts of the Servlet API. Familiarity with the Java(tm)
Programming Language is assumed.
<p>These examples will only work when viewed via an http URL. They will
not work if you are viewing these pages via a "file://..." URL. Please
refer to the <i>README</i> file provide with this Tomcat release regarding
how to configure and start the provided web server.
<p>Wherever you see a form, enter some data and see how the servlet reacts.
When playing with the Cookie and Session Examples, jump back to the Headers
Example to see exactly what your browser is sending the server.
<p>To navigate your way through the examples, the following icons will
help:</p>
<ul style="list-style-type: none; padding-left: 0;">
<li><img src="images/execute.gif" alt=""> Execute the example</li>
<li><img src="images/code.gif" alt=""> Look at the source code for the example</li>
<!-- <li><img src="images/read.gif" alt=""> Read more about this feature</li> -->
<li><img src="images/return.gif" alt=""> Return to this screen</li>
</ul>
<p>Tip: To see the cookie interactions with your browser, try turning on
the "notify when setting a cookie" option in your browser preferences.
This will let you see when a session is created and give some feedback
when looking at the cookie demo.</p>
<table style="width: 85%;" >
<tr>
<td>Hello World</td>
<td style="width: 30%;"><a href="servlet/HelloWorldExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/HelloWorldExample">Execute</a></td>
<td style="width: 30%;"><a href="helloworld.html"><img SRC="images/code.gif" alt=""></a><a href="helloworld.html">Source</a></td>
</tr>
<tr>
<td>Request Info</td>
<td style="width: 30%;"><a href="servlet/RequestInfoExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/RequestInfoExample">Execute</a></td>
<td style="width: 30%;"><a href="reqinfo.html"><img SRC="images/code.gif" alt=""></a><a href="reqinfo.html">Source</a></td>
</tr>
<tr>
<td>Request Headers</td>
<td style="width: 30%;"><a href="servlet/RequestHeaderExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/RequestHeaderExample">Execute</a></td>
<td style="width: 30%;"><a href="reqheaders.html"><img SRC="images/code.gif" alt=""></a><a href="reqheaders.html">Source</a></td>
</tr>
<tr>
<td>Request Parameters</td>
<td style="width: 30%;"><a href="servlet/RequestParamExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/RequestParamExample">Execute</a></td>
<td style="width: 30%;"><a href="reqparams.html"><img SRC="images/code.gif" alt=""></a><a href="reqparams.html">Source</a></td>
</tr>
<tr>
<td>Cookies</td>
<td style="width: 30%;"><a href="servlet/CookieExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/CookieExample">Execute</a></td>
<td style="width: 30%;"><a href="cookies.html"><img SRC="images/code.gif" alt=""></a><a href="cookies.html">Source</a></td>
</tr>
<tr>
<td>Sessions</td>
<td style="width: 30%;"><a href="servlet/SessionExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/SessionExample">Execute</a></td>
<td style="width: 30%;"><a href="sessions.html"><img SRC="images/code.gif" alt=""></a><a href="sessions.html">Source</a></td>
</tr>
</table>
<p>Note: The source code for these examples does not contain all of the
source code that is actually in the example, only the important sections
of code. Code not important to understand the example has been removed
for clarity.</p>
<h2>Other Examples</h2>
<table style="width: 85%;" >
<tr>
<th colspan="3">Servlet 3.0 Asynchronous processing examples:</th>
</tr>
<tr>
<td>async0</td>
<td style="width: 30%;">
<a href="../async/async0"><img SRC="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
<tr>
<td>async1</td>
<td style="width: 30%;">
<a href="../async/async1"><img SRC="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
<tr>
<td>async2</td>
<td style="width: 30%;">
<a href="../async/async2"><img SRC="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
<tr>
<td>async3</td>
<td style="width: 30%;">
<a href="../async/async3"><img SRC="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
<tr>
<td>stockticker</td>
<td style="width: 30%;">
<a href="../async/stockticker"><img SRC="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
<tr>
<th colspan="3">Comet processing example:<br />
<span style="font-weight: normal;">See the <strong>"Advanced IO"</strong> chapter in the User Guide for
details. This example only works with the HTTP NIO or HTTP APR/native
connectors as these are the only connectors that support Comet.</span></th>
</tr>
<tr>
<td>Comet Chat</td>
<td style="width: 30%;">
<a href="chat/"><img SRC="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
<tr>
<th colspan="3">Servlet 3.1 Non-blocking IO examples</th>
</tr>
<tr>
<td>Byte counter</td>
<td style="width: 30%;">
<a href="nonblocking/bytecounter.html"><img src="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
<tr>
<td>Number Writer</td>
<td style="width: 30%;">
<a href="nonblocking/numberwriter"><img src="images/execute.gif" alt=""> Execute</a>
</td>
<td style="width: 30%;"></td>
</tr>
</table>
</body>
</html>