This file is indexed.

/usr/share/doc/racket/web-server/index.html is in racket-doc 6.7-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
2
3
4
5
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>Web Applications in Racket</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9660;</a></td><td></td><td><a href="" class="tocviewselflink" data-pltdoc="x">Web Applications in Racket</a></td></tr></table></div><div class="tocviewsublistonly" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="run.html" class="tocviewlink" data-pltdoc="x">Running Web Servlets</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="servlet.html" class="tocviewlink" data-pltdoc="x">Stateful Servlets</a></td></tr><tr><td align="right">3&nbsp;</td><td><a href="stateless.html" class="tocviewlink" data-pltdoc="x">Stateless Servlets</a></td></tr><tr><td align="right">4&nbsp;</td><td><a href="http.html" class="tocviewlink" data-pltdoc="x">HTTP:<span class="mywbr"> &nbsp;</span> Hypertext Transfer Protocol</a></td></tr><tr><td align="right">5&nbsp;</td><td><a href="dispatch.html" class="tocviewlink" data-pltdoc="x">URL-<wbr></wbr>Based Dispatch</a></td></tr><tr><td align="right">6&nbsp;</td><td><a href="formlets.html" class="tocviewlink" data-pltdoc="x">Formlets:<span class="mywbr"> &nbsp;</span> Functional Form Abstraction</a></td></tr><tr><td align="right">7&nbsp;</td><td><a href="templates.html" class="tocviewlink" data-pltdoc="x">Templates:<span class="mywbr"> &nbsp;</span> Separation of View</a></td></tr><tr><td align="right">8&nbsp;</td><td><a href="page.html" class="tocviewlink" data-pltdoc="x">Page:<span class="mywbr"> &nbsp;</span> Short-<wbr></wbr>hand for Common Patterns</a></td></tr><tr><td align="right">9&nbsp;</td><td><a href="test.html" class="tocviewlink" data-pltdoc="x">Testing Servlets</a></td></tr><tr><td align="right">10&nbsp;</td><td><a href="faq.html" class="tocviewlink" data-pltdoc="x">Troubleshooting and Tips</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber"></span><a href="#%28part._top%29" class="tocsubseclink" data-pltdoc="x">Web Applications in Racket</a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="versionbox"><span class="version">6.7</span></div><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.7&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<span class="nonavigation">&larr; prev</span>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">up</a>&nbsp;&nbsp;<a href="run.html" title="forward to &quot;1 Running Web Servlets&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h2 x-source-module="(lib &quot;web-server/scribblings/web-server.scrbl&quot;)" x-source-pkg="web-server-doc" x-part-tag="&quot;top&quot;"><a name="(part._top)"></a><a name="(part._web-server-ref)"></a>Web Applications in Racket</h2><div class="SAuthorListBox"><span class="SAuthorList"><p class="author">Jay McCarthy</p></span></div><p>This manual describes the Racket libraries for building Web applications.</p><p><a href="run.html" data-pltdoc="x">Running Web Servlets</a> describes how to run the servlets you&rsquo;ve written.</p><p><a href="servlet.html" data-pltdoc="x">Stateful Servlets</a> and <a href="stateless.html" data-pltdoc="x">Stateless Servlets</a> describe two ways to write Web applications.
<a href="servlet.html" data-pltdoc="x">Stateful Servlets</a> use the entire Racket language, but their continuations are stored in the Web server&rsquo;s memory.
<a href="stateless.html" data-pltdoc="x">Stateless Servlets</a> use a slightly restricted Racket language, but their continuation can be stored by the Web client or on a Web server&rsquo;s disk. If you can, you want to use <a href="stateless.html" data-pltdoc="x">Stateless Servlets</a> for the improved scalability.</p><p>The <a href="http.html" data-pltdoc="x">HTTP: Hypertext Transfer Protocol</a> section describes the common library functions for manipulating HTTP requests and creating HTTP responses.
In particular, this section covers cookies, authentication, and request bindings.</p><p>The final five sections (<a href="dispatch.html" data-pltdoc="x">URL-Based Dispatch</a>, <a href="formlets.html" data-pltdoc="x">Formlets: Functional Form Abstraction</a>, <a href="templates.html" data-pltdoc="x">Templates: Separation of View</a>, <a href="page.html" data-pltdoc="x">Page: Short-hand for Common Patterns</a>, and <a href="test.html" data-pltdoc="x">Testing Servlets</a>) cover utility libraries that ease the creation of typical Web applications.</p><p>This manual closes with a frequently asked questions section: <a href="faq.html" data-pltdoc="x">Troubleshooting and Tips</a>.</p><table cellspacing="0" cellpadding="0"><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="run.html" class="toptoclink" data-pltdoc="x">1<span class="hspace">&nbsp;</span>Running Web Servlets</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="run.html#%28part._insta%29" class="toclink" data-pltdoc="x">1.1<span class="hspace">&nbsp;</span>Instant Servlets</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="run.html#%28part._servlet-env%29" class="toclink" data-pltdoc="x">1.2<span class="hspace">&nbsp;</span>Simple Single Servlet Servers</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="run.html#%28part._.Examples%29" class="toclink" data-pltdoc="x">1.2.1<span class="hspace">&nbsp;</span>Examples</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="run.html#%28part._.Stateless_.Servlets%29" class="toclink" data-pltdoc="x">1.2.1.1<span class="hspace">&nbsp;</span>Stateless Servlets</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="run.html#%28part._.Full_.A.P.I%29" class="toclink" data-pltdoc="x">1.2.2<span class="hspace">&nbsp;</span>Full API</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="run.html#%28part._command-line-tools%29" class="toclink" data-pltdoc="x">1.3<span class="hspace">&nbsp;</span>Command-line Tools</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html" class="toptoclink" data-pltdoc="x">2<span class="hspace">&nbsp;</span>Stateful Servlets</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._servlet-example%29" class="toclink" data-pltdoc="x">2.1<span class="hspace">&nbsp;</span>Example</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._servlet-structs%29" class="toclink" data-pltdoc="x">2.2<span class="hspace">&nbsp;</span>Responses</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._web%29" class="toclink" data-pltdoc="x">2.3<span class="hspace">&nbsp;</span>Web Interaction</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._web-cells%29" class="toclink" data-pltdoc="x">2.4<span class="hspace">&nbsp;</span>Web Cells</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._managers%29" class="toclink" data-pltdoc="x">2.5<span class="hspace">&nbsp;</span>Continuation Managers</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._manager%29" class="toclink" data-pltdoc="x">2.5.1<span class="hspace">&nbsp;</span>General</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._none%29" class="toclink" data-pltdoc="x">2.5.2<span class="hspace">&nbsp;</span>No Continuations</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._timeouts%29" class="toclink" data-pltdoc="x">2.5.3<span class="hspace">&nbsp;</span>Timeouts</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="servlet.html#%28part._lru%29" class="toclink" data-pltdoc="x">2.5.4<span class="hspace">&nbsp;</span>LRU</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html" class="toptoclink" data-pltdoc="x">3<span class="hspace">&nbsp;</span>Stateless Servlets</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._stateless-example%29" class="toclink" data-pltdoc="x">3.1<span class="hspace">&nbsp;</span>Example</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._considerations%29" class="toclink" data-pltdoc="x">3.2<span class="hspace">&nbsp;</span>Usage Considerations</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Serializable_.Continuations%29" class="toclink" data-pltdoc="x">3.3<span class="hspace">&nbsp;</span>Serializable Continuations</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Native_.Interfaces%29" class="toclink" data-pltdoc="x">3.4<span class="hspace">&nbsp;</span>Native Interfaces</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._lang%2Fweb%29" class="toclink" data-pltdoc="x">3.5<span class="hspace">&nbsp;</span>Stateless Web Interaction</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._lang%2Fweb-cells%29" class="toclink" data-pltdoc="x">3.6<span class="hspace">&nbsp;</span>Stateless Web Cells</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._lang%2Ffile-box%29" class="toclink" data-pltdoc="x">3.7<span class="hspace">&nbsp;</span>File Boxes</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._lang%2Fweb-param%29" class="toclink" data-pltdoc="x">3.8<span class="hspace">&nbsp;</span>Stateless Web Parameters</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Soft_.State%29" class="toclink" data-pltdoc="x">3.9<span class="hspace">&nbsp;</span>Soft State</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._stuffers%29" class="toclink" data-pltdoc="x">3.10<span class="hspace">&nbsp;</span>Stuffers</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Basic_.Combinators%29" class="toclink" data-pltdoc="x">3.10.1<span class="hspace">&nbsp;</span>Basic Combinators</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Serialization%29" class="toclink" data-pltdoc="x">3.10.2<span class="hspace">&nbsp;</span>Serialization</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Base64_.Encoding%29" class="toclink" data-pltdoc="x">3.10.3<span class="hspace">&nbsp;</span>Base64 Encoding</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.G.Zip_.Compression%29" class="toclink" data-pltdoc="x">3.10.4<span class="hspace">&nbsp;</span>GZip Compression</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Key_.Value_.Storage%29" class="toclink" data-pltdoc="x">3.10.5<span class="hspace">&nbsp;</span>Key/Value Storage</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Hash-addressed_.Storage%29" class="toclink" data-pltdoc="x">3.10.6<span class="hspace">&nbsp;</span>Hash-addressed Storage</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.H.M.A.C-.S.H.A1_.Signing%29" class="toclink" data-pltdoc="x">3.10.7<span class="hspace">&nbsp;</span>HMAC-SHA1 Signing</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="stateless.html#%28part._.Helpers%29" class="toclink" data-pltdoc="x">3.10.8<span class="hspace">&nbsp;</span>Helpers</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html" class="toptoclink" data-pltdoc="x">4<span class="hspace">&nbsp;</span>HTTP: Hypertext Transfer Protocol</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._request-structs%29" class="toclink" data-pltdoc="x">4.1<span class="hspace">&nbsp;</span>Requests</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._bindings%29" class="toclink" data-pltdoc="x">4.2<span class="hspace">&nbsp;</span>Bindings</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._response-structs%29" class="toclink" data-pltdoc="x">4.3<span class="hspace">&nbsp;</span>Responses</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._cookie%29" class="toclink" data-pltdoc="x">4.4<span class="hspace">&nbsp;</span>Placing Cookies</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._id-cookie%29" class="toclink" data-pltdoc="x">4.5<span class="hspace">&nbsp;</span>Authenticated Cookies</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._cookie-parse%29" class="toclink" data-pltdoc="x">4.6<span class="hspace">&nbsp;</span>Extracting Cookies</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._redirect%29" class="toclink" data-pltdoc="x">4.7<span class="hspace">&nbsp;</span>Redirect</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._basic-auth%29" class="toclink" data-pltdoc="x">4.8<span class="hspace">&nbsp;</span>Basic Authentication</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._digest-auth%29" class="toclink" data-pltdoc="x">4.9<span class="hspace">&nbsp;</span>Digest Authentication</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="http.html#%28part._xexpr%29" class="toclink" data-pltdoc="x">4.10<span class="hspace">&nbsp;</span>X-expression Support</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="dispatch.html" class="toptoclink" data-pltdoc="x">5<span class="hspace">&nbsp;</span>URL-Based Dispatch</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="dispatch.html#%28part._.Using_web-server_dispatch%29" class="toclink" data-pltdoc="x">5.1<span class="hspace">&nbsp;</span>Using <span class="RktModLink"><span class="RktSym">web-server/dispatch</span></span></a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="dispatch.html#%28part._.A.P.I_.Reference%29" class="toclink" data-pltdoc="x">5.2<span class="hspace">&nbsp;</span>API Reference</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="dispatch.html#%28part._.Imperative_.Dispatch_.Containers%29" class="toclink" data-pltdoc="x">5.3<span class="hspace">&nbsp;</span>Imperative Dispatch Containers</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="dispatch.html#%28part._.Built-in_.U.R.L_patterns%29" class="toclink" data-pltdoc="x">5.4<span class="hspace">&nbsp;</span>Built-in URL patterns</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="dispatch.html#%28part._.Extending_web-server_dispatch%29" class="toclink" data-pltdoc="x">5.5<span class="hspace">&nbsp;</span>Extending <span class="RktModLink"><span class="RktSym">web-server/dispatch</span></span></a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="formlets.html" class="toptoclink" data-pltdoc="x">6<span class="hspace">&nbsp;</span>Formlets: Functional Form Abstraction</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="formlets.html#%28part._.Basic_.Formlet_.Usage%29" class="toclink" data-pltdoc="x">6.1<span class="hspace">&nbsp;</span>Basic Formlet Usage</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="formlets.html#%28part._.Static_.Syntactic_.Shorthand%29" class="toclink" data-pltdoc="x">6.2<span class="hspace">&nbsp;</span>Static Syntactic Shorthand</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="formlets.html#%28part._.Dynamic_.Syntactic_.Shorthand%29" class="toclink" data-pltdoc="x">6.3<span class="hspace">&nbsp;</span>Dynamic Syntactic Shorthand</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="formlets.html#%28part._.Functional_.Usage%29" class="toclink" data-pltdoc="x">6.4<span class="hspace">&nbsp;</span>Functional Usage</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="formlets.html#%28part._input-formlets%29" class="toclink" data-pltdoc="x">6.5<span class="hspace">&nbsp;</span>Predefined Formlets</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="formlets.html#%28part._.Utilities%29" class="toclink" data-pltdoc="x">6.6<span class="hspace">&nbsp;</span>Utilities</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html" class="toptoclink" data-pltdoc="x">7<span class="hspace">&nbsp;</span>Templates: Separation of View</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html#%28part._.Static%29" class="toclink" data-pltdoc="x">7.1<span class="hspace">&nbsp;</span>Static</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html#%28part._.Dynamic%29" class="toclink" data-pltdoc="x">7.2<span class="hspace">&nbsp;</span>Dynamic</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html#%28part._.Gotchas%29" class="toclink" data-pltdoc="x">7.3<span class="hspace">&nbsp;</span>Gotchas</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html#%28part._.Escaping%29" class="toclink" data-pltdoc="x">7.4<span class="hspace">&nbsp;</span>Escaping</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html#%28part._.H.T.T.P_.Responses%29" class="toclink" data-pltdoc="x">7.5<span class="hspace">&nbsp;</span>HTTP Responses</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html#%28part._.A.P.I_.Details%29" class="toclink" data-pltdoc="x">7.6<span class="hspace">&nbsp;</span>API Details</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="templates.html#%28part._.Conversion_.Example%29" class="toclink" data-pltdoc="x">7.7<span class="hspace">&nbsp;</span>Conversion Example</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="page.html" class="toptoclink" data-pltdoc="x">8<span class="hspace">&nbsp;</span>Page: Short-hand for Common Patterns</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="test.html" class="toptoclink" data-pltdoc="x">9<span class="hspace">&nbsp;</span>Testing Servlets</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html" class="toptoclink" data-pltdoc="x">10<span class="hspace">&nbsp;</span>Troubleshooting and Tips</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._.Why_is_my_servlet_failing_with_a_can-be-response__contract_violation_after_updating_.Racket_%29" class="toclink" data-pltdoc="x">10.1<span class="hspace">&nbsp;</span>Why is my servlet failing with a <span class="RktSym">can-be-response?</span> contract violation after updating Racket?</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._.Why_are_my_templates_not_updating_on_the_server_when_.I_change_the_file_on_disk_%29" class="toclink" data-pltdoc="x">10.2<span class="hspace">&nbsp;</span>Why are my templates not updating on the server when I change the file on disk?</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._.Why_are_templates_compiled_into_programs_%29" class="toclink" data-pltdoc="x">10.3<span class="hspace">&nbsp;</span>Why are templates compiled into programs?</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._update-servlets%29" class="toclink" data-pltdoc="x">10.4<span class="hspace">&nbsp;</span>Why are my stateful servlets not updating on the server when I change the file on disk?</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._refresh-servlets%29" class="toclink" data-pltdoc="x">10.5<span class="hspace">&nbsp;</span>After refreshing my stateful servlet, old captured continuations don&rsquo;t change or old global effects are gone. Why?</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._.How_are_stateless_servlets_different_from_stateful_servlets_vis_a_vis_refreshing_%29" class="toclink" data-pltdoc="x">10.6<span class="hspace">&nbsp;</span>How are stateless servlets different from stateful servlets vis a vis refreshing?</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._.What_special_considerations_are_there_for_security_with_the_.Web_.Server_%29" class="toclink" data-pltdoc="x">10.7<span class="hspace">&nbsp;</span>What special considerations are there for security with the Web Server?</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._.My_browser_displays_my_page_strangely__my_.C.S.S_is_ignored__sections_are_missing__etc_%29" class="toclink" data-pltdoc="x">10.8<span class="hspace">&nbsp;</span>My browser displays my page strangely: my CSS is ignored, sections are missing, etc.</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="faq.html#%28part._.How_do_.I_use_templates__dynamically__%29" class="toclink" data-pltdoc="x">10.9<span class="hspace">&nbsp;</span>How do I use templates &ldquo;dynamically"?</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="doc-index.html" class="toptoclink" data-pltdoc="x">Index</a></p></td></tr></table><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.7&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<span class="nonavigation">&larr; prev</span>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">up</a>&nbsp;&nbsp;<a href="run.html" title="forward to &quot;1 Running Web Servlets&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>