Jakarta Serverseiten
Dateiname Erweiterung | .jsp, .jspx, .jspf |
---|---|
Internet -Medientyp | Anwendung/jsp |
Entwickelt von | Eclipse Foundation |
Erstveröffentlichung | 1999 |
Neueste Erscheinung | 3.1 31. April 2022 |
Art des Formats | Dynamische Webseite |
Standard | JSR 245 |
Offenes Format? | Ja |
Webseite | Projekte |
Jakarta Serverseiten (JSP; früher Javaserverseiten) ist eine Sammlung von Technologien, die hilft Softwareentwickler schaffen Dynamisch generierte Webseiten bezogen auf Html, Xml, SEIFEoder andere Dokumenttypen. Veröffentlicht 1999 von Sun Microsystems,[1] JSP ist ähnlich wie Php und ASP, benutzt aber die Java -Programmiersprache.
So stellen Sie Jakarta Serverseiten bereit und führen Sie einen kompatiblen Webserver mit a aus Servlet Container, wie zum Beispiel Apache tomcat oder Steg, ist nötig.
Überblick
Architektonisch kann JSP als hochrangiger Ebene angesehen werden Abstraktion von Java Servlets. JSPs werden in übersetzt Servlets Zur Laufzeit ist JSP daher ein Servlet; Jedes JSP-Servlet wird zwischengespeichert und wiederverwendet, bis der ursprüngliche JSP geändert wird.[2]
Jakarta-Serverseiten können unabhängig oder als Ansichtskomponente einer Serverseite verwendet werden Model View Controller Design, normalerweise mit Javabeans als Modell und Java -Servlets (oder als Framework wie z. Apache Streben) als Controller. Dies ist eine Art von Art von Modell 2 die Architektur.[3]
Mit JSP können Java -Code und bestimmte vordefinierte Aktionen mit statischen Web -Markup -Inhalten wie HTML verschachtelt werden. Die resultierende Seite wird auf dem Server kompiliert und ausgeführt, um ein Dokument bereitzustellen. Die kompilierten Seiten sowie alle abhängigen Java -Bibliotheken enthalten eher Java -Bytecode als Java -Bytecode als Maschinensprache. Wie jedes andere .jar- oder Java -Programm muss Code innerhalb von a ausgeführt werden Java virtuelle Maschine (JVM), das mit dem Host des Servers interagiert Betriebssystem Bereitstellung einer abstrakten, plattformneutralen Umgebung.
JSPs werden normalerweise zur Bereitstellung von HTML- und XML -Dokumenten verwendet, aber durch die Verwendung von OutputStream können sie auch andere Datenarten liefern.[4]
Das Webcontainer Erstellt JSP -implizite Objekte wie Anforderung, Antwort, Sitzung, Anwendung, Konfiguration, Seite, pageContext, out und Ausnahme. JSP Engine erstellt diese Objekte während der Übersetzungsphase.
Syntax
JSP -Seiten verwenden mehrere Grenzwerte für Scripting Funktionen. Das grundlegendste ist <% ... %>
, was einen JSP einschließt Drehbuch. Ein Scriptlet ist ein Fragment von Java -Code, das ausgeführt wird, wenn der Benutzer die Seite anfordert. Andere häufige Grenzwerte umfassen <%= ... %>
zum Ausdrücke, wo das Drehbuch und die Grenzwerte durch das Ergebnis der Bewertung des Ausdrucks ersetzt werden, und Richtlinien, bezeichnet mit <%@ ... %>
.[5]
Der Java-Code muss in einem einzigen Drehbuchblock nicht vollständig oder in sich geschlossen sein. Es kann den Markup -Inhalt überspannen, vorausgesetzt, die Seite als Ganzes ist syntaktisch korrekt. Zum Beispiel jede Java if/for/while In einem Drehbuch geöffnete Blöcke müssen in einem späteren Drehbuch korrekt geschlossen werden, damit die Seite erfolgreich kompiliert werden kann. Auf diese Weise kann der Code vermischt werden und kann zu schlechten Programmierpraktiken führen.
Inhalte, der in einen geteilten Java -Code (mehrfache Skriptlets) fällt, unterliegt diesem Code. Inhalt in einem wenn Block wird nur in der Ausgabe angezeigt, wenn die wenn Zustand bewertet true. Ebenso kann der Inhalt in einem Schleifenkonstrukt in der Ausgabe mehrmals angezeigt werden, je nachdem, wie oft der Schleifenkörper ausgeführt wird.
Das Folgende wäre gültig Für Schleife In einer JSP -Seite:
Zählen auf drei: <% zum (int i=1; i<4; i++) { %> Diese Zahl ist <%= i %>. <% } %> OK.
Die Ausgabe, die im Webbrowser des Benutzers angezeigt wird, wäre:
Zählen auf drei: Diese Nummer ist 1. Diese Zahl ist 2. Diese Nummer ist 3. OK.
Ausdruckssprache
Version 2.0 der JSP -Spezifikation fügte Unterstützung für die Expressionssprache (EL) hinzu, die zum Zugriff auf Daten und Funktionen in Java -Objekten verwendet wurde. In JSP 2.1 wurde es in die gefaltet Einheitliche Ausdruckssprache, was auch in verwendet wird in Javaserver Gesichter.[6]
Ein Beispiel von EL Syntax:
Der Wert von "Variable" im Objekt "Javaban" ist $ {javabean.Variable}.
Zusätzliche Tags
Die JSP-Syntax fügt zusätzliche Tags hinzu, die als JSP-Aktionen bezeichnet werden, um integrierte Funktionen aufzurufen.[5] Darüber hinaus ermöglicht die Technologie die Schaffung von benutzerdefiniertem JSP Tag -Bibliotheken Das wirkt als Erweiterungen der Standard -JSP -Syntax.[7] Eine solche Bibliothek ist die JSTL, mit Unterstützung für gemeinsame Aufgaben wie Iteration und Bedingungen (das Äquivalent von "für" und "wenn" Aussagen in Java).[8]
XML-konforme JSP
JSP -Seiten können auch in vollständig gültiger XML -Syntax geschrieben werden.[9] Solche JSP -Dateien verwenden üblicherweise die Alternative .jspx
Dateierweiterung, die normalerweise dazu führt, dass der Anwendungsserver die XML -Syntax validiert.
Seit der üblichen JSP -Syntax <% ... %>
ist in XML nicht gültig, ein Entwickler muss alternative Tags verwenden, die von JSP bereitgestellt werden. Zum Beispiel das gemeinsame <%@ page .. %>
Richtlinie kann stattdessen als als geschrieben werden
Tag- und Tag -Bibliotheken werden mithilfe von Bibliotheken importiert XML -Namespacesanstelle des üblichen <%@ taglib .. %>
Schild.
Compiler
A JavaServer Pages Compiler ist ein Programm, das JSPs analysiert und sie in ausführbare Datei umwandelt Java Servlets. Ein Programm dieser Art ist normalerweise in die eingebettet Anwendungsserver und wird automatisch ausgeführt, wenn zum ersten Mal auf einen JSP zugegriffen wird, aber die Seiten können auch für eine bessere Leistung vorkompiliert oder als Teil des Build -Prozesses kompiliert werden, um Fehler zu testen.[10]
Einige JSP -Container unterstützen die Konfiguration, wie oft der Container JSP überprüft Datei Zeitstempel Um festzustellen, ob sich die Seite geändert hat. Normalerweise würde dieser Zeitstempel während eines kurzen Intervalls (möglicherweise Sekunden) während Software-Entwicklungund ein längeres Intervall (vielleicht Minuten oder sogar nie) für einen Einsatz Internetanwendung.[11]
Kritik
Im Jahr 2000 beschrieb Jason Hunter, Autor von "Java Servlet Programming", eine Reihe von "Problemen" mit Javaserver -Seiten.[12] Trotzdem schrieb er, dass JSP zwar nicht die "beste Lösung für die Java-Plattform" ist, es war die "Java-Lösung, die der Nicht-Java-Lösung am ähnlich ist", mit der er Microsoft meinte Aktive Server-Seiten. Später fügte er seiner Website eine Nachricht hinzu, dass sich JSP seit 2000 verbessert habe, aber auch seine Konkurrenten zitierte. Apache -Geschwindigkeit und Tee (Vorlagesprache).[12] Heute gibt es mehrere Alternativen und eine Reihe von JSP-orientierten Seiten in größeren Web-Apps werden als technische Schulden angesehen.
Siehe auch
Servlet Container
- Apache tomcat
- Apache Tomee
- Jetty (Webserver)
- Glasfische
- Oracle Iplanet Webserver
- WebSphere Application Server
Java-basierte Vorlagenalternativen
Verweise
- ^ "Fork Archive: Sun JSP 1.0 * nicht * verfügbar". www.xent.com.
- ^ Der Lebenszyklus einer JSP -Seite (Sonnendokumentation)
- ^ Seshadri, Govind (29. Dezember 1999). "JavaServer Pages Modell 2 Architektur verstehen". JavaRld. Abgerufen 2020-07-17.
- ^ "OutputStream bereits erhalten (JSP -Forum bei Codieranch)". coderanch.com.
- ^ a b JSP 1.2 -Syntaxreferenz
- ^ Die einheitliche Ausdruckssprache (Sun Developer Network)
- ^ Tag -Bibliotheken -Tutorial - Was ist eine Tag -Bibliothek? (Sonne) Archiviert 19. April 2012 bei der Wayback -Maschine
- ^ "JavaServer Pages Standard -Tag -Bibliothek - Das Java EE 5 Tutorial". docs.oracle.com.
- ^ "Das Java ee 5 Tutorial, Kapitel 6 Javaserver Seiten dokumentiert". Oracle.com. Abgerufen 2022-07-27.
- ^ "IBM docs". www.ibm.com.
- ^ "Sybooks online". infocenter.sybase.com.
- ^ a b Die Probleme mit JSP (25. Januar 2000)
Weitere Lektüre
- Bergsten, Hans (2003). Javaserverseiten (3. Aufl.). O'Reilly Media. ISBN 978-0-596-00563-4.
- Brown, Simon; Dalton, Sam; Jepp, Daniel; Johnson, Dave; Li, singen; Raible, Matt. Pro Jsp 2. Apress. ISBN 1-59059-513-0.
- Hanna, Phil (2003). JSP 2.0 - Die vollständige Referenz. McGraw-Hill Osborne Media. ISBN 978-0-07-222437-5.
- Sierra, Kathy; Bates, Bert; Basham, Bryan. Head First Servlets & JSP. O'Reilly Media. ISBN 978-0-596-00540-5.
Externe Links
- Offizielle Website
- JSP v2.0 Syntaxreferenz
- Jakarta Serverseitenspezifikation, Version 3.0
- Javaserverseiten
- Javaserverseiten (JSP) und JSTL
- JavaServer -Seiten v2.0 Syntaxkarte (html)
- Offizielles Tutorial: Das Java EE 5 Tutorial, Kapitel 5, Javaserver Pages -Technologie
- Servlet History
- Richten Sie die JSP -Umgebung ein JSP Neueste
- Web-Mode.EL, EMACS-Hauptmodus zum Bearbeiten von JSP-Vorlagen