64 lines
2.5 KiB
HTML
64 lines
2.5 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
<title>PLT Web Server: Servlet Interface</title>
|
|
</head>
|
|
<body bgcolor="white">
|
|
<img src="/Defaults/documentation/web-server.gif" width="61" height="57" />
|
|
<h2>PLT Web Server: Servlet Interface</h2>
|
|
<p>Instead of serving files from a special directory
|
|
verbatim, the Web server executes the contained
|
|
Scheme code and serves the output. By default,
|
|
the special directory is named "servlets" within
|
|
the "default-web-root" of the "web-server"
|
|
collection directory. Each file in that directory
|
|
must evaluate to a servlet.</p>
|
|
|
|
<p>A servlet is a <code>module</code> that provides
|
|
three values: an
|
|
<code>interface-version</code>,
|
|
a <code>timeout</code>, and a
|
|
<code>start</code> procedure:</p>
|
|
<blockquote><code><pre>
|
|
(module servlet mzscheme
|
|
(require (lib "servlet.ss" "web-server"))
|
|
(provide interface-version timeout start)
|
|
(define interface-version 'v1)
|
|
(define timeout +inf.0)
|
|
(define (start initial-request)
|
|
...))
|
|
</pre></code></blockquote>
|
|
|
|
<p>The <code>start</code> procedure should produce a
|
|
<em>response</em> to an HTTP request. Please
|
|
refer to the documentation available via the Help
|
|
Desk for more information about working with these
|
|
values and programming servlets.</p>
|
|
|
|
<h3>Special URLs</h3>
|
|
<p>The Web server caches passwords and servlets for
|
|
performance reasons. Requesting the URL</p>
|
|
<blockquote><a
|
|
href="/conf/refresh-passwords"><code>http://my-host/conf/refresh-passwords</code></a></blockquote>
|
|
<p>reloads the password file. After updating a
|
|
servlet, loading the
|
|
URL</p>
|
|
<blockquote><a
|
|
href="/conf/refresh-servlets"><code>http://my-host/conf/refresh-servlets</code></a></blockquote>
|
|
<p>causes the server to reload each servlet on the
|
|
next invocation. This loses any per-servlet state (not
|
|
per servlet instance state) computed before the unit
|
|
invocation.</p>
|
|
|
|
<p>The Web server's garbage collect may be invoked at
|
|
the URL: </p>
|
|
<blockquote><a href="/conf/collect-garbage"><code>http://my-host/conf/collect-garbage</code></a></blockquote>
|
|
|
|
<p><a href="servlet-examples.html">Examples of Servlets</a></p>
|
|
<p>Powered by <a href="http://www.plt-scheme.org/">
|
|
<img width="53" height="19"
|
|
src="/Defaults/documentation/plt-logo.gif" /></a></p>
|
|
</body>
|
|
</html>
|