Hvad er JSP-filformatet?
.jsp er en server-side fil, der bruges til at generere dynamisk webindhold. Oprindeligt introduceret af Sun Microsystems i 1999 som JavaServer Pages, blev formatet omdøbt til Jakarta Server Pages i 2019, da ansvaret overgik til Eclipse Foundation under Jakarta EE-paraplyen. Ligesom PHP eller ASP filer, indlejrer en .jsp-fil eksekverbar kode i HTML-markup - men det indlejrede sprog er Java. Filen gemmer programlogik på serveren, som behandler den og sender den færdige HTML-side til browseren.
.jsp-kildefiler er almindelig tekst. Java-kode indlejres via scriptlet-tags (<% ... %>), expression-tags (<%= ... %>) eller JSP Expression Language (${...}). Moderne projekter bruger ofte JSTL for at holde forretningslogik ude af skabelonen. Hvis siden er skrevet som velformet XML, bruges filtypen .jspx i stedet.
Overvejelser på klientsiden. Brugeren behøver ikke at vide, hvilken teknologi et givet websted bruger. Browseren modtager kun det HTML-output, der genereres af serveren - .jsp-laget er fuldstændig skjult for besøgende. Der kræves ingen Java Virtual Machine eller specielle værktøjer for at åbne en .jsp-kildefil; en standard teksteditor er nok.
Sikkerhed og tryghed
RISIKO: LOWFiltypen .jsp siger intet om sikkerhed i sig selv - i en URL er det bare en normal webside; behandl siden som ethvert andet websted (hold øje med phishing på login-/bank-sider). En downloadet .jsp er typisk harmløs HTML eller et forkert navngivet dokument, og det er altid sikkert at åbne den i en teksteditor. Vær kun forsigtig, hvis en uventet .jsp-download ankommer fra en upålidelig kilde - inspicer den som tekst, før du omdøber den, og kør aldrig noget, den forsøger at starte. (For serveroperatører er ondsindede uploadede .jsp «web shells» en bekymring på serversiden, ikke en risiko for nogen, der blot ser filen.)
Formatdetaljer
kort fortaltProgrammer der åbner JSP-filer
Tekniske detaljer
dyb specifikation| Filtype | Server-side Java-webskabelon; kildekode i almindelig tekst, der blander HTML-markup med Java-scriptlets, direktiver og EL-udtryk |
| MIME-type | text/html |
| Tekstkodning | Almindelig UTF-8 (tegnsæt erklæret i `<%@ page %>`-direktivet; andre kodninger som ISO-8859-1 understøttes) |
| Binær signatur | Ingen - `.jsp`-filer har ingen magic bytes; kildekoden åbner typisk med `<%@ page ... %>` eller en DOCTYPE/HTML-erklæring |
| Scriptlet-syntaks | `<% ... %>` til kodeblokke, `<%= ... %>` til output-udtryk, `<%! ... %>` til felt- og metodeerklæringer |
| Expression Language | `${...}` til øjeblikkelig evaluering; `#{...}` til udskudt evaluering - begge tilgår beans og variable uden at indlejre rå Java |
| Serverkrav | Kræver en Jakarta EE-kompatibel servlet-container (Apache Tomcat, Eclipse Jetty, WildFly, osv.); kan ikke serveres af en almindelig HTTP-server |
| Kompileringsmodel | Containeren oversætter automatisk `.jsp` til en Java-servlet-kildefil, kompilerer den til `.class`-bytecode, og cacher og genbruger derefter den kompilerede klasse |
| XML-baseret variant | `.jspx` (JSP-dokument) - strengt velformet XML-dialekt; tag-biblioteker refereres via XML-namespaces i stedet for `<%@ taglib %>` |
| Understøttelse af tag-biblioteker | JSTL (Jakarta Standard Tag Library) og brugerdefinerede tag-biblioteker beskrevet af `.tld`-beskrivelsesfiler reducerer afhængigheden af scriptlets |
| Implementeringspakke | Bundtet i en `.war` (Web Application Archive) sammen med servlets, klasser og statiske ressourcer til implementering i en servlet-container |
| Implicitte scope-objekter | Fire indbyggede scopes - page, request, session og application - eksponerer attributter, der er tilgængelige på tværs af den tilsvarende levetid |
| Implicitte variable | Ni foruddefinerede variable tilgængelige uden erklæring: `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Historik | Skabt af Sun Microsystems (JSP 1.0, 1999); blev en del af Java EE; overført til Eclipse Foundation som Jakarta Server Pages under Jakarta EE i 2019 |
| Udgivet | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Åben standard | Ja · royaltyfri |
| Specifikation | jakarta.ee |
JSP-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om JSP-filer.