Was ist das JSP-Dateiformat?
.jsp ist eine serverseitige Datei zur Generierung dynamischer Webinhalte. Ursprünglich 1999 von Sun Microsystems als JavaServer Pages eingeführt, wurde das Format 2019 in Jakarta Server Pages umbenannt, als die Verwaltung an die Eclipse Foundation unter dem Jakarta-EE-Dach überging. Wie PHP- oder ASP-Dateien bettet eine .jsp-Datei ausführbaren Code in HTML-Markup ein - die eingebettete Sprache ist jedoch Java. Die Datei speichert Programmlogik auf dem Server, der sie verarbeitet und die fertige HTML-Seite an den Browser sendet.
.jsp-Quelldateien sind reiner Text. Java-Code wird über Scriptlet-Tags (<% ... %>), Ausdrucks-Tags (<%= ... %>) oder die JSP Expression Language (${...}) eingebettet. Moderne Projekte verwenden oft JSTL, um Geschäftslogik aus dem Template herauszuhalten. Wenn die Seite als wohlgeformtes XML geschrieben ist, wird stattdessen die Erweiterung .jspx verwendet.
Clientseitige Überlegungen. Der Benutzer muss nicht wissen, welche Technologie eine bestimmte Website verwendet. Der Browser erhält nur die vom Server generierte HTML-Ausgabe - die .jsp-Ebene ist für Besucher vollständig verborgen. Zum Öffnen einer .jsp-Quelldatei werden keine Java Virtual Machine oder spezielle Tools benötigt; ein normaler Texteditor genügt.
Sicherheit
RISIKO: LOWDie .jsp-Erweiterung sagt für sich genommen nichts über die Sicherheit aus - in einer URL ist sie nur eine normale Webseite; behandle die Website wie jede andere Website (Vorsicht vor Phishing auf Anmelde- und Banking-Seiten). Eine heruntergeladene .jsp ist typischerweise harmloses HTML oder ein falsch benanntes Dokument, und das Öffnen in einem Texteditor ist immer sicher. Vorsicht nur, wenn ein unerwarteter .jsp-Download von einer nicht vertrauenswürdigen Quelle eintrifft - inspiziere ihn als Text, bevor du ihn umbenennst, und führe niemals etwas aus, das er zu starten versucht. (Für Server-Betreiber sind bösartige hochgeladene .jsp-'Web-Shells' ein serverseitiges Problem, kein Risiko für jemanden, der die Datei nur betrachtet.)
Formatdetails
kurz gefasstProgramme zum Öffnen von JSP-Dateien
Technische Details
technische Spezifikation| Dateityp | Serverseitige Java-Web-Vorlage; Klartext-Quelle, die HTML-Markup mit Java-Scriptlets, Direktiven und EL-Ausdrücken mischt |
| MIME-Typ | text/html |
| Textkodierung | Reines UTF-8 (Zeichensatz in der `<%@ page %>`-Direktive deklariert; andere Kodierungen wie ISO-8859-1 werden unterstützt) |
| Binärsignatur | Keine - `.jsp`-Dateien haben keine Magic Bytes; Quelldateien beginnen üblicherweise mit `<%@ page ... %>` oder einer DOCTYPE/HTML-Deklaration |
| Scriptlet-Syntax | `<% ... %>` für Codeblöcke, `<%= ... %>` für Ausgabeausdrücke, `<%! ... %>` für Feld- und Methodendeklarationen |
| Expression Language | `${...}` zur sofortigen Auswertung; `#{...}` zur verzögerten Auswertung - beide greifen auf Beans und bereichsbezogene Variablen zu, ohne rohen Java-Code einzubetten |
| Server-Anforderung | Erfordert einen Jakarta-EE-kompatiblen Servlet-Container (Apache Tomcat, Eclipse Jetty, WildFly usw.); kann nicht von einem normalen HTTP-Server bereitgestellt werden |
| Kompilierungsmodell | Der Container übersetzt `.jsp` automatisch in eine Java-Servlet-Quelldatei, kompiliert sie zu `.class`-Bytecode, speichert sie im Cache und verwendet die kompilierte Klasse wieder |
| XML-basierte Variante | `.jspx` (JSP Document) - strikt wohlgeformter XML-Dialekt; Tag-Bibliotheken werden über XML-Namespaces statt `<%@ taglib %>` referenziert |
| Tag-Bibliotheks-Unterstützung | JSTL (Jakarta Standard Tag Library) und benutzerdefinierte Tag-Bibliotheken, beschrieben durch `.tld`-Deskriptordateien, reduzieren die Abhängigkeit von Scriptlets |
| Deployment-Packaging | Zusammen mit Servlets, Klassen und statischen Ressourcen in einem `.war` (Web Application Archive) gebündelt und in einem Servlet-Container bereitgestellt |
| Implizite Scope-Objekte | Vier eingebaute Bereiche - page, request, session und application - machen Attribute über die entsprechende Lebensdauer hinweg zugänglich |
| Implizite Variablen | Neun vordefinierte Variablen ohne Deklaration verfügbar: `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Verwaltungsgeschichte | Erstellt von Sun Microsystems (JSP 1.0, 1999); Teil von Java EE; 2019 an die Eclipse Foundation als Jakarta Server Pages unter Jakarta EE übertragen |
| Veröffentlicht | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | jakarta.ee |
JSP-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu JSP-Dateien.