Curso de JSP Basico

August 13, 2018 | Author: Cedric Simon | Category: Java Platform, Java Server Pages, Web Server, Java (Programming Language), Web Browser
Share Embed Donate


Short Description

Descripción: Aprende a crear aplicaciones web con Java (JSP). Escrito en español. Para Tomcat 7 y arriba. PDF actuali...

Description

Curso de  Java Server Pages Nivel básico Manual del alumno



 ©Copyright

C édric Simon, 2005-2011

Versi ón 2.3

I   n  g  .  C   e  d  r  i    c   S  i   m  on – T   el     :  2  2   6   8   0   9   7  4  –  C   el     :   8   8   8   8  2   3   8   7  – E m  a i   l     :   c   e  d  r  i    c   @  s   o l     u  c   oi   n  j     a  v  a  .  c   o m –  W  e  b   :   w  w  w  .  s   ol     u  c   oi   n  j     a  v  a  .  c   om

 S   o l     u  c i     o n  J   a  v  a  .  c  o m

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 2 / 46

Índice  Índice..............................................................................................................................................................................................................2 1Introducción al curso...................................................................................................................................................................................5 1.1Objetivo de este curso..........................................................................................................................................................................5 1.2Manual del alumno............ alumno....................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... ..................... ..................... .................... ..................... .....................................5 ..........................5 1.3Ejercicios 1.3Ejercicios prácticos............... prácticos......................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ...................................5 ........................5 1.4Requisitos 1.4Requisitos para atender a este curso................. curso............................ ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... .........................5 ..............5 1.5Soporte después del curso....................................................................................................................................................................5

  2Introducción al JSP.....................................................................................................................................................................................6 2.1¿Que es el JSP?.....................................................................................................................................................................................6 2.2¿Por qué utilizaríamos utilizaríamos el JSP?................ JSP?........................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ...................................6 ........................6 2.3Navegadores

 

3Arquitectura

web..................................................................................................................................................................................6

J2EE.......................................................................................................................................................................................7 

3.1Introducción a la Tecnología y Conceptos J2EE...............................................................................................................................7 3.2Componentes

J2EE..............................................................................................................................................................................7

3.3La Arquitectura Arquitectura Java Naming Directory Interface (JNDI)................. (JNDI)........................... .................... ..................... ..................... ..................... ..................... .................... ..............................8 ....................8 3.3.1Ejemplo de JNDI.............................................................................................................................................................................8

  4El protocolo HTTP.......................................................................................................................................................................................9 4.1Modelo de consulta / respuesta HTTP.............. HTTP......................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ...................................9 .........................9 4.2Detalles de una consulta............. consulta....................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... .......................................9 ............................9 4.3Detalles de respuesta..........................................................................................................................................................................10 4.4Parámetros 4.4Parámetros de consulta............ consulta...................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... .......................................11 ............................11 4.5Métodos de consulta...........................................................................................................................................................................11

5Instalación del servidor JSP......................................................................................................................................................................13 5.1Jakarta Tomcat............... Tomcat.......................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ......................................13 ...........................13 5.2Instalación...........................................................................................................................................................................................13 5.3Configuración de Eclipse...................................................................................................................................................................13 5.4Verificación 5.4Verificación de la instalación........... instalación..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ...............................14 ....................14

6Uso de herramienta y entorno................. entorno............................ ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ...............................15 .....................15 6.1Eclipse........... 6.1Eclipse..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... .....................................15 ..........................15 6.1.1Creación 6.1.1Creación del servidor............... servidor.......................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... ..................................15 ........................15 6.1.2Creación de un nuevo proyecto web..............................................................................................................................................16 6.1.3Creación de la página de índice.............. índice......................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ...............................17 ....................17

7Utilización de los scriptlets............. scriptlets....................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..............................20 ....................20 7.1¿Qué son los scriptlets?......................................................................................................................................................................20 7.2Los scriptlet de declaración de variables............. variables........................ ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..............................20 ....................20 7.3Los scriptlet de utilización de variables...........................................................................................................................................20 7.4Los scriptlets de código......................................................................................................................................................................20

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

7.5Agregar

Pagina 3 / 46

