Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Lenguajes orientados a objeto > Java > J2EE > Crear tu Primera Aplicación Web Real con Tomcat 4 y MySQL
-Tutoriales

Crear tu Primera Aplicación Web Real con Tomcat 4 y MySQL


Las Páginas JSP

La aplicación Libreria tiene siete páginas JSP. Cada una representa una página Web que realiza una operación independiente sobre la base de datos. El estado de la base de datos en cada página es independiente de su estado en la página anterior. Si la base de datos cambia debido a una solicitud de otro usuario, la página Web lo detectará y reaccionará de la forma apropiada. Por ejemplo, si estamos modificando un libro y otro usuario borra ese libro antes de que confirmemos la solicitud de modificación, la JSP nos notificará el fallo al intentar modificar un libro que ahora no existe.

. La página Index.jsp

Es la página principal de la aplicación web Libreria, y es la primera página que se muestra a un usuario cuando entra en la aplicación Web. Muestra una tabla con todos los libros que hay en la tabla Libros de la base de datos. Cada fila de la tabla muestra un libro individual, y enlaces para borrar o modificar es libro. La parte inferior de la página tiene un enlace para poder añadir nuevos libros.

  • El enlace Añadir un Nuevo Libro pasa el control a la página Form_Insertar.jsp.
  • El enlace Borrar pasa el control a la página Form_Borrar.jsp con el id del libro a borrar.
  • El enlace Modificar pasa el control a la página Form_Modificar.jsp con el id del libro a modificar.

. Propósito de la Página Index.jsp

El propósito de Index.jsp es producir una página Web con una tabla que muestre el contenido de la tabla Libros de la base de datos, con enlaces para añadir nuevos libros a la base de datos [Form_Insertar.jsp]; borrar libros específicos de la base de datos [Form_Borrar.jsp]; y modificar libros específicos en la base de datos [Form_Modificar.jsp].

La siguiente figura muestra un ejemplo de la página principal de la aplicación Libreria:

. Aspecto de la Página

Este código HTML dibuja el aspecto de la página con un enlace a Form_Insertar.jsp en la parte inferior de la página

<%@ page language="java" import="java.util.*, libreria.*" %>

<html>
    <head>
        <title>Página Principal de mi Librería</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Página Principal de mi Librería</center></h1>
  
        --- Aquí va el código que muestra la tabla con los datos

        <hr>
        <center>
            <destacar><a href="Form_Insertar.jsp">Añadir un Nuevo Libro</a></destacar>
       </center>
    </body>
</html>

. Mostrar la Tabla

Este código HTML muestra la tabla y sus cabeceras:

        <table align="center" cellpadding="2" cellspacing="2" border="1" 
          width="80%" bgcolor="#dddddd">
            <tr>
                <th>Autor</th>
                <th>Titulo</th>
                <th>Ubicacion</th>
                <th>Accion</th>
                <th>ID</th>
            </tr>

        -- Aquí va el código que muestra los datos 

    </table>

. Bucle por Todas las Filas de la Tabla

Este código Java recupera el ejemplar libreria.LibrosBD almacenado en el atributo BaseDatos de la aplicación Web por libreria.ContextListener:

            LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos");

Luego se recupera un objeto Collection con el contenido de la base de datos:

            Collection libros = librosBD.getLibros();

Si el objeto Collection no es nulo, y contiene algún libro [es decir, su tamaño es mayor que cero], se procesa el objeto Collection recuperando uno por uno todos sus libros:

            if (libros != null) {
                if (libros.size () > 0) {
                    for (Iterator iterator = libros.iterator(); iterator.hasNext(); ) {

                ... aquí va el código que muestra los datos de una fila...

            }
        }
    }

. Mostrar un Libro en un Fila de la Tabla

Este código HTML mezclado con código Java muestra un libro en una fila de la tabla. El código Java simplemente recupera campos individuales desde el libro:libro.getAutor() devuelve el nombre del autor del libro; libro.getTitulo () devuelve el título del libro; libro.getUbicacion () devuelve la ubicación del libro en nuestras estanterías; y libro.getId () devuelve el id. En la primera columna de la tabla va el nombre del autor; en la segunda columna va el título; en la tercera columna va la ubicación, en la cuarta columna un enlace a Form_Borrar.jsp, la palabra "o" y un enlace a Form_Modificar.jsp; y en la columna final va el id:

                        <tr>
                            <td>
                                <%= libro.getAutor () %>
                            </td>
                            <td>
                                <%= libro.getTitulo () %>
                            </td>
                            <td>
                                <%= libro.getUbicacion () %>
                            </td>
                            <td align="center">
                                <destacar><a href="Form_Borrar.jsp?id=<%= libro.getId () %>">
                                                  Borrar</a></destacar>
                                o
                                <destacar><a href="Form_Modificar.jsp?id=<%= libro.getId () %>">
                                                 Modificar</a></destacar>
                            </td>
                            <td align="center">
                                <%= libro.getId () %>
                            </td>
                        </tr>

Cuando se selecciona el enlace "Borrar" se le pasa el parámetro id a la página Form_Borrar.jsp, y cuando se selecciona el enlace "Modificar" se le pasa el mismo parámetro a la página Form_Modificar.jsp.

. Código Completo de la Página Index.jsp

<%@ page language="java" import="java.util.*, libreria.*" %>

<html>
    <head>
        <title>Página Principal de mi Librería</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Página Principal de mi Librería</center></h1>
        <table align="center" cellpadding="2" cellspacing="2" border="1" 
                   width="80%" bgcolor="#dddddd">
            <tr>
                <th>Autor</th>
                <th>Titulo</th>
                <th>Ubicacion</th>
                <th>Accion</th>
                <th>ID</th>
            </tr>
<%
            LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos");
            Collection libros = librosBD.getLibros();
            if (libros != null) {
                if (libros.size () > 0) {
                    for (Iterator iterator = libros.iterator(); iterator.hasNext(); ) {
                        Libro libro = (Libro) iterator.next ();
%>
                        <tr>
                            <td>
                                <%= libro.getAutor () %>
                            </td>
                            <td>
                                <%= libro.getTitulo () %>
                            </td>
                            <td>
                                <%= libro.getUbicacion () %>
                            </td>
                            <td align="center">
                                <destacar><a href="Form_Borrar.jsp?id=<%= libro.getId () %>">
                                                  Borrar</a></destacar>
                                o
                                <destacar><a href="Form_Modificar.jsp?id=<%= libro.getId () %>">
                                                   Modificar</a></destacar>
                            </td>
                            <td align="center">
                                <%= libro.getId () %>
                            </td>
                        </tr>
<%
                    }
                }
            }
%>
        </table>
        <br>
        <hr>
        <center>
            <destacar><a href="Form_Insertar.jsp">Añadir un Nuevo Libro</a></destacar>
       </center>
    </body>
</html>
 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network