O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Servlets und JSPs™ von Kopf bis Fuß

Book Description

Was lernen Sie in diesem Buch?

Wollen Sie sich auf die neue Prüfung zum Sun Certified Web Component Developer (SCWCD) vorbereiten? Oder müssen Sie sich mit JSP und Servlets für Ihr neues Projekt beschäftigen?

Dann haben wir hier das richtige Buch

Table of Contents

  1. Copyright
  2. Widmung
  3. Die Verantwortlichen für die Von Kopf bis Fuß-Reihe (und dieses Buch)
  4. Einführung
  5. Einführung und Überblick: Warum Servlets & JSPs?
    1. Prüfungsziele
    2. Was macht ein Webserver?
    3. Der Zwei-Minuten-HTML-Überblick
    4. Was ist das HTTP-Protokoll?
    5. Anatomie einer HTTP-POST-Anfrage
    6. URL. Machen Sie, was Sie wollen, aber sagen Sie nicht »Urrl«.
    7. Webserver mögen es, statische Webseiten bereitzustellen.
    8. Servlets entmystifiziert (schreiben, bereitstellen, ausführen)
    9. JSP ist das, was herauskam, als jemand HTML mit Java bekannt gemacht hat
  6. Überblick von höherer Warte: Architektur von Webanwendungen
    1. Prüfungsziele
    2. Was ist ein Container?
    3. So sieht der Code aus (der ein Servlet zu einem Servlet macht)
    4. Ein Servlet kann DREI Namen haben
    5. Fallbeispiel: Björn konstruiert eine Partnervermittlungssite
    6. Das Model-View-Controller-Entwurfsmuster (MVC) korrigiert das
    7. Ein »funktionsfähiger«Deployment Descriptor (DD)
    8. So fügt sich J2EE ins Gesamtbild
  7. MVC-Praktikum: Mini-MVC-Kurs
    1. Prüfungsziele
    2. Lassen Sie uns eine echte (kleine) Webanwendung erstellen
    3. Einrichten Ihrer Entwicklungsumgebung
    4. HTML-Quelltext für das Startformular
    5. Erste Version des Controller-Servlets
    6. Die Model-Klasse erstellen und testen
    7. Dem Servlet beibringen, das Model aufzurufen, damit wir eine RICHTIGE Empfehlung bekommen ...
    8. Legen Sie den JSP-»View« für die Empfehlung an
    9. Dem Servlet beibringen, die JSP aufzurufen (Version drei)
  8. Anfrage UND Antwort: Leben als Servlet
    1. Prüfungsziele
    2. Servlets werden vom Container kontrolliert
    3. Jede Anfrage läuft in einem separaten Thread!
    4. Der EIGENTLICHE Job eines Servlets ist es, Anfragen zu bearbeiten. Dann hat das Leben eines Servlets einen Sinn.
    5. Die Geschichte von der nicht idempotenten Anfrage
    6. Wie entscheidet sich, ob der Browser eine GET- oder eine POST-Anfrage sendet?
    7. Einen einzelnen Parameter senden und verwenden
    8. Das war also die Anfrage ... dann sehen wir uns jetzt mal die Antwort an
    9. Sie können Antwort-Header setzen, Sie können Antwort-Header hinzufügen
    10. Die Servlet-Umleitung überlässt dem Browser die Arbeit
    11. Wiederholung HttpServletResponse
  9. Attribute und Listener: Leben als Webanwendung
    1. Prüfungsziele
    2. Wie kommt eine JSP an die Servlet-Initialisierungsparameter?
    3. Die rettenden Kontext-Initialisierungsparameter
    4. Ein ServletConfig pro Servlet, ein ServletContext pro Webanwendung
    5. Sie will einen ServletContextListener
    6. Anleitung: Ein einfacher ServletContextListener
    7. Kompilieren und bereitstellen
    8. Die vollständige Geschichte ...
    9. Listener: nicht nur für KontextEvents ...
    10. Was genau ist eigentlich ein Attribut?
    11. Die Attribut-API
    12. Der KontextGültigkeitsbereich ist nicht Thread-sicher!
    13. Das Problem in Zeitlupe ...
    14. Die Service-Methode zu synchronisieren, ist eine ausgesprochen SCHLECHTE Idee
    15. Sind Session-Attribute Thread-sicher?
    16. Das SingleThreadModel soll Instanzvariablen schützen
    17. Nur Anfrageattribute und lokale Variablen sind Thread-sicher!
    18. Anfrageattribute und Anfrageweiterleitung
  10. Session-Management: Kommunikation mit Gedächtnis
    1. Prüfungsziele
    2. Es soll wie eine RICHTIGE Unterhaltung funktionieren ...
    3. Der Client braucht eine eindeutige Session-ID
    4. URL-Rewriting: Darauf kann man zurückgreifen
    5. Sitzungen loswerden
    6. Kann ich Cookies noch für andere Dinge benutzen, oder sind sie nur für Sitzungen gedacht?
    7. Zentrale Lebensabschnitte einer HttpSession
    8. Nicht den HttpSessionBindingListener vergessen
    9. Sitzungsmigration
    10. Listener-Beispiele
  11. JSPs verwenden: Wie es ist, eine JSP zu sein
    1. Prüfungsziele
    2. Am Ende ist eine JSP nur ein Servlet
    3. Aber dann erwähnt Kim »Ausdrücke«
    4. Zeit, einen Blick in das tatsächlich generierte Servlet zu werfen
    5. Die Variable out ist nicht das einzige implizite Objekt ...
    6. Der Lebenszyklus einer JSP
    7. Wo wir gerade beim Thema sind ... reden wir noch etwas über die drei Direktiven
    8. Sind Scriptlets schädlich?
    9. Moment ... es gibt ein weiteres JSP-Element, das wir noch nicht gesehen haben: Aktionen
  12. Skriptfreie JSPs: Skriptfreie Seiten
    1. Prüfungsziele
    2. Unsere MVC-Anwendung benötigt Attribute
    3. <jsp:useBean> und <jsp:getProperty> zerlegt
    4. Kann man polymorphe Bean-Referenzen erstellen?
    5. Das Attribut param schafft Abhilfe
    6. Bean-Tags wandeln primitive Properties automatisch um
    7. Die Expression Language (EL) rettet uns!
    8. Mit dem Punkt-Operator (.) auf Properties und Map-Werte zugreifen
    9. [] bietet Ihnen mehr Möglichkeiten ...
    10. Bei Beans und Maps können Sie beide Operatoren verwenden
    11. Die impliziten EL-Objekte
    12. Lassen Sie Ihre JSP die Würfel werfen
    13. Wiederverwendbare Template-Teile
    14. Bei <jsp:forward> wird der Puffer vor der Weiterleitung gelöscht
    15. Sie kennt JSTL-Tags noch nicht
  13. Die JSTL verwenden: Benutzerdefinierte Tags sind mächtig
    1. Prüfungsziele
    2. Schleifen ohne Scripting
    3. Mit <c:if> einen bedingten Include durchführen
    4. Das Tag <c:set> ... ist viel cooler als <jsp:setProperty>
    5. Mit <c:import> gibt es DREI Möglichkeiten, Inhalt einzubinden
    6. Den importierten Inhalt anpassen
    7. Das Gleiche mit <c:param> machen
    8. <c:url> für all Ihre Hyperlink-Bedürfnisse
    9. Machen Sie Ihre eigenen Fehlerseiten
    10. Das Tag <c:catch>. Wie try/catch ... in etwa
    11. Die Tags, die Sie in der JSTL finden
    12. Achten Sie auf <rtexprvalue>
    13. Was in einem Tag-Body stehen darf
    14. Der Tag-Handler, der TLD und die JSP
    15. Der Taglib-<uri> ist einfach ein Name, kein Ort
    16. Wenn eine JSP mehrere Tag-Libraries verwendet
  14. Benutzerdefinierte Tags entwickeln: Wenn selbst die JSTL nicht ausreicht ...
    1. Prüfungsziele
    2. Tag-Dateien: Wie Include, nur besser
    3. Wo der Container Tag-Dateien sucht
    4. Einen einfachen Tag-Handler erstellen
    5. Ein einfaches Tag mit Body
    6. Was ist, wenn der Tag-Body einen Ausdruck enthält?
    7. Auch klassische Tag-Handler müssen Sie noch beherrschen
    8. Ein sehr kleiner klassischer Tag-Handler
    9. Der klassische Lebenszyklus ist von Rückgabewerten abhängig
    10. Mögliche Rückgabewerte, wenn Sie TagSupport erweitern:
    11. Mit IterationTag können Sie den Body wiederholen
    12. Default-Rückgabewerte von TagSupport
    13. des Interface DynamicAttributes
    14. Mit BodyTag erhalten Sie zwei neue Methoden
    15. Was ist, wenn Ihre Tags kollaborieren?
    16. Die PageContext-API für Tag-Handler nutzen
  15. Deployment von Webanwendungen: Ihre Webanwendung verteilen
    1. Prüfungsziele
    2. Das Vergnügen des Verteilens
    3. WAR-Dateien
    4. Wie Servlet-Mapping WIRKLICH funktioniert
    5. Im DD Willkommen-Dateien konfigurieren
    6. Im DD Fehlerseiten konfigurieren
    7. Die Servlet-Initialisierung im DD konfigurieren
    8. Eine XML-konforme JSP erstellen: JSP Document
  16. Sicherheit von Webanwendungen: Geschützt und sicher
    1. Prüfungsziele
    2. Die großen 4 bei der Servlet-Sicherheit
    3. Authentifizierung in der HTTP-Welt: der Anfang einer sicheren Transaktion
    4. Halten sie die sicherheit aus dem code heraus
    5. Wer implementiert die Sicherheit in einer Webanwendung?
    6. Große Jobs in der Servlet-Sicherheit
    7. Die VIER Authentifizierungstypen
    8. Daten während der Übertragung sichern: HTTPS
    9. Wie man Datenvertraulichkeit und -integrität spärlich und deklarativ implementiert
  17. Filter und Wrapper: Die Macht der Filter
    1. Prüfungsziele
    2. Den Filter zur Anfrageverfolgung schreiben
    3. Der Lebenszyklus eines Filters
    4. Filter deklarieren und ordnen
    5. Ausgaben mit einem antwortseitigen Filter komprimieren
    6. Wrapper bringen es
    7. Der wahre Komprimierungsfilter-Code
    8. Komprimierungs-Wrapper-Code
  18. Muster und Struts: Enterprise-Entwurfsmuster
    1. Prüfungsziele
    2. Website-Hardware kann kompliziert werden
    3. Weitere Entwurfsprinzipien ...
    4. Muster zur Unterstützung entfernter Model-Komponenten
    5. JNDI und RMI, ein Kurzporträt
    6. Der »Vermittler« ist ein Business Delegate
    7. Zeit für ein Transfer Object?
    8. Geschäftsschicht-Muster: Zusammenfassung
    9. Rückkehr zu unserem allerersten Muster ... MVC
    10. Ja! Das ist Struts in a Nutshell
    11. Die Bier-Anwendung für Struts umgestalten
    12. Musterzusammenfassung für SCWCD
  19. KEIN SCHON-KAFFEE