Sun hat zum Thema Web-Technologien viel auf den Webseiten http://java.sun.com/products/jsp/ und http://java.sun.com/products/servlet/. Allerdings reicht das Wissen nicht aus, um wirklich moderne Web-Applikationen zu entwickeln. Vielmehr sind JSP und Servlets die Basis jeder HTTP-getriebenen Anwendung. Tag Libraries (http://java.sun.com/products/jsp/taglibraries/) – unter ihnen besonders die JavaServer Pages Standard Tag Library (http://java.sun.com/products/jsp/jstl/) und Jakarta Taglibs (http://jakarta.apache.org/taglibs/) – sind die Gewürze, die JSPs erst richtig schmackhaft machen. Servlets dienen – neben der seltenen Generierung von binären Dokumenten – lediglich dazu, als Front-Controller (http://java.sun.com/blueprints/corej2eepatterns/Patterns/FrontController.html), Anfragen vom Klienten entgegen zu nehmen und and die View weiterzuleiten. Diese Weiterleitung selbst zu schreiben erübrigt sich mit der Masse an MCV-Frameworks; Sun dokumentiert die Notwendigkeit im „Dokument Designing Enterprise Applications“ (http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html). Als Standard-Framework kristallisiert sich mehr und mehr JavaServer Faces (http://java.sun.com/javaee/javaserverfaces/) heraus, was das klassische Struts (http://struts.apache.org/) für Neuapplikationen den Rang abläuft.
Web-Anwendungen nur mit einem einfachen Editor zu schreiben ist aufwändig und fehlerträchtig. Entwickler-Teams sollten sich von Tools unter die Arme greifen lassen, um zum Beispiel Pageflow visuell zu modellieren und die Konfigurationsdateien schnell über Wizards zu generieren. Im Eclipse-Umfeld machen Exadel Studio (für Struts und JSF) und Oracle (mit den Erweiterungen Oracle ADF Faces Components) eine gute Figur. Unter Eclipse selbst hat sich zwar schon das „JavaServer Faces Tooling Project“ (http://www.eclipse.org/webtools/jsf/) als Teil vom WTP gebildet, aber das brachte zum Zeitpunkt der Drucklegung keine bemerkenswerte Ergebnisse.
Web-Anwendungen sehen auf den ersten Blick mit ein Paar Klicks leicht zu entwickeln aus, sind aber bei genauerem Hinweis in Punkto Lastverteilung/Clustering (Tomcats Clustering wird immer besser), Ausfallsicherheit bei großen Sites und Sicherheit nicht trivial. Besonders die Sicherheit (Web Application Security) vernachlässigen Entwickler gerne bis zum Ende, um dann Teile wie unzureichend ungeprüfte Eingaben oder Authentifizierung anpassen zu müssen. Peinlich war zum Beispiel die Situation für Gateway, die jedem registrierten Benutzer eine sechsstellige ID zuwies und als Identifizierung an den Server schickte. Natürlich war es kein großes Problem, diese ID anders zu generieren und Informationen anderer Benutzer abzurufen. Der zeitlose Report „The Ten Most Critital Web Application Security Vulnerabilities“ (http://prdownloads.sourceforge.net/owasp/OWASPTopTen2004.pdf) sensibilisiert für die Problematik. Injizieungs-Fehler (wie SQL-Injection, mit Beispielen etwa beschrieben unter http://www.unixwiz.net/techtips/sql-injection.html) und Cross-Site-Scripting (http://de.wikipedia.org/wiki/Cross-Site_Scripting) sind mittlerweile Fehler-Klassiker, die es zu umschiffen gilt.