comentarios..........................................................................................................................................................................21

8Utilización de directivas.............................................................................................................................................................................22 8.1Directiva de página.............. página......................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... .................................22 .......................22 8.1.1Lista de parámetros para directiva de Página................................................................................................................................22 8.2Directiva de inclusión.........................................................................................................................................................................23 8.3Directiva

taglib...................................................................................................................................................................................23

9Utilización de variables de sesión..............................................................................................................................................................24 9.1Declaración de variable de sesión............... sesión.......................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..............................24 ...................24 9.2Recuperar 9.2Recuperar el valor de un variable de sesión................ sesión.......................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... .................................24 .......................24 9.3Invalidar una sesión...........................................................................................................................................................................24 9.4Otros

10Objetos

métodos.....................................................................................................................................................................................24

implícitos.....................................................................................................................................................................................25

10.1request...............................................................................................................................................................................................25 10.2response.............................................................................................................................................................................................25 10.3session................................................................................................................................................................................................25 10.4application.........................................................................................................................................................................................25 10.5out......................................................................................................................................................................................................25 10.6exception.......... 10.6exception.................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..........................................25 ................................25

11Los

formularios........................................................................................................................................................................................26

11.1Creación del formulario............. formulario....................... ..................... ..................... .................... ..................... ..................... ..................... ..................... ..................... ..................... .................... ..................... ...................................26 ........................26 11.2Tratamiento 11.2Tratamiento del formulario.............. formulario........................ ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ......................................26 ............................26

12Elementos de acciones estándar.................. estándar............................. ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .........................29 ...............29 12.1.................................................................................................................................................................................29

12.2..................................................................................................................................................................................29

12.3...... 12.3................ ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... ..................... ........................................29 .............................29 12.4......................................................................................................................................................................................29 12.5....................................................................................................................................................................................30 12.6...................................................................................................................................................................................30 12.7.... 12.7.............. ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... .......................................30 .............................30 12.8.. 12.8............. ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... ..................................30 ........................30 12.9.............................................................................................................................................................................30

13Gestión de errores............... errores......................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..............................31 ...................31 13.1Errores de compilación....................................................................................................................................................................31 13.2Errores de lógica................ lógica........................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... .................................31 .......................31 13.3Errores de ejecución............ ejecución...................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..........................................31 ...............................31 13.3.1Página de error personalizada.............. personalizada......................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ...............................31 ....................31

14Utilización de JavaBean................. JavaBean........................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ............................33 ..................33 14.1¿Qué es un JavaBean?............... JavaBean?......................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ....................................33 .........................33 14.2Declaración de un JavaBean............... JavaBean.......................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ....................................33 .........................33 14.2.1.............................................................................................................................................................................33

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 4 / 46

14.2.2........................................................................................................................................................................34 14.2.3...... 14.2.3................. ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... .....................................35 ...........................35

14.3Scope de un JavaBean......................................................................................................................................................................35

15Utilización de servlets................ servlets........................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... .................................36 ......................36 15.1¿Qué es un servlet?............... servlet?.......................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ........................................36 ..............................36 15.2¿Para que sirve un servlet?............... servlet?.......................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ......................................36 ...........................36 15.3Anatomía de un servlet....................................................................................................................................................................36 15.4Ciclo de vida de un servlet...............................................................................................................................................................37 15.5Creación de un servlet simple............... simple......................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... ..................................37 ........................37 15.6Uso de servlet para mostrar imágenes o archivos binarios.............. binarios......................... ..................... .................... ..................... ..................... ..................... ..................... .............................38 ...................38

16El modelo MVC........................................................................................................................................................................................43 16.1¿Qué es el modelo MVC?................ MVC?.......................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ..................... ..................... ........................................43 .............................43 16.2MVC con JSP y JavaBeans............... JavaBeans.......................... ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ......................................43 ...........................43 16.3MVC con JSP, JavaBeans y servlet................................................................................................................................................43 16.4MVC con JSP, servlet, JavaBeans y EJB......................... EJB........... ............................ ............................ ............................ ............................ ............................. ............................. ............................ ........................4 ..........44 4

