Hva er JSP-filformatet?
.jsp er en server-side-fil som brukes til å generere dynamisk nettinnhold. Opprinnelig introdusert av Sun Microsystems i 1999 som JavaServer Pages, ble formatet omdøpt til Jakarta Server Pages i 2019 da forvaltningen ble overført til Eclipse Foundation under Jakarta EE-paraplyen. I likhet med PHP eller ASP-filer, bygger en .jsp-fil inn kjørbar kode i HTML-markup - men det innebygde språket er Java. Filen lagrer programlogikk på serveren, som behandler den og sender den ferdige HTML-siden til nettleseren.
.jsp-kildefiler er ren tekst. Java-kode bygges inn via scriptlet-tagger (<% ... %>), uttrykkstagger (<%= ... %>), eller JSP Expression Language (${...}). Moderne prosjekter bruker ofte JSTL for å holde forretningslogikk ute av malen. Hvis siden er skrevet som velformet XML, brukes utvidelsen .jspx i stedet.
Hensyn på klientsiden. Brukeren trenger ikke å vite hvilken teknologi et gitt nettsted bruker. Nettleseren mottar bare HTML-utdata generert av serveren - .jsp-laget er helt skjult for besøkende. Ingen Java Virtual Machine eller spesielle verktøy er nødvendig for å åpne en .jsp-kildefil; en standard tekstredigerer er nok.
Sikkerhet og trygghet
RISIKO: LOWUtvidelsen .jsp sier ingenting om sikkerhet i seg selv - i en URL er det bare en vanlig nettside; behandle nettstedet som ethvert annet nettsted (se opp for phishing på innloggings-/banksider). En nedlastet .jsp er vanligvis ufarlig HTML eller et dokument med feil navn, og det er alltid trygt å åpne den i en tekstredigerer. Vær kun forsiktig hvis en uventet .jsp-nedlasting kommer fra en upålitelig kilde - inspiser den som tekst før du gir den nytt navn, og kjør aldri noe den prøver å starte. (For serveroperatører er ondsinnede opplastede .jsp «web shells» en bekymring på serversiden, ikke en risiko for noen som bare ser på filen.)
Formatdetaljer
i et nøtteskallProgrammer som åpner JSP-filer
Tekniske detaljer
dyp spesifikasjon| Filtype | Server-side Java-webmal; kildekode i ren tekst som blander HTML-markup med Java-scriptlets, direktiver og EL-uttrykk |
| MIME-type | text/html |
| Tekstkoding | Ren UTF-8 (tegnsett deklarert i `<%@ page %>`-direktivet; andre kodinger som ISO-8859-1 støttes) |
| Binær signatur | Ingen - `.jsp`-filer har ingen magic bytes; kildekoden starter vanligvis med `<%@ page ... %>` eller en DOCTYPE/HTML-deklarasjon |
| Scriptlet-syntaks | `<% ... %>` for kodeblokker, `<%= ... %>` for utdata-uttrykk, `<%! ... %>` for felt- og metodedeklarasjoner |
| Expression Language | `${...}` for umiddelbar evaluering; `#{...}` for utsatt evaluering - begge gir tilgang til beans og variabler uten å bygge inn rå Java |
| Serverkrav | Krever en Jakarta EE-kompatibel servlet-container (Apache Tomcat, Eclipse Jetty, WildFly, osv.); kan ikke leveres av en vanlig HTTP-server |
| Kompileringsmodell | Containeren oversetter automatisk `.jsp` til en Java-servlet-kildefil, kompilerer den til `.class`-bytekode, og deretter bufrer og gjenbruker den kompilerte klassen |
| XML-basert variant | `.jspx` (JSP-dokument) - strengt velformet XML-dialekt; tag-biblioteker refereres via XML-navnerom i stedet for `<%@ taglib %>` |
| Støtte for tag-bibliotek | JSTL (Jakarta Standard Tag Library) og egendefinerte tag-biblioteker beskrevet av `.tld`-deskriptorfiler reduserer avhengigheten av scriptlets |
| Distribusjonspakking | Buntet inne i en `.war` (Web Application Archive) sammen med servlets, klasser og statiske ressurser for distribusjon til en servlet-container |
| Implisitte scope-objekter | Fire innebygde scopes - page, request, session og application - eksponerer attributter tilgjengelig over den tilsvarende levetiden |
| Implisitte variabler | Ni forhåndsdefinerte variabler tilgjengelig uten deklarasjon: `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Forvaltningshistorikk | Opprettet av Sun Microsystems (JSP 1.0, 1999); ble en del av Java EE; overført til Eclipse Foundation som Jakarta Server Pages under Jakarta EE i 2019 |
| Utgitt | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | jakarta.ee |
JSP-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om JSP-filer.