Che cos'è il formato di file JSP?
.jsp è un file lato server utilizzato per generare contenuti web dinamici. Introdotto originariamente da Sun Microsystems nel 1999 come JavaServer Pages, il formato è stato rinominato Jakarta Server Pages nel 2019 quando la gestione è passata alla Eclipse Foundation sotto l'ombrello di Jakarta EE. Come i file PHP o ASP, un file .jsp incorpora codice eseguibile all'interno del markup HTML - ma il linguaggio incorporato è Java. Il file memorizza la logica del programma sul server, che la elabora e invia la pagina HTML finita al browser.
I file sorgente .jsp sono in formato testo semplice. Il codice Java viene inserito tramite tag scriptlet (<% ... %>), tag di espressione (<%= ... %>) o il JSP Expression Language (${...}). I progetti moderni utilizzano spesso JSTL per mantenere la logica di business fuori dal template. Se la pagina è scritta come XML ben formato, viene utilizzata invece l'estensione .jspx.
Considerazioni lato client. L'utente non ha bisogno di sapere quale tecnologia utilizzi un determinato sito web. Il browser riceve solo l'output HTML generato dal server - il livello .jsp è completamente nascosto ai visitatori. Non sono necessari Java Virtual Machine o strumenti speciali per aprire un file sorgente .jsp; un editor di testo standard è sufficiente.
Sicurezza e incolumità
RISCHIO: LOWL'estensione .jsp non dice nulla sulla sicurezza di per sé - in un URL è solo una normale pagina web; tratta il sito come qualsiasi sito web (attenzione al phishing sulle pagine di login/bancarie). Un .jsp scaricato è in genere HTML innocuo o un documento rinominato male, e aprirlo in un editor di testo è sempre sicuro. Presta cautela solo se arriva un download .jsp inaspettato da una fonte non attendibile - ispezionalo come testo prima di rinominarlo e non eseguire mai nulla che cerchi di avviare. (Per i gestori di server, le «web shell» .jsp caricate maliziosamente sono un problema lato server, non un rischio per chi visualizza semplicemente il file.)
Dettagli del formato
in sintesiProgrammi che aprono file JSP
Dettagli tecnici
specifiche approfondite| Tipo di file | Template web Java lato server; sorgente in testo semplice che mescola markup HTML con scriptlet Java, direttive ed espressioni EL |
| Tipo MIME | text/html |
| Codifica del testo | UTF-8 semplice (charset dichiarato nella direttiva `<%@ page %>`; sono supportate altre codifiche come ISO-8859-1) |
| Firma binaria | Nessuna - i file `.jsp` non contengono magic bytes; il sorgente si apre comunemente con `<%@ page ... %>` o una dichiarazione DOCTYPE/HTML |
| Sintassi scriptlet | `<% ... %>` per blocchi di codice, `<%= ... %>` per espressioni di output, `<%! ... %>` per dichiarazioni di campi e metodi |
| Expression Language | `${...}` per valutazione immediata; `#{...}` per valutazione differita - entrambi accedono a bean e variabili di ambito senza incorporare Java grezzo |
| Requisiti server | Richiede un servlet container compatibile con Jakarta EE (Apache Tomcat, Eclipse Jetty, WildFly, ecc.); non può essere servito da un semplice server HTTP |
| Modello di compilazione | Il container traduce automaticamente il `.jsp` in un file sorgente servlet Java, lo compila in bytecode `.class`, quindi memorizza nella cache e riutilizza la classe compilata |
| Variante basata su XML | `.jspx` (JSP Document) - dialetto XML rigorosamente ben formato; librerie di tag referenziate tramite namespace XML invece di `<%@ taglib %>` |
| Supporto librerie di tag | JSTL (Jakarta Standard Tag Library) e librerie di tag personalizzate descritte da file descrittori `.tld` riducono la dipendenza dagli scriptlet |
| Pacchetto di distribuzione | Incluso all'interno di un `.war` (Web Application Archive) insieme a servlet, classi e risorse statiche per la distribuzione su un servlet container |
| Oggetti di ambito impliciti | Quattro ambiti integrati - page, request, session e application - espongono attributi accessibili durante il ciclo di vita corrispondente |
| Variabili implicite | Nove variabili predefinite disponibili senza dichiarazione: `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Storia della gestione | Creato da Sun Microsystems (JSP 1.0, 1999); diventato parte di Java EE; trasferito alla Eclipse Foundation come Jakarta Server Pages sotto Jakarta EE nel 2019 |
| Rilasciato | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Standard aperto | Sì · royalty-free |
| Specifica | jakarta.ee |
Conversioni JSP
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file JSP.