17Ejercicios..................................................................................................................................................................................................45 18 Esquema de la base de datos.................. datos............................. ..................... .................... ..................... ..................... ..................... ..................... .................... ..................... ..................... ..................... ........................................46 .............................46

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 5 / 46

1 Introducción al curso 1.1 Objetivo de este curso En este curso vamos a aprender el lenguaje JSP que nos permitir á crear páginas web dinámicas.

1.2 Manual del alumno Este manual del alumno es una ayuda para el alumno, para tenga un recuerdo del curso. Este manual contiene un resumen de las materias que se van a estudiar durante el curso, pero el alumno deber ía de tomar notas personales personales para completas este manual.

1.3 Ejercicios prácticos Para captar mejor la teor ía, se har án muchos ejercicios con los alumnos, para probar la teor ía y verificar la integración de la materia. También, el alumno podrá copiar sus códigos en un disquete al fin del curso para llevarse, con fin de seguir la pr áctica en su hogar.

1.4 Requisitos para atender a este curso Una iniciación al lenguaje Java es requerida para seguir este curso. La creaci ón y el manejo de objetos Java est á considerada cómo asimilado antes de empezar este curso. El conocimiento del lenguaje HTML y JavaScript son tambi én requeridos para poder atender a este curso. Si el alumno tiene dificultades en un u otro capitulo, el debe sentirse libre de pedir explicaciones adicionales al profesor. Pero si aparece que el alumno no posee los requisitos m ínimos para este curso, por respeto a los otros alumnos que ya poseen esta materia, el alumno podr ía ser traslado para otro curso en el futuro, cuando el cumplir á con los requisitos.

1.5 Soporte despu és del curso Si tienes preguntas sobre la materia del curso en tus ejercicios pr ácticos, puedes escribir tus preguntas a [email protected]. Para informaciones sobre otros cursos, visita el sitio web www.solucionjava.com.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 6 / 46

2 Introducción al JSP  2.1 ¿Que es el JSP? El JSP es una extensión del lenguaje de programaci ón Java, utilizado para crear p áginas web dinámicas. El JSP necesita que un servidor web con capacidad JSP sea instalado y funcionando para poder ejecutar las p áginas JSP. El servidor va a compilar el código JSP y tratarlo en tiempo real, con la informaci ón viniendo del cliente web, para regresarle una pagina web adaptada, en tiempo real. El servidor tiene tambi én capacidad de seguir el camino de un usuario, as í cómo de identificarlo.

 2.2 ¿Por qu é utilizaríamos el JSP? El JSP se necesita cuando la pagina web tiene que adaptarse en funci ón del usuario, y cuando se necesita guardar valores de sesión del usuario. Existen otros lenguaje que permiten eso, como el ASP o el PHP, pero el JSP tiene como aventaje que esta basado en el lenguaje Java, y le tiene la herencia de su poder y de su portabilidad. Los servidores JSP existen para varios sistemas operativos, entre otros Windows, Linux, y Unix. El JSP está también utilizado en paquetes empresariales muy grande como el servidor de IBM Websphere, o el servidor de aplicaci ón de Oracle. El JSP es un estándar de programaci ón Internet.

  2.3 Navegadores web Si los navegadores prueban todos de poder aplicar al m áximo las recomendaciones del HTML 4.0 existen ciertas opciones, a dentro o afuera del HML estándar que sólo ciertos navegadores soportan. Tambi én, un mismo código no aparecerá siempre igual en un navegador e en otro. El JSP no está ligado directamente con los navegadores, pero el HTML que generaran si. As í que un código generado podría funcionar bien en un navegador, y dar un resultado diferente en otro. Veremos diferente ejemplos en este curso. En este curso, utilizaremos dos navegadores diferentes: el Internet Explorer de Microsoft, y el Firefox de Mozilla.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 7 / 46

