¿Qué es el formato de archivo JSP?
.jsp es un archivo de servidor utilizado para generar contenido web dinámico. Introducido originalmente por Sun Microsystems en 1999 como JavaServer Pages, el formato pasó a llamarse Jakarta Server Pages en 2019 cuando la gestión pasó a la Eclipse Foundation bajo el paraguas de Jakarta EE. Al igual que los archivos PHP o ASP, un archivo .jsp incrusta código ejecutable dentro del marcado HTML, pero el lenguaje embebido es Java. El archivo almacena la lógica del programa en el servidor, que la procesa y envía la página HTML terminada al navegador.
Los archivos fuente .jsp son texto plano. El código Java se inserta mediante etiquetas de scriptlet (<% ... %>), etiquetas de expresión (<%= ... %>) o el JSP Expression Language (${...}). Los proyectos modernos suelen utilizar JSTL para mantener la lógica de negocio fuera de la plantilla. Si la página está escrita como un XML bien formado, se utiliza en su lugar la extensión .jspx.
Consideraciones del lado del cliente. El usuario no necesita saber qué tecnología utiliza un sitio web determinado. El navegador recibe únicamente la salida HTML generada por el servidor; la capa .jsp está completamente oculta para los visitantes. No se necesita una Java Virtual Machine ni herramientas especiales para abrir un archivo fuente .jsp; un editor de texto estándar es suficiente.
Seguridad y protección
RIESGO: LOWLa extensión .jsp no dice nada sobre la seguridad por sí sola: en una URL es solo una página web normal; trate el sitio como cualquier sitio web (tenga cuidado con el phishing en páginas de inicio de sesión o bancarias). Un .jsp descargado suele ser HTML inofensivo o un documento mal nombrado, y abrirlo en un editor de texto siempre es seguro. Tenga precaución solo si llega una descarga .jsp inesperada de una fuente no confiable: inspecciónela como texto antes de cambiarle el nombre y nunca ejecute nada que intente lanzar. (Para los operadores de servidores, los «web shells» .jsp maliciosos cargados son una preocupación del lado del servidor, no un riesgo para alguien que simplemente ve el archivo).
Detalles del formato
en pocas palabrasProgramas que abren archivos JSP
Detalles técnicos
especificación profunda| Tipo de archivo | Plantilla web Java de servidor; fuente de texto plano que mezcla marcado HTML con scriptlets de Java, directivas y expresiones EL |
| Tipo MIME | text/html |
| Codificación de texto | UTF-8 plano (charset declarado en la directiva `<%@ page %>`; se admiten otras codificaciones como ISO-8859-1) |
| Firma binaria | Ninguna: los archivos `.jsp` no llevan magic bytes; el código fuente suele abrirse con `<%@ page ... %>` o una declaración DOCTYPE/HTML |
| Sintaxis de scriptlet | `<% ... %>` para bloques de código, `<%= ... %>` para expresiones de salida, `<%! ... %>` para declaraciones de campos y métodos |
| Expression Language | `${...}` para evaluación inmediata; `#{...}` para evaluación diferida; ambos acceden a beans y variables de ámbito sin incrustar Java puro |
| Requisito de servidor | Requiere un contenedor de servlets compatible con Jakarta EE (Apache Tomcat, Eclipse Jetty, WildFly, etc.); no puede ser servido por un servidor HTTP simple |
| Modelo de compilación | El contenedor traduce automáticamente el `.jsp` a un archivo fuente de servlet Java, lo compila a bytecode `.class`, luego almacena en caché y reutiliza la clase compilada |
| Variante basada en XML | `.jspx` (JSP Document): dialecto XML estrictamente bien formado; las bibliotecas de etiquetas se referencian mediante espacios de nombres XML en lugar de `<%@ taglib %>` |
| Soporte de bibliotecas de etiquetas | JSTL (Jakarta Standard Tag Library) y bibliotecas de etiquetas personalizadas descritas por archivos descriptores `.tld` reducen la dependencia de los scriptlets |
| Empaquetado de despliegue | Agrupado dentro de un `.war` (Web Application Archive) junto con servlets, clases y recursos estáticos para su despliegue en un contenedor de servlets |
| Objetos de ámbito implícitos | Cuatro ámbitos integrados (page, request, session y application) exponen atributos accesibles a lo largo de su vida útil correspondiente |
| Variables implícitas | Nueve variables predefinidas disponibles sin declaración: `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Historia de gestión | Creado por Sun Microsystems (JSP 1.0, 1999); pasó a formar parte de Java EE; transferido a la Eclipse Foundation como Jakarta Server Pages bajo Jakarta EE en 2019 |
| Lanzado | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | jakarta.ee |
Conversiones de JSP
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos JSP.