JSP Estructura

El servidor web necesita un motor JSP, es decir, un contenedor para procesar las páginas JSP. El contenedor se encarga de interceptar las solicitudes de las páginas JSP. Este tutorial utiliza Apache con un contenedor JSP incorporado para soportar el desarrollo JSP.

El contenedor JSP y el servidor web cooperan entre sí para proporcionar el entorno de ejecución necesario y otros servicios para el funcionamiento normal de JSP, y pueden reconocer correctamente los elementos especiales exclusivos de las páginas JSP.

La siguiente figura muestra la ubicación del contenedor JSP y los archivos JSP en la aplicación web.


Procesamiento de JSP

Los siguientes pasos muestran cómo el servidor web utiliza JSP para crear páginas web:

  • Al igual que con otras páginas web normales, su navegador envía una solicitud HTTP al servidor.

  • El servidor web reconoce que es una solicitud de una página JSP y transmite la solicitud al motor JSP. Esto se logra mediante el uso de la URL o del archivo .jsp.

  • El motor JSP carga los archivos JSP desde el disco y los convierte en Servlets. Esta conversión simplemente reemplaza todo el texto de la plantilla con sentencias println() y convierte todos los elementos JSP en código Java.

  • El motor JSP compila el Servlet en una clase ejecutable y pasa la solicitud original al motor de Servlets.

  • Un componente del servidor web invocará al motor de Servlets, que luego cargará y ejecutará la clase Servlet. Durante la ejecución, el Servlet genera una salida en formato HTML y la incrusta en la respuesta HTTP para entregarla al servidor web.

  • El servidor web devuelve la respuesta HTTP a su navegador en forma de página HTML estática.

  • Finalmente, el navegador web procesa la página HTML generada dinámicamente en la respuesta HTTP, como si estuviera procesando una página web estática.

Los pasos mencionados anteriormente se pueden representar con la siguiente figura:

En general, el motor JSP verifica si el Servlet correspondiente al archivo JSP ya existe y si la fecha de modificación del archivo JSP es anterior a la del Servlet. Si la fecha de modificación del archivo JSP es anterior a la del Servlet correspondiente, el contenedor puede determinar que el archivo JSP no ha sido modificado y que el Servlet es válido. Esto hace que todo el proceso sea más eficiente y rápido en comparación con otros lenguajes de script (como PHP).

En resumen, las páginas JSP son otra forma de escribir Servlets sin necesidad de ser un experto en programación Java. Excepto por la fase de interpretación, las páginas JSP pueden tratarse casi como un Servlet normal.

Otras extensiones