Die wichtigsten Fähigkeiten, die jeder Webentwickler benötigt, sind die folgenden Techniken.
Die Technologie zur Entwicklung von Webanwendungen ist ausgereifter und komplexer geworden. Heute erfordert die Erstellung einer Webanwendung mehr als nur einfache HTML-Techniken. Datenbankzugriff, Skriptsprachen und Verwaltung sind alles Fähigkeiten, die ein Webprogrammierer haben muss. Werfen wir einen Blick darauf, welche Fähigkeiten erforderlich sind, um ein beliebter Webentwickler auf dem Markt zu werden.
Seit CERN (Europäisches Institut für Teilchenphysik), ein Forschungszentrum für Hochenergiephysik in der Nähe von Genf, 1991 das Web startete, hat sich die Webtechnologie von statischen Inhalten und dem Common Gateway Interface (CGI) zu Servlet-Technologie und JavaServer Pages weiterentwickelt. In dieser wettbewerbsintensiveren Gesellschaft benötigt ein Webprogrammierer jedoch mehr Wissen. Wenn Sie beispielsweise im Vorstellungsgespräch erwähnen, dass Sie sich mit XML auskennen und einige Erfahrungen mit JNDI haben (zwei Technologien, die auf den ersten Blick möglicherweise nicht eng mit der Webprogrammierung verbunden zu sein scheinen), werden Sie bei Ihrem zukünftigen Chef einen tieferen Eindruck hinterlassen. Eindruck. Vorausgesetzt, Sie kennen sich bereits mit der Programmiersprache Java und der objektorientierten Programmierung aus, finden Sie hier zwei Arten von Technologien, die ein Webentwickler für seine tägliche Arbeit benötigt. Die erste Gruppe umfasst Techniken, die jeder Webprogrammierer beherrschen muss. Die zweite Gruppe enthält die Techniken, die Sie beherrschen sollten, um ein fortgeschrittener Programmierer zu werden.
Grundlegende Fähigkeiten Wenn Sie sich Webentwickler nennen möchten, finden Sie hier die Fähigkeiten, die Sie haben müssen.
HTML (HyperText Markup Language)
HTML ist die Sprache für fast alles, was in Ihrem Browser angezeigt wird. Kein Wunder, dass HTML so etwas wie der Überlebensinstinkt eines Webprogrammierers ist. Wenn Sie immer noch <tr> oder <b> in Ihrem HTML finden müssen, müssen Sie Ihre HTML-Kenntnisse unbedingt verbessern. Die aktuelle HTML-Version ist 4.01. Weitere Informationen hierzu finden Sie unter http://www.w3.org/TR/1999/REC-html401-19991224/ .
Servlets und JSPs
Die Java-Servlet-Technologie ist die Haupttechnologie für die Entwicklung von Java-Webanwendungen. Es wurde 1996 von Sun Microsystems entwickelt und die aktuelle Version ist 2.3, aber die Leute bereiten sich auf Version 2.4 vor.
JSP ist eine Erweiterung der Servlet-Technologie und die aktuelle Version ist 1.2 (Version 2.0 wird bald fertiggestellt). Manche Leute denken, dass JSP ein Ersatz für Servlets ist, aber das ist nicht der Fall. Servlets und JSP werden gemeinsam für komplexe Webanwendungen verwendet.
Ein guter Einstieg in die Webprogrammierung in Java ist das Erlernen der Servlet-Technologie. Auch wenn Sie in Ihrer Webanwendung nur JSP-Seiten verwenden möchten, müssen Sie sich dennoch mit der Servlet-Technologie vertraut machen. In komplexeren Webanwendungen werden JSP-Seiten nur zur Anzeige verwendet, während JavaBeans und benutzerdefinierte Tag-Bibliotheken zum Einbetten der Geschäftslogik verwendet werden. Das heißt: Sie müssen auch mit JavaBeans und benutzerdefinierten Tag-Bibliotheken vertraut sein.
JavaScript
JavaScript ist eine Skriptsprache, die in allen gängigen Browsern läuft. Sie verwenden JavaScript für die clientseitige Programmierung. Die wichtigste Aufgabe bei der clientseitigen Programmierung ist die Validierung von Benutzereingaben. Der Vorteil der Verwendung der clientseitigen Eingabevalidierung besteht darin, die Serverauslastung zu reduzieren und die Antwortzeit zu verbessern. Darüber hinaus kann JavaScript für Umleitungen, die Verarbeitung von Cookies, die Steuerung von Applets, die Erstellung von Navigationsbäumen, das Öffnen einer neuen Instanz eines Browsers und mehr verwendet werden.
SQL (Structured Query Language) und JDBC (Java Database Connectivity)
Heutzutage umfassen die meisten Webanwendungen den Zugriff auf Daten in relationalen Datenbanken. Als Webprogrammierer müssen Sie wissen, wie man Daten in einer Datenbank speichert, abruft und bearbeitet. Manchmal müssen Sie auch die Datenbank entwerfen und Tabellen und andere Strukturen in der Datenbank erstellen. SQL ist die Sprache, die zum Bearbeiten von Daten in der Datenbank verwendet wird. Normalerweise müssen Sie SQL-Anweisungen schreiben (häufig dynamisch), sie an den Datenbankserver übergeben und die Daten (falls vorhanden) zurückerhalten.
Wenn Sie die Java-Sprache verwenden, müssen Sie JDBC verwenden, um die Kommunikation der Webanwendung mit dem Datenbankserver zu unterstützen. JDBC besteht aus zwei Teilen: JDBC Core API (Application Programming Interface) und JDBC Optional Package API. Die erste Gruppe wird verwendet, um grundlegende Datenoperationen durchzuführen, z. B. das Erstellen einer Verbindung oder das Lesen, Aktualisieren und Löschen von Datensätzen in einer Tabelle. Die zweite Gruppe bietet erweiterte Datenbankverbindungsfunktionen wie Verbindungspooling, Transaktionen und RowSet. Die aktuelle Version von JDBC ist 3.0 und die API ist in J2SE v. 1.4 enthalten.
Web-Container-Management und Anwendungsbereitstellung Ihre Servlets und JSP-Seiten werden in einer Engine ausgeführt, die als Servlet/JSP-Container oder Web-Container bezeichnet wird. Sie müssen zumindest wissen, wie Sie Ihre Webressourcen sowohl für Tests als auch für Produktionsläufe bereitstellen. Wenn Sie beispielsweise Tomcat verwenden, müssen Sie wissen, wie Sie die Anwendung in der Konfigurationsdatei (server.xml) zuordnen, damit Tomcat weiß, wie Ihre JSP-Seite aufgerufen wird. Darüber hinaus müssen Sie wissen, wo Sie Ihre Bibliotheken speichern und wie Sie Anwendungsbereitstellungsdeskriptoren erstellen.
XML (eXtensible Markup Language)
XML ist ein erfolgreicher aufstrebender Stern im Computerbereich. XML wurde 1996 vom World Wide Web Consortium entwickelt und ist heute ein weithin anerkannter Standard für den Datenaustausch und erweiterbare Datenstrukturen. XML spielt eine wichtige Rolle in der Java-Webentwicklung. Beispielsweise liegt der Bereitstellungsdeskriptor jeder Anwendung im XML-Format vor. Darüber hinaus verwenden Sie bei der Entwicklung von Webdiensten SOAP (Simple Object Access Protocol), das hauptsächlich auf HTTP und XML basiert.
Darüber hinaus kann XML in Webanwendungen auch zum Speichern hierarchischer Daten verwendet werden.
Die Modell-2-Architektur ist die fortschrittlichste Technologie ihrer Kategorie. Diese Struktur wird für die Erstellung relativ komplexer Java-Webanwendungen empfohlen. Die Struktur von Modell 2 basiert auf dem Model-View-Controller-Entwurfsparadigma.
Fortgeschrittene Techniken Die folgenden Techniken werden Sie von den Anfängern unterscheiden.
JSTL (JSP Standard Tag Libraries), Jakarta Taglibs-Projekt und andere Bibliotheken. Um die Anwendungsentwicklung zu beschleunigen, sollten Sie Code häufig wiederverwenden. Einfach ausgedrückt bedeutet Code-Wiederverwendung, dass es besser ist, wenn jemand bereits Code zur Ausführung bestimmter Funktionen geschrieben hat, diesen Code zu verwenden, als ihn selbst zu schreiben. Daher ermöglicht Ihnen JSP die Verwendung benutzerdefinierter Tags. Es gibt mehrere Bibliotheken, die Sie verwenden können. Die beliebtesten sind diejenigen aus dem Jakarta Taglibs-Projekt von Apache. Dieses Paket kann von http://jakarta.apache.org/taglibs/index.html heruntergeladen werden. Sie können alles verwenden, was Sie in diesem Paket vorgefertigt finden, bevor Sie mit der Erstellung neuer Klassen beginnen.
JSTL ist seit kurzem ein Standard. Andere Tag-Bibliotheken sind kostenlos oder im Handel erhältlich.
Apache Struts-Projekt
Struts ist ein von Apache gesponsertes öffentliches Ressourcenprojekt, das ein Framework für die Erstellung von Model 2 Java-Webanwendungen bereitstellt. Struts stellt eine eigene Controller-Komponente für die MVC-Struktur bereit, verwendet EJB, JDBC und JNDI für das Modell und verwendet JSP und andere Technologien für die Ansicht. Ausführlichere Informationen zu diesem Projekt finden Sie auf der Website: http://jakarta.apache.org/struts/index.html .
XHTML (Extensible HyperText Markup Language)
XHTML ist eine Technologie, die darauf abzielt, HTML und XML zu kombinieren. Sie können sich XHTML als die nächste Generation von HTML vorstellen. Die aktuelle Version ist 1.0 (die zweite Version wurde am 1. August 2002 veröffentlicht). XHTML ist nicht so beliebt wie HTML, wird aber in Zukunft eine wichtigere Rolle spielen. Laut der Webdesign-Expertin Molly Holzschlag sind die US-Gesetze zum öffentlichen Zugang (Barrierefreiheit) der Hauptgrund für Unternehmen, auf XHTML umzusteigen. Weitere Informationen zu XHTML finden Sie im Interview mit Holzschlag.
DHTML (Dynamisches HTML)
DHTML ermöglicht den Menschen eine stärkere Interaktion auf Ihrer Website. Mit DHTML können Sie beispielsweise ganz einfach ein Untermenü erstellen und anzeigen, wenn der Benutzer die Maus über einen Link bewegt. Die größte Herausforderung bei der Verwendung von DHTML ist die Erstellung browserübergreifender Seiten. Tatsächlich sollte das Seitendesign theoretisch von Künstlern übernommen werden, wobei dynamisches HTML mithilfe eines Tools generiert wird. Normalerweise ist jedoch ein Webprogrammierer für die Integration aller Teile verantwortlich, und wenn der auf der Seite generierte Code fehlerhaft ist, müssen Sie DHTML verstehen, um das Problem zu beheben.
Applet-Programmierung
Früher spielten Applets eine wichtige Rolle bei der Bereitstellung von Interaktivität, insbesondere vor der Einführung von DHTML. Jetzt wurde die Rolle von Applets reduziert und immer mehr Programmierer verwenden keine Applets mehr. Die Entscheidung von Microsoft, in seinem neuen Browser keine Standardunterstützung für Applets bereitzustellen, schränkt die Rolle von Applets in Webanwendungen erheblich ein. Allerdings sind Applets nicht tot. Für bestimmte Aufgaben, wie zum Beispiel die Anzeige von Schlagzeilen, sind Applets immer noch unersetzlich, und Applets bereiten nicht die Probleme der browserübergreifenden Kompatibilität.
HTTP-Protokoll
Java-Webprogrammierer verwenden häufig höhere Protokolle als HTTP, beispielsweise Servlets und JSP-APIs. Diese APIs verbergen die Komplexität des HTTP-Protokolls. Daher können Sie immer noch wichtige Anwendungen erstellen, ohne viel über das HTTP-Protokoll zu wissen. Lediglich wenn es um den Umgang mit Rohdaten geht, beispielsweise um das Hochladen oder die Übermittlung von Dateien als Anhänge, sind weitere Kenntnisse über das Protokoll erforderlich.
EJB (Enterprise JavaBeans)
EJB ist ein Teil von J2EE und wichtig, wenn Skalierbarkeit und Leistung die Hauptanforderungen Ihrer Webanwendung sind. In der aktuellen Spezifikation (EJB 2.0) gibt es drei Arten von EJBs: Sitzungs-EJBs, Entitäts-EJBs und nachrichtengesteuerte EJBs. Eine neue Spezifikation, Version 2.1, ist in der Entwicklung.
JNDI (Java Naming and Directory Interface)
JNDI ist wichtig, wenn Sie Enterprise-Beans entwickeln, da der Zugriff auf ein EJB über den JNDI-Namensdienst erfolgt. Verwenden Sie einen Benennungsdienst, um ein Objekt zu finden, das einem bestimmten Namen zugeordnet ist. In einem EJB-Kontext findet ein Namensdienst eine Enterprise-Bean anhand des Namens der Bean. Daher ist das Verständnis von JNDI für die Entwicklung einer EJB-Anwendung von entscheidender Bedeutung. Darüber hinaus kann JDBC über JNDI auf eine relationale Datenbank zugreifen.
Andere Tools Wenn Sie wissen, wo Sie bestimmte Unterstützungstools finden, können Sie Ihre Karriere oft weiterentwickeln. Wenn Sie beispielsweise mit einer Benchmarking-Aufgabe beauftragt werden, werden Sie froh sein zu erfahren, dass Sie Jmeter vom Jakarta-Projekt von Apache herunterladen können. Wenn Sie die Ausgabeergebnisse im PDF-Format senden müssen, wird außerdem die Verwendung der Java-PDF-Bibliothek empfohlen, die kostenlos von http://www.lowagie.com/iText/ heruntergeladen werden kann. Die Internettechnologie ist umfassend und entwickelt sich rasant. Das bedeutet, dass Sie als Webprogrammierer immer darauf achten sollten, welche neuen Technologien in der Branche entstehen und welche wichtigen Ereignisse stattfinden. In dieser Hinsicht gibt es keine größere Ressource als das Internet selbst.
Über den Autor:
Java für das Web
mit Servlet, JSP und EJB
Budi Kurniawan ist ein IT-Berater, der sich auf Internet- und objektorientierte Programmierung spezialisiert hat und Java- und Microsoft-Technologien unterrichtet. Er ist der Autor des Bestsellers Java for the Web with Servlets, JSP, and EJB: a Developer's Guide to Scalable Solutions (New Riders) und hat das beliebteste Java Upload Bean entwickelt, das Sie von BrainySoftware com herunterladen können Es wurde von vielen wichtigen Unternehmen lizenziert und in ihren Projekten verwendet. Budi kann unter [email protected] kontaktiert werden.