Servlet
Ein Java Servlet ist ein separat ausführbares Modul, das geschrieben wird, um als serverseitiges Applet zu fungieren. Damit wird es zur effizienten und sicheren Antwort auf das Normal Gateway Interface. Ähnlich den bekannten Applets im Webbrowser, stellt ein Servlet eine einfache Anwendung ohne graphische Oberfläche dar, die auf der Webserver-Seite abläuft und zur Erweiterung der Funktionen des Webservers dient. Zudem funktioniert ein Servlet auf den allgemein gängigen Webservern und ist somit vielseitig und flexibel einsetzbar.
Ein Servlet hilft dem Client mit Datenbanken und Anwendungen zu kommunizieren. Dabei werden die Daten aus dem Browser, von Cookies und auch Formulardaten verarbeitet. Auf dieser Basis greift das Servlet auf Informationen zu oder führt Befehle aus. Die Handhabung, die Verwaltung und das Verhalten eines Servlets wird über den Java Community Process (JCP) standardmäßig definiert. Die Ergebnisse werden mit bestimmten Parametern angepasst und formatiert, in eine Webseite eingebettet und zurückgeschickt.
Für einzelne Anfragen müssen nun lediglich Threads und keine vollwertigen Prozesse gestartet werden, da die Java Virtual Machine durchgehend läuft. So verbleiben die beteiligten Klassen nach der Bearbeitung ihres Auftrages im Speicher und müssen nicht erneut geladen werden. So bleiben Berechnungsergebnisse erhalten und Datenbankverbindungen bleiben geöffnet, was die Optimierung der Arbeitsabläufe erleichtert. Zudem können unterschiedliche Servlets gemeinsam auf Daten zugreifen.
Einem Servlet steht eine große Klassenbibliothek für Datenbankzugriffe zur Verfügung, daher kann sich ein Entwickler auf die moderne Programmiersprache, ihre Ausnahmebehandlung, die Plattformunabhängigkeit und eine besondere Sicherheit verlassen. Ein Servlet kommuniziert, obwohl es in Java geschrieben ist, auch mit Clients, die eine andere Programmiersprache verwenden.