Gu­a JSP - JDBC

download Gu­a JSP - JDBC

of 35

  • date post

    23-Jun-2015
  • Category

    Documents

  • view

    1.062
  • download

    2

Embed Size (px)

Transcript of Gu­a JSP - JDBC

PONTIFICIA UNIVERSIDAD CATLICA DEL PER Ingeniera de las Telecomunicaciones

LABORATORIO DE SOFTWARE PARA TELECOMUNICACIONES 2 INF228LABORATORIO NMERO:

2

SEMESTRE : 2009 - 1

TEMA:

INTRODUCCIN A JSP Y JDBC

OBJETIVOS:Poder desarrollar aplicaciones web usando JSPs. Conocer algunas caractersticas bsicas de JSPs Crear y Utilizar de forma bsica los JDBC. ACTIVIDADES A REALIZARNo. DESCRIPCIN 0 Prueba de Entrada 1 Introduccin Aplicaciones Web , Servlets, JSP y JDBC 2 Desarrollo de los ejercicios propuestos en la evaluacin del laboratorio. DURACIN PUNTAJE -

AdvertenciaEl desarrollo de las actividades contenidas en esta gua es de carcter estrictamente personal. Cualquier falta de probidad (plagio) que a criterio del Jefe de Prctica sea cometida, ser sancionada con la nota CERO no anulable para todos los involucrados, los cuales sern adems sancionados de acuerdo con el Reglamento Disciplinario de la PUCP.

ImportanteTodos los programas que figuran en la presente gua (y los archivos ledos y/o generados por stos) debern ser grabados en una carpeta especialmente creada para tales efectos, la cual ser referida a lo largo de la gua como su carpeta de trabajo.

INGENIERA DE LAS TELECOMUNICACIONES LABORATORIO DE SOFTWARE PARA TELECOMUNICACIONES 2 2009-1

1. Introduccin En nuestra experiencia de navegar en Internet nos hemos encontrado con las pginas Web el cual es un documento de la World Wide Web, normalmente en formato HTML que proviene del estndar SGML o XHTML que proviene del estndar XML. Algunas de estas pginas web son dinmicas ya que dependen de una aplicacin que vara su contenido por ejemplo las que uno observa al entrar a un webmail ya que su contenido vara automticamente dependiendo del usuario que se logue, etc; tambin tenemos las pginas web estticas aquellas cuyo contenido vara pero de forma manual. Toda pgina Web es distribuida por medio de un Servidor Web el cual podra ser Apache, el IIS (Internet Information Service), Tomcat, JBOSS, etc. El servidor Tomcat es un Servidor de Aplicaciones que cumple las especificaciones de servlets y jsp.

Estructura de Directorios de Tomcat 5.X

Pg. 2

INGENIERA DE LAS TELECOMUNICACIONES LABORATORIO DE SOFTWARE PARA TELECOMUNICACIONES 2 2009-1

2. Servlets

Un Servlet es una clase Java usada para extender la capacidad de las aplicaciones basadas en el modelo cliente servidor y ejecucin peticin respuesta. Los Servlets son una potente herramienta para la generacin de contenido dinmico en la Web. El Servlet Container es el componente encargado de la creacin, acceso y destruccin de los Servlets, controla su ciclo de vida.

2.1 Arquitectura de los Servlets El principal componente de la Servlet API es la interfaz Servlet. Todos los servlets implementan esta interfaz directamente, por medio de la extensin de la clase que la implementa, HttpServlet. Esta interfaz est provista de mtodos que manipulan a los servlets y la comunicacin con sus clientes. Cuando un servlet es llamado desde un cliente, este recibe dos objetos: ServletRequest y ServletResponse. La interfaz ServletRequest se encarga de la comunicacin desde el cliente al servidor, mientras que la interfaz ServletResponse atiende la comunicacin desde el servlet al cliente.

Las clases e interfaces descritas conforman a un servlet bsico. Pero existen mtodos adicionales que provee la API con la capacidad para controlar sesiones o mltiples conexiones, entre muchas ms aplicaciones.Pg. 3

INGENIERA DE LAS TELECOMUNICACIONES LABORATORIO DE SOFTWARE PARA TELECOMUNICACIONES 2 2009-1

3. JSP Un JSP, es una pgina dinmica de servidor Java. Este tipo de archivo de texto esta compuesto de: 1. Cabecera con importaciones y parmetros. 2. Cdigo cliente, normalmente HTML, XML y Javascript. 3. Cdigo servidor Java, denominado Scriptlet y escrito entre los caracteres . 4. Tags: instrucciones en formato XML, asociadas a clases Java. Un dato muy importante es que un JSP se transforma en un Servlet en tiempo de ejecucin esto se observa claramente en la siguiente grfica:

La primera vez que se realiza una peticin sobre un JSP el JSP Engine lo traduce en un Servlet, lo compila y lo procesa. En sucesivas peticiones simplemente se procesa a travs del Servlet Container. Esta puede estar conformada de las siguientes partes:

Cdigo esttico HTML Directivas JSP Scripts de elementos y variables JSP Actions JSP Tags Customizables

Pg. 4

INGENIERA DE LAS TELECOMUNICACIONES LABORATORIO DE SOFTWARE PARA TELECOMUNICACIONES 2 2009-1

