Beispiel: HTTP-Server auf HttpServlet-Basis
Die Hauptklasse ServletHttp ließt die Konfiguration ein, erzeugt
damit eine Instanz der Klasse Context und startet einen Receiver-Thread.
Der Receiver erzeugt zu jeder Anfrage je eine Instanz von Request und Response,
die ihrerseits InStreams und OutStreams erzeugen, und ruft damit ein Servlet
auf. Das Servlet wird von der Context-Instanz geliefert.
Sämtliche globalen Daten außer der ServerSocket werden von Context
verwaltet. Dies sind die Zuordnungen Extension/MIME-Type und URI/Servlet
bzw. Extension/Servlet, sowie die Übersetzung von relativem zu absolutem
Pfad. Ein Hashtable für Servlet-Parameter ist vorhanden, wird aber
nicht benutzt.
Bei den Methoden-Aufrufen durch ein Servlet ist darauf zu achten, daß
die Header-Daten gesetzt werden, bevor getOutputStream() aufgerufen
wird, und dieser Stream am Ende auf jeden Fall geschlossen wird.
Die Konfigurations-Datei sieht ungefähr so aus:
PORT=8084
DOCROOT=i:/inetpub/wwwroot
SERVLETROOT=i:/inetpub/scripts/servlets
INDEXFILE=index.htm
MIME
html=text/html
htm=text/html
txt=text/plain
java=text/plain
gif=image/gif
class=application/octet-stream
jpg=image/jpeg
jpeg=image/jpeg
/MIME
Die Servlets müssen sich im CLASSPATH der Java VM befinden.