Qu'est-ce que le format de fichier JSP ?
.jsp est un fichier côté serveur utilisé pour générer du contenu web dynamique. Initialement introduit par Sun Microsystems en 1999 sous le nom de JavaServer Pages, le format a été renommé Jakarta Server Pages en 2019 lorsque la gestion a été transférée à la Eclipse Foundation sous l'égide de Jakarta EE. Comme les fichiers PHP ou ASP, un fichier .jsp intègre du code exécutable au sein du balisage HTML - mais le langage intégré est Java. Le fichier stocke la logique du programme sur le serveur, qui la traite et envoie la page HTML finale au navigateur.
Les fichiers sources .jsp sont en texte brut. Le code Java est intégré via des balises scriptlet (<% ... %>), des balises d'expression (<%= ... %>) ou le JSP Expression Language (${...}). Les projets modernes utilisent souvent JSTL pour séparer la logique métier du modèle. Si la page est écrite en XML bien formé, l'extension .jspx est utilisée à la place.
Considérations côté client. L'utilisateur n'a pas besoin de savoir quelle technologie un site web utilise. Le navigateur ne reçoit que la sortie HTML générée par le serveur - la couche .jsp est complètement invisible pour les visiteurs. Aucune Java Virtual Machine ou outil spécial n'est nécessaire pour ouvrir un fichier source .jsp ; un éditeur de texte standard suffit.
Sécurité et sûreté
RISQUE : LOWL'extension .jsp ne dit rien sur la sécurité en soi - dans une URL, c'est juste une page web normale ; traitez le site comme n'importe quel site web (attention au phishing sur les pages de connexion/bancaires). Un .jsp téléchargé est généralement du HTML inoffensif ou un document mal nommé, et l'ouvrir dans un éditeur de texte est toujours sûr. Prudence uniquement si un téléchargement .jsp inattendu provient d'une source non fiable - inspectez-le en tant que texte avant de le renommer, et n'exécutez jamais rien de ce qu'il tente de lancer. (Pour les administrateurs de serveurs, les « web shells » .jsp malveillants téléchargés sont un problème côté serveur, pas un risque pour quelqu'un qui consulte simplement le fichier.)
Détails du format
en brefProgrammes qui ouvrent les fichiers JSP
Détails techniques
spécifications approfondies| Type de fichier | Modèle web Java côté serveur ; source en texte brut mélangeant balisage HTML avec des scriptlets Java, des directives et des expressions EL |
| Type MIME | text/html |
| Encodage du texte | UTF-8 brut (jeu de caractères déclaré dans la directive `<%@ page %>` ; d'autres encodages tels que ISO-8859-1 sont pris en charge) |
| Signature binaire | Aucune - les fichiers `.jsp` ne portent pas d'octets magiques ; la source s'ouvre généralement par `<%@ page ... %>` ou une déclaration DOCTYPE/HTML |
| Syntaxe scriptlet | `<% ... %>` pour les blocs de code, `<%= ... %>` pour les expressions de sortie, `<%! ... %>` pour les déclarations de champs et de méthodes |
| Expression Language | `${...}` pour une évaluation immédiate ; `#{...}` pour une évaluation différée - les deux accèdent aux beans et aux variables de portée sans intégrer de Java brut |
| Exigence serveur | Nécessite un conteneur de servlets compatible Jakarta EE (Apache Tomcat, Eclipse Jetty, WildFly, etc.) ; ne peut pas être servi par un simple serveur HTTP |
| Modèle de compilation | Le conteneur traduit automatiquement le `.jsp` en un fichier source de servlet Java, le compile en bytecode `.class`, puis met en cache et réutilise la classe compilée |
| Variante basée sur XML | `.jspx` (Document JSP) - dialecte XML strictement bien formé ; bibliothèques de balises référencées via des espaces de noms XML au lieu de `<%@ taglib %>` |
| Support des bibliothèques de balises | JSTL (Jakarta Standard Tag Library) et bibliothèques de balises personnalisées décrites par des fichiers descripteurs `.tld` réduisant la dépendance aux scriptlets |
| Conditionnement du déploiement | Regroupé dans un `.war` (Web Application Archive) aux côtés des servlets, des classes et des ressources statiques pour le déploiement vers un conteneur de servlets |
| Objets de portée implicite | Quatre portées intégrées - page, request, session et application - exposent des attributs accessibles tout au long de la durée de vie correspondante |
| Variables implicites | Neuf variables prédéfinies disponibles sans déclaration : `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Historique de gestion | Créé par Sun Microsystems (JSP 1.0, 1999) ; est devenu une partie de Java EE ; transféré à la Eclipse Foundation sous le nom de Jakarta Server Pages sous Jakarta EE en 2019 |
| Publié | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Standard ouvert | Oui · libre de droits |
| Spécification | jakarta.ee |
Conversions JSP
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers JSP.