3.1. Directivas JSP

3.1.1 Directiva page La directiva page nos permite definir uno o ms de los siguientes atributos sensibles a las maysculas:

import="package.class" import="package.class1,...,package.classN". Esto nos permite especificar los paquetes que deberan ser importados. Por ejemplo:

El atributo import es el nico que puede aparecer mltiples veces.

contentType="MIME-Type" contentType="MIME-Type; charset=Character-Set" esto especifica el tipo MIME de la salida. El valor por defecto es text/html. Por ejemplo, la directiva: tiene el mismo valor que el scriptlet isThreadSafe="true|false". Un valor de true (por defecto) indica un procesamiento del servlet normal, donde mltiples peticiones pueden procesarse simultneamente con un slo ejemplar del servlet, bajo la suposicin que del autor sincroniza las variables de ejemplar. Un valor de false indica que el servlet debera implementar SingleThreadModel, con peticiones enviadas serialmente o con peticiones simultneas siendo entregadas por ejemplares separados del servlet. session="true|false". Un valor de true (por defecto) indica que la variable predefinida session (del tipo HttpSession) debera unirse a la sesin existente si existe una, si no existe se debera crear una nueva sesin para unirla. Un valor de false indica que no se usarn sesiones, y los intentos de acceder a la variable session resultarn en errores en el momento en que la pgina JSP sea traducida a un servlet. buffer="sizekb|none". Esto especifica el tamao del buffer para el JspWriter out. El valor por defecto es especfico del servidor, debera ser de al menos 8kb. autoflush="true|false". Un valor de true (por defecto) indica que el buffer debera descargase cuando est lleno. Un valor de false, raramente utilizado, indica que se debe lanzar una excepcin cuando el buffer se sobrecargue. Un valor de false es ilegal cuando usamos buffer="none". extends="package.class". Esto indica la superclase del servlet que se va a generar. Debemos usarla con extrema precaucin, ya que el servidor podra utilizar una superclase personalizada. info="message". Define un string que puede usarse para ser recuperado mediante el mtodo getServletInfo. errorPage="url". Especifica una pgina JSP que se debera procesar si se lanzar cualquier Throwable pero no fuera capturado en la pgina actual.Pg. 5

INGENIERA DE LAS TELECOMUNICACIONES LABORATORIO DE SOFTWARE PARA TELECOMUNICACIONES 2 2009-1

isErrorPage="true|false". Indica si la pgina actual acta o no como pgina de error de otra pgina JSP. El valor por defecto es false. language="java". En algunos momentos, esto est pensado para especificar el lenguaje a utilizar. Por ahora, no debemos preocuparnos por l ya que java es tanto el valor por defecto como la nica opcin legal Ejemplo:

3.1.2 Directiva include JSP Esta directiva nos permite incluir ficheros en el momento en que la pgina JSP es traducida a un servlet. La directiva se parece a esto:

3.2 Scriptlets JSP Si queremos hacer algo ms complejo que insertar una simple expresin, los scriptlets JSP nos permiten insertar cdigo arbitrario dentro del mtodo servlet que ser construido al generar la pgina. Los Scriptlets tienen la siguiente forma: Ejemplo:

Pg. 6

INGENIERA DE LAS TELECOMUNICACIONES LABORATORIO DE SOFTWARE PARA TELECOMUNICACIONES 2 2009-1

3.3 Variables Predefinidas Para simplificar el cdigo en expresiones y scriplets JSP, tenemos ocho variables definidas automticamente, algunas veces llamadas objetos implcitos. Las variables disponibles son: request, response, out, session, application, config, pageContext y page. 3.3.1 request Este es el HttpServletRequest asociado con la peticin, y nos permite mirar los parmetros de la peticin (mediante getParameter), el tipo de peticin (GET, POST, HEAD, etc.), y las cabeceras HTTP entrantes (cookies, Referer, etc.). Estrictamente hablando, se permite que la peticin sea una subclase de ServletRequest distinta de HttpServletRequest, si el protocolo de la peticin es distinto del HTTP. Esto casi nunca se lleva a la prctica.T

3.3.2 response Este es el HttpServletResponse asociado con la respuesta al cliente. Observa que, como el stream de salida (ver out ms abajo) tiene un buffer, es legal seleccionar los cdigos de estado y cabeceras de respuesta, aunque no est permitido en los servlets normales una vez que la salida ha sido enviada al cliente. 3.3.3 out Este es el PrintWriter usado para enviar la salida al cliente. Sin embargo, para poder hacer til el objeto response (ver la seccin anterior), esta es una versin con buffer de PrintWriter llamada JspWriter. Observa que podemos ajustar el tamao del buffer, o incluso desactivar el buffer, usando el atributo buffer de la directiva page. Tambin observa que out se usa casi exclusivamente en scriptlets ya que las expresiones JSP obtienen un lugar en el stream de salida, y por eso raramente se refieren explcitamente a out. 3.3.4 session Este es el objeto HttpSession asociado con la peticin. Recuerda que las sesiones se crean automticamente, por ello esta variable se une incluso si no hubiera una sesin de referencia entrante. La nica excepcin es usar el atributo session de la directiva page para desactivar las sesiones, en cuyo caso los intentos de referenciar la variable session causarn un error en el mome