3 Arquitectura J2EE   3.1 Introducción a la Tecnología y Conceptos J2EE Java 2 Enterprise Edition (J2EE) es una arquitectura multicapa para implementar aplicaciones de tipo empresarial y aplicaciones basadas en la Web. Esta tecnología soporta una gran variedad de tipos de aplicaciones desde aplicaciones Web de gran escala a peque ñas aplicaciones cliente-servidor. El objetivo principal de la tecnolog ía J2EE es crear un simple modelo de desarrollo para aplicaciones empresariales utilizando componentes basados en el modelo de aplicación. En este modelo dichos componentes utilizan servicios proporcionados por el contenedor, que de otro modo tendrían que estar incorporados en el código de la aplicaci ón. Observa que esto podr ía no ser lo ideal para todos los escenarios: por ejemplo, una peque ña aplicación se cubriría mejor utilizando una solución de la tecnología Java de peso ligero (por ejemplo Servlets, JSPs, etc.).

  3.2 Componentes J2EE Las aplicaciones J2EE están compuestas de diferentes componentes. Un componente J2EE es una unidad de software funcional auto-contenido que se ensambla dentro de una aplicación J2EE con sus clases de ayuda y ficheros y que se comunica con otros componentes de la aplicaci ón. La especificiaci ón J2EE define los siguientes componentes J2EE: 1. Las Aplicaciones Clientes y los Applets los Applets son componentes que se ejecutan en el lado del cliente. 2. Los compon component entes es Java Servlet la tecnología JavaServer Pages son componentes Web que se ejecutan en el lado del servidor. 3. Los Enterprise JavaBeans (beans enterprise) son componentes de negocio que se ejecutan en el servidor de aplicacion.

Todos esos componentes se ensamblan en una aplicaci ón J2EE, se verifica que están bien formados y que cumplen la especificación J2EE, y se despliegan en el entorno de producción, donde se ejecutan y son controlados por el servidor de aplicaciones J2EE.  Además de estos componentes principales, J2EE incluye servicios estándar y tecnolog ías de soporte como: Java Database Connectivity (JDBC) tecnolog ía que proporciona acceso a sistemas de bases de datos relacionales. Java Transaction API (JTA) o Java Transaction Service (JTS) proporciona soporte para transaciones a los componentes J2EE. Java Messaging Service (JMS) para comunicación asíncrona entre componentes J2EE. Java Naming y Directory Interface (JNDI) proporcionan accesos a nombres y directorios. •



• •

Nota: Todos los componentes J2EE est án escritos en lenguaje Java

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 8 / 46

 3.3 La Arquitectura Java Naming Directory Interface (JNDI) J2EE utiliza el API JNDI para acceder gen éricamente a servicios de nombrado y directorio utilizando la tecnolog ía Java. El API JNDI reside entre la aplicaci ón y el servicio de nombres y hace que el servicio de nombres subyacente sea transparente para los componentes de la aplicaci ón:

Un cliente puede buscar referencias a componentes EJB u otros recursos en un servicio de nombres como el mencionado arriba. El código del cliente no se modifica, sin importar el servicio de nombres que se est é utilizando o en qué tecnología esté basado, y esto no crea ninguna diferenc ía en el modo en que los clientes localizan los objetos remotos mediante el API JNDI. Para que una aplicación pueda interactuar con un servicio de nombre, este debe conocer las propiedades del servicio JNDI al cual el quiere conectarse. conectarse. Estas propiedades son entre otras el tipo de servicio JNDI (facory), el domicilio IP y el Puerto del servicio. 3.3.1

Ejemplo de JNDI

... DataSource ds=null; InitialContext ctx = new InitialContext(); ds = (DataSource) ctx.lookup("java:comp/env/jdbc/"+datasourceName); con = ds.getConnection(); ...

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 9 / 46

4 El protocolo HTTP El protocolo HTTP (HyperText Transport Protocol) es un protocolo que define en detalle c ómo un cliente y un servidor deben comunicar entre ellos. El modelo de comunicaci ón HTTP es a la base del web. El protocolo se aplica a cualquier servidor y cliente web. Vamos a examinar los detalles m ás importante del protocolo HTTP.

  4.1 Modelo de consulta / respuesta HTTP El HTTP y los protocolos extendidos basados sobre el utilizan un modelo de comunicaci ón simple, pero poderoso. De manera típica, un cliente envía una consulta para un recurso a un servidor, y el servidor contesta una respuesta que corresponde al recurso preguntado (o contesta con un mensaje de error). El recurso puede ser una p ágina HTML, o una aplicación que contesta con un contenido dinámico.

