AjLearning
AjLearning 0.1    





JavaServer Pages - Compilación de las páginas

Curso JavaServer Pages

    Anterior     Siguiente

Mencionamos en las anteriores lecciones que la página .jsp se compila. ¿Quién la compila? El Tomcat, es decir, todo contenedor web tiene la responsabilidad de compilar nuestras páginas .jsp a código Java clásico.

¿Cuándo sucede esa compilación? Cuando pedimos la página, y el contenedor web se da cuenta que cambió su contenido en el disco del servidor desde la última vez que la compiló. No la compila cuando grabamos la página, ni la compila cada vez que algún usario la pide: la compila cuando alguien la pide (nosotros u otro usuario) y ve que la versión que ya tiene en memoria es más vieja que la que tiene en el disco (es importante recordar que la clase compilada la carga en memoria el Tomcat, como cualquier otra aplicación Java que necesita usar una clase).

Podemos examinar el directorio del Tomcat. Ya vimos que tiene un directorio webapps y un directorio bin, y usamos el conf para configurar los usuarios. Ahora, notemos que hay un directorio work:



Dentro de ese directorio, tenemos Catalina/localhost y ahí, por cada aplicación hay un directorio. Tenemos uno que se llama igual que el nuestro original cursojsp. Finalmente, dentro de ese directorio, tenemos un paquete en org/apache/jsp. Ahí encontramos:



Por cada página que hasta ahora armamos y probamos, hay dos archivos, uno .java y otro compilado .class. Es hora de espiar qué es lo que genera el Tomcat.

Estos archivos los genera el Tomcat de tal forma, porque así está programado. Cada contenedor web lo puede hacer a su manera: pero debe compilar nuestras páginas. Podrá variar el código que genera, cómo lo genera, en qué lugar lo guarda, si es que lo guarda, pero de una u otra forma deberá cumplir con lo que pide la especificación de Sun sobre cómo debe funcionar internamenante una página .jsp. En la próxima lección, entonces, veremos qué pasó con nuestras páginas, en qué código de Java clásico han sido convertidas.


Programado por Angel J. Lopez www.ajlopez.com