Web-Anwendungen mit Java: Servlets, JSP und JDBC
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 6,1 KB
Web-Anwendungen mit Java
Ziel: Java verfügt über eine Reihe von Technologien, welche die Entwicklung von EDV-Systemen revolutioniert haben und bei der Entwicklung von Hochleistungssystemen mit hoher Komplexität eingesetzt werden. Eine besondere Art von Anwendungen, die ein erhebliches Wachstum erfahren haben, sind mit der Verwaltung von Datenbanken und der Erzeugung dynamischer Inhalte für Webseiten verbunden. Durch die Kombination von JSP- und JDBC-Werkzeugen können für Internetnutzer eine Vielzahl von Diensten erstellt werden, einschließlich Online-Katalogen, Portalen, Shops, E-Commerce-Tools und generell jedem System, das den Umgang mit Informationen über das Web erfordert. Alle diese Anwendungen können mit diesen auf Java basierenden Technologien entwickelt werden. Sie stellen eine Teilmenge der Java-Programmiersprache dar und liefern gute Resultate in Bezug auf Ressourcenverbrauch, Entwicklungszeit und Zuverlässigkeit des Endprodukts.
Technologien für dynamische Webseiten
Was ist ein Servlet?
Servlets sind Java-Klassen, welche die Funktionalität eines Webservers erweitern, indem sie dynamische Webseiten generieren. Eine Laufzeitumgebung, die als Servlet-Engine bezeichnet wird, verwaltet das Laden und Entladen der Servlets und arbeitet mit dem HTTP-Webserver zusammen, um Anfragen von entfernten Nutzern (Clients) an das Servlet weiterzuleiten und die Antwort an die Kunden zu senden. Servlets erschienen im Jahr 1997 und wurden allmählich zur dominierenden Programmierumgebung für Java-Server. Servlets wurden entwickelt, um die Einschränkungen von Applets zu überwinden, namentlich:
- Begrenzung des Zugriffs auf andere Server (nicht derselbe, auf dem das Applet gehostet wird).
- Beschränkung des Zugriffs auf Server-Dienste.
- Sicherheitsbeschränkungen (Vermeidung von Reverse Engineering des Applets, um Zugriff auf die Business-Logik des Systems zu erhalten).
Merkmale von Servlets
Die Funktionen, die Servlets sehr komfortabel machen, sind:
- Sie sind 100 % reines Java und somit plattformunabhängig.
- Es handelt sich um eine objektorientierte Sprache, die alle daraus resultierenden Merkmale besitzt.
- Sie können alle Java-Technologien nutzen: Storage-Klassen, Threads, Datenbankzugriff, Stream I/O, RMI, Netzwerkzugriff etc.
- Sie belasten den Server nicht mit einer übermäßigen Anzahl an Prozessen, da der Webserver beim ersten Aufruf einen Prozess für das Servlet erstellt und weitere Anforderungen durch Threads innerhalb dieses Prozesses ausführt.
- Sie sind viel schneller als CGI, da sie bereits kompiliert sind. Die Ergebnisse sind nicht bei jedem URL-Aufruf unabhängig (wie es oft bei CGI der Fall ist).
- Sie sind sicher, da der Java Security Manager Anwendung findet.
- Die Kommunikation mit anderen Servlets ist einfach.
- Durch die Ausnahmebehandlung (Exception Handling) können Fehler während der Ausführung des Servlets einfach gehandhabt werden.
Was ist JSP?
Eine JSP (das Akronym steht für Java Server Pages) ist eine Java-Server-Seite. Es handelt sich um eine Vorlage für eine Webseite, die Java-Code verwendet, um dynamisch ein HTML-Dokument zu erzeugen. Die JSP wird in einer Server-Komponente namens JSP-Container ausgeführt. Dieser übernimmt die Übersetzung in gleichwertige Java-Servlets. Alles, was mit einer JSP umgesetzt werden kann, lässt sich auch mit einem Servlet realisieren. Daher bieten JSPs die gleichen Vorteile wie Servlets.
JSP oder Servlets?
Zuerst werden die Vorteile von Servlets und JSP gegenüber CGI erläutert und anschließend die Vorteile von JSP gegenüber Servlets.
Vorteile von Servlets und JSP
- Bessere Leistung und Anpassungsfähigkeit im Vergleich zu CGI, da sie im Speicher gehalten werden und mehrere Threads verarbeiten.
- Keine spezielle Konfiguration auf Client-Seite erforderlich.
- Unterstützung von HTTP-Sitzungen, was die Planung von Applikationen ermöglicht.
- Zugriff auf verfügbare Java-Technologien wie Threads, Sockets/Netzwerk und Datenbank-Konnektivität ohne die Beschränkungen von Client-Applets.
Vorteile von JSP
- Sie werden bei Bedarf automatisch erstellt.
- Durch die Ablage im gemeinsamen Webserver-Verzeichnis sind sie leichter zu finden als Servlets.
- JSP-Seiten ähneln HTML, wodurch sie besser mit Web-Development-Tools (wie Dreamweaver, FrontPage etc.) kompatibel sind.
JDBC-Technologie
Diese Technologie ermöglicht es uns, durch Programme aus Java oder JSP Verbindungen zu einer Datenbank herzustellen und SQL-Anweisungen auszuführen, um Abfragen durchzuführen. Diese Technologie wird ausführlich unter der folgenden Web-Adresse aufgeführt: http://java.sun.com/jdbc/.
Die JDBC-API
Die JDBC-API ist eine Standard-Technologie von Sun. Ihre Verwendung ermöglicht Entwicklern von Java- und JSP-Seiten den Zugriff auf eine Datenbank-Engine, unabhängig von deren Typ. Die wichtigsten Merkmale der JDBC-API sind:
- Möglichkeit der Nutzung der Sprache SQL (Structured Query Language).
- Einfacher Zugriff auf alle Funktionen von SQL.
- Die von SQL zurückgegebenen Ergebnisse werden als Objekte behandelt, sodass etwaige Fehler als Ausnahmen (Exceptions) behandelt werden können.
Die JDBC-API von Sun ist von der Philosophie des ODBC-Standards (Open Database Connectivity) von Microsoft inspiriert. Diese Philosophie basiert auf der Schaffung eines Standards für die Nutzung von Datenbanken unter Verwendung der Java-Sprache. Deshalb wurde eine Art Gateway oder Brücke zwischen JDBC und ODBC erstellt. Diese Brücke ist für die Umwandlung von JDBC-Aufrufen in ODBC-Aufrufe verantwortlich, was für den Programmierer völlig transparent geschieht. Die JDBC-ODBC-Brücke ist jedoch nicht die beste Lösung, da der Konvertierungsvorgang von einer API auf eine andere zu einer schwachen Performance führt, insbesondere bei umfassenden Datenbankabfragen.