Este modelo simple implica tres cosas que Usted tiene que ser conciente: 1. El protocolo HTTP es un protocolo sin estado. Es decir que el servidor no no guarda ningún información acerca del cliente depuse de haberle contestado, y por eso no puede reconocer que varias consultas de un mismo cliente pueden ser relacionadas. 2. La aplic aplicac aciión web no puede entregar una respuesta inmediato, como en aplicaciones locales. La velocidad depende del ancho de banda disponible y de la carga del servidor. 3. No hay nada en el el protocolo que que indica al servidor como la consulta le ha llegado, así que el servidor no puede distinguir diferente métodos de consulta. Por ejemplo, en servidor no puede distinguir una consulta generada por un clic en un enlace del uso del bot ón 'atrás' del navegador. Tambi én, como el HTTP es sin estado, no se puede a dentro del HTTP llamar a la página anterior.

  4.2 Detalles de una consulta Existen dos métodos de consulta: GET y POST. GET es la m ás utilizada, y la que se uso por defecto. Ejemplo de una consulta: GET /index.html HTTP/1.0 Host: www.gefionsoftware.com User-Agent : Mozilla/4.5 [en] (WinNT; I) Accept: image/gif, image/jpeg, image/pjpeg, image/png, */* Accept-language : en Accept-charset : iso-8859-1,*,utf-8

La primera línea especifica que se usa el m étodo GET y se pregunta para regresar el recurso /index.html utilizando el protocolo HTTP/1.0. Las otras l íneas proveen títulos con informaci ón adicional al servidor para cumplir con la consulta.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 10 / 46

El título HOST dice al servidor el nombre (hostname) utilizado en el URL. Un servidor puede tener varios nombres, y este informaci ón permite distinguir múltiple servidores virtuales utilizando un mismo proceso web. El título User-Agent contiene informaci ón sobre el tipo de navegador utilizado para hacer la consulta. El servidor puede utilizar este información para generar respuestas diferentes dependiendo del navegador (IE, Netscape, WAP, PDA,...). Los títulos Accept proveen informaci ón sobre el idioma y el formato de archivo que el navegador acepta.

  4.3 Detalles de respuesta El mensaje de la respuesta parece al de la consulta. El contiene tres partes: una l ínea de estado, unos t ítulos de respuesta, y el cuerpo de la respuesta. Ejemplo de respuesta: HTTP/1.0 200 OK Last-Modified: Mon, 19 Dec 2004 20:21:42 GMT Date: Tue, 12 Jul 2005 13:12:10 GMT Status: 200 Content-Type: text/html Servlet-Engine: Tomcat Web Server/3.2 Content-Length: 59 Hello World!

La línea de estado empieza con el nombre del protocolo, seguido por el c ódigo de resultado y una breva descripci ón del código de resultado. Aquí el código de resultado es 200, que significa que sali ó con éxito. El mensaje de respuesta tiene títulos, como el de consulta. En este ejemplo: El título Last-Modified da la fecha y hora de cuando el recurso fue modificado por última vez. El cliente puede utilizar esta informaci ón para marcar la p ágina el su caché, y pedir en el futuro solamente las que fueron modificadas. El título Content-Type dice al navegador que tipo de datos contiene el cuerpo de la respuesta. El título Content-Length dice al navegador el tama ño del cuerpo de la respuesta. Una línea vacía separa los títulos del cuerpo de la respuesta. El cuerpo de la respuesta contiene el c ódigo que será enseñado en el navegador. Aquí una simple página HTML. El cuerpo puede contener páginas HTML más complicadas, u otro tipo de contenido (imagen, sonido, archivo comprimido,...). El cuerpo puede también contener código que va generar otras consultas al servidor, como la inserción de una imagen.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 11 / 46

 Interacción entre un cliente y un servidor web

  4.4 Parámetros de consulta Se pueden pasar par ámetros de consulta a dentro del URL. Por eso, después del nombre de la p ágina, hay que mencionar un punto de pregunta '?' y uno a varios par ámetros deparados por '&', con el nombre del par ámetro, el signo '=', y el valor del par ámetro.  Veremos ejemplos utilizando los formularios.

 étodos de consulta  4.5 M   Ya hemos visto el uso del método GET. Tambi én existe el método POST. La diferencia entre los dos es que el m étodo GET pasa los parámetros a dentro del URL, así que se puede guardar f ácilmente en su lista de marcadores. Tambi én, en navegador sabe que este m étodo no puede dañar el servidor, as í acepta de someter la consulta nuevamente (refresca) sin alerta. El método POST, en vez de pasar los par ámetros en el URL, les pasa a dentro del cuerpo de la consulta. Eso permite enviar consulta de tama ño más grande que 2000 caracteres, y sin que los par ámetros aparecen en el URL. Como los parámetros están guardados a dentro del cuerpo de la consulta, la consulta no puede ser guardada tan f ácilmente en los marcadores, porque adem ás del URL, deberá guardar el cuerpo de la consulta. También, cuando se proba de enviar de nuevo una encuesto POST (refresh) el navegador genera una alerto porque este acción puede generar acciones posiblemente irreversible al nivel del servidor.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 12 / 46

Ejemplo de formulario: Cuidad: Pais:

Ejemplo de consulta POST generada por el formulario arriba: POST / prueba.jsp HTTP/1.0 Host: www.businesssoft.com.ni User-Agent : Mozilla/4.5 [en] (WinNT; I) Accept: image/gif, image/jpeg, image/pjpeg, image/png, */* Accept-language : en Accept-charset : iso-8859-1,*,utf-8 cuidad=Managua&pais=Nicaragua

