AjLearning
AjLearning 0.1    





JavaServer Pages - La clase compilada

Curso JavaServer Pages

    Anterior     Siguiente

Examinemos el código del archivo prueba3_jsp.java, generado automáticamente por el Tomcat. En su instalación, puede ser algo distinto al mío, pero los conceptos son los mismos.

Al comienzo, tengo:

package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; public final class prueba3_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent { ...
Esto declara una clase que se llama prueba3_jsp y extiende de una clase base que viene con el Tomcat. Más abajo en el código, encontramos un método público:

public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; PageContext _jspx_page_context = null; ...
Vemos que es del tipo void, no devuelve nada, es una rutina. Recibe dos parámetros, uno llamado request y otro llamado response. Resulta que estos dos parámetros nos los entrega el Tomcat. Cada vez que alguien invoca a nuestra página .jsp desde un navegador, el Tomcat toma el pedido, y lo deriva a este método _jspService de un objeto de esta clase que compiló automáticamente. El Tomcat preparar esos dos objetos como parámetros, y tendremos que estudiar qué es lo que nos deja ahí. Por ahora, aclaremos que en request viene información del pedido del cliente, por ejemplo, parámetros, cookies, otras informaciones, y que en el response tenemos métodos para manejar la salida que le enviemos al navegador cliente.

Notemos que al comienzo del método hay declarados algunas variables. Tanto los parámetros recibidos, como esas variables, las tendremos disponibles para usar en nuestras páginas. Son parte de la especificación de JSP: todo contenedor web compila nuestra página y nos deja esas variables disponibles.


Programado por Angel J. Lopez www.ajlopez.com