JavaServer Pages (JSP) es una tecnología de programación del lado del servidor que permite la creación de aplicaciones y páginas web dinámicas. Esto se logra incrustando código Java en HTML, XML, DHTML u otros tipos de documentos. Cuando un cliente, como un navegador web, realiza una solicitud al contenedor de aplicaciones Java, que normalmente es un servidor web, la página estática se convierte en segundo plano y se muestra como contenido dinámico al espectador. Se ha especulado que JSP se lanzó para competir con PHP, un lenguaje de programación de código abierto de uso común.
Si bien JSP a veces se asocia con páginas Active Server (ASP), en realidad se trata de dos tecnologías diferentes. La mayor diferencia es que ASP está desarrollado por Microsoft® y se considera en gran medida como un marco. Esto se debe a su capacidad para admitir una amplia variedad de lenguajes de programación habilitados por el Modelo de objetos componentes (COM) de Microsoft®. Creado por Sun Microsystems®, JSP se considera un lenguaje de programación orientado a objetos.
La tecnología JavaServer Pages permite insertar código Java y seleccionar acciones predefinidas en el contenido de la página web estática. Este código se compila en tiempo de ejecución para cada solicitud realizada a la página. El servidor, el código Java y / o cualquier programación personalizada que se haya implementado, está controlado por una aplicación de software preinstalada conocida como máquina virtual (VM). Esta máquina virtual se integra con un sistema operativo host. La máquina virtual más común que se utiliza para ejecutar aplicaciones JSP es Java Virtual Machine ™ (JVM).
Desde un aspecto técnico, JSP puede verse como una abstracción de alto nivel de los servlets de Java, porque esencialmente se ejecutan sobre ellos. Las páginas de JavaServer generalmente son compiladas por un compilador de Java. Este compilador genera servlets en forma de código Java o código de bytes que se puede ejecutar directamente. Dado que pueden interpretarse tan pronto como se realizan las solicitudes, el tiempo que lleva convertir una página estática en contenido dinámico a menudo se reduce considerablemente.
Muchos programadores prefieren JSP porque simplifica el desarrollo al permitir la inserción de código Java directamente en archivos de texto estándar. También es un lenguaje portátil, multiplataforma e independiente que se ajusta al lema de Java de «escribir una vez, ejecutar en cualquier lugar». Con la capacidad de separar el contenido de la base de la página, el lenguaje permite a los programadores crear un nuevo código independiente del trabajo existente. JSP se considera en gran medida una tecnología robusta y eficiente para los aspectos de programación del lado del servidor y del cliente.