Ejemplo de Socket que se conecta conecta al servidor Web local (Tomcat), le envía una consulta HTTP y recibe la página HTML. LeerWeb.java: import java.io.*; import java.net.*; public class LeerWeb { public LeerWeb() throws Exception { Socket s = new Socket("127.0.0.1", 8080); OutputStream os = s.getOutputStream(); PrintStream ps = new PrintStream(os); ps.print("GET / HTTP/1.0\r\n\r\n"); InputStream is = s.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line = br.readLine(); while (line!=null){ System.out.println(line); line=br.readLine(); } } public static void main(String[] args) throws Exception { LeerWeb test = new LeerWeb(); } }

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 13 / 46

5 Instalación del servidor JSP 5.1 Jakarta Tomcat Para poder poner en práctica el lenguaje JSP, necesitamos un servidor con capacidad JSP. Por eso, vamos a utilizar el famoso servidor Tomcat, de la fundaci ón Apache. El Tomcat hace parte del proyecto Jakarta de la fundaci ón Apache. El servidor Tomcat es un producto gratuito y libre: su c ódigo fuente est á disponible, al lado de las versiones compiladas. Tomcat está disponible para varios sistemas operativos, y est á muy utilizado bajo Unix y Linux, por sus estabilidad.

5.2 Instalación  Antes de instalar el servidor Tomcat (versi ón 7.0), el Java JRE versi ón 1.6 o arriba tiene que ser instalado en el servidor. Para instalar Tomcat, en Windows existe un instalador, y en Linux basta con descomprimir el archivo zip o gz en una carpeta local (como su carpera /home/usuario). Es importante de leer las notas de instalaci ón para ver si no hay informaciones importante para nuestra configuración.

5.3 Configuración de Eclipse Se requiere crear un servidor en Eclipse para poder manejar Tomcat desde Eclipse. Escoge la perspectiva Java EE, vista de servidores, y crear un nuevo servidor.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 14 / 46

5.4 Verificación de la instalaci ón Para verificar si la instalación es exitosa, inicia el servidor desde Eclipse Luego abrimos un navegador web y vamos al domicilio: http://localhost:8080 Por defecto, el servidor de Tomcat utiliza el puerto 8080, para no chocar con un eventual servidor Apache (puerto 80).  Ahí tenemos que encontrar la p ágina por defecto de Tomcat, o una p ágina de error de Tomcat.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 15 / 46

6 Uso de herramienta y entorno 6.1 Eclipse Para diseñar las páginas JSP, vamos a utilizar la herramienta Eclipse Ganymede, en su veris ón J2EE o Reporting. Estos programas son libres y gratuitos, y funcionan bajo Windows como bajos Linux. 6.1.1

Creaci ón del servidor

Eclipse integra la posibilidad de manejar una multitud de servidores web diferente desde Eclipse. Eso permita el nuevo despliegue, de manera autom ática, del sitio después de cada cambia. Y tambi én permite visualizar la consola del servidor en Eclipse, para una depuración más comoda. Para crear un servidor, presiona CTRL + N. Escoja 'Servidor' en la lista. Luego escoje el tipo 'Tomcat 7'.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

6.1.2

Pagina 16 / 46

Creación de un nuevo proyecto web

Para crear nuestra primera p ágina JSP, necesitamos crear un nuevo sitio web en Tomcat. Por eso, en Eclipse, creamos un nuevo proyecto de tipo 'Dynamic Web Project', que llamamos ‘curso’. Escojamos como 'Target Runtime' el servidor que hemos creado en el punto anterior. Como versi ón de modulo escojamos 3.0, y como configuraci ón ''. Luego aceptamos los valores por defecto. defecto.

Una vez creado, validamos las propiedades del proyecto, y agregamos el proyecto al servidor Tomcat 7.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 17 / 46

Para agregar el proyecto proyecto al servidor, hacer doble clic sobre el servidor en la pantalla abajo a la derecha, escoja la pestaña 'Module' y agrega el proyecto 'curso'.

6.1.3

Creación de la pá gina de índice

Para poder probar el servidor, vamos a crear nuestra primera p ágina JSP. Por eso, hacemos un clic derecho sobre la carpeta WebContent del proyecto curso, en Eclipse, y elegimos ‘new’...’JSP'.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 18 / 46

Una vez elegido, mencionamos el nombre de la p ágina, que ser á index.jsp. Todas la p áginas con extensi ón JSP (.jsp en minuscula) serán traducidas por el servidor en un servlet (c ódigo Java) y producir án una página HTML como salida.

Para probar si la p ágina funciona, tenemos que llenarla con alg ún código JSP y/o HTML. Con un doble clic sobre index.jsp abrimos su contenido. Miramos que ya viene con alg ún código pre-hecho.  Vamos a modificar el código de la manera siguiente, y lo guardamos: Este es mi página en JSP numero .

En el futuro, no escribiré en el manual los encabezados generados por el entorno, como no son obligatorio para que funciona bien el c ódigo.



porque

Iniciamos el servidor.

Luego miramos el resultado con un navegador web en el domicilio: http://localhost::8080/curso/  http://localhost::8080/curso/ o o http://localhost:8080/curso/index.jsp Por defecto, si ninguna página esta especificada en el URL, el servidor busca primero la p ágina index.html, luego index.htm, y luego index.jsp. Este opci ón puede ser modificada al nivel del servidor, y/o al nivel del sitio, en el archivo web.xml.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 19 / 46

 Así podemos ver que en la barra de aplicaci ón como en la primera l ínea de la página sale en valor de la variable 'titulo'.

 ©

Copyright C édric Simon, 2005-2011

Versi ón 2.3

Reproducci ón prohibida

Curso de Java Server Pages – Nivel b ásico

Pagina 20 / 46

7 Utilización de los scriptlets 7.1 ¿Qu é son los scriptlets? Los scriptlets son las etiquetas que permiten de delimitar el c ódigo JSP, que tiene que ser analizado por el servidor JSP, del código HTML, que tiene que ser enviado al cliente como tal. As í el servidor JSP combina el código HTML con el resultado del código JSP para obtener la página HTML que será regresada al cliente y le ída por el navegador del cliente. El JSP es la parte de la programaci ón que se ejecuta al nivel del servidor, en contra del lado del cliente.

JavaScript ,

que se ejecuta al

7.2 Los scriptlet de declaración de variables El scriptlet de declaración de variable sirven para declarar variable que ser án accesible de desde cualquier lugar de la página JSP. Son equivalente a variable de clase. Los scriptlets se utilizan generalmente a dentro de la cabecera, o en el cuerpo de la p ágina HTML, antes de los scriptlets de código. El scriptlet de declaración está encerrada entre '
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF