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

Esta p�gina lee el libro correspondiente al ID que ha recibido. Luego muestra los campos del libro en una tabla para que podamos asegurarnos de que se va a borrar el libro correcto. En la parte inferior de la p�gina hay dos enlaces: uno para continuar con la solicitud de borrado del libro y otro para abortar la solicitud.

.�Prop�sito de la P�gina Form_Borrar.jsp

El prop�sito de esta p�gina es producir una p�gina web con una tabla que muestre el libro que se va a borrar. El usuario podr�a continuar el proceso de borrado seleccionado un enlace a la p�gina Borrar.jsp o abortar el proceso seleccionando un enlace de vuelta a Index.jsp. La siguiente imagen muestra un ejemplo de la p�gina Form_Borrar.jsp:

.�Aspecto de la P�gina Form_Borrar.jsp

Este c�digo HTML crea el aspecto de la p�gina con un enlace a Borrar.jsp etiquetado como "Borrar el Libro nnn" y un enlace a Index.jsp etiquetado como "Volver a la P�gina Inicial [el libro no se borrar�]", en la parte inferior de la p�gina:

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

<html>
    <head>
        <title>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1>

       -- aqu� va el c�digo para recuperar los datos del libro a borrar --

            <br>
            <center>
                <destacar><a href="Borrar.jsp?id=<%= libro.getId () %>">Borrar el libro 
                    <%= request.getParameter ("id") %></a></destacar>
            </center>
<%
        }
        else {
%>
            <center>
                <h2><font color="#cc0000">No se pudo encontrar el libro 
                    <%= request.getParameter ("id") %></font></h2>
            </center>
<%
        }
%>
        <hr>
        <center>
            <destacar><a href="Index.jsp">Volver a la P�gina Inicial 
                [el libro no se borrar�]</a></destacar>
        </center>
    </body>
</html>

Cuando se pulsa sobre el enlace "Borrar el Libro nnn" se le pasa el par�metro id al p�gina Borrar.jsp.

.�Recuperar los Datos del libro a Borrar

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

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

Luego obtiene de la base de datos el libro cuyo id se ha pasado como par�metro a esta p�gina desde Index.jsp:

        Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id"));
        if (libro != null){

        -- aqu� va el c�digo para mostrar la tabla --

        }
        else {
%>
            <center>
                <h2><font color="#cc0000">No se pudo encontrar el libro 
                      <%= request.getParameter ("id") %></font></h2>
            </center>
<%
        }

.�Mostrar la Tabla

Este c�digo HTML mezclado con c�digo Java muestra la tabla; en la columna izquierda se muestran los nombres de los campos; la columna derecha contiene los datos del libro recuperados desde la base de datos:


            <table align="center" cellpadding="2" cellspacing="2" border="1" 
                       width="80%" bgcolor="#dddddd">
                <tr>
                    <th>ISBN:</th>
                    <td><input name="isbn" type="text" value="<%= libro.getIsbn () %>"></td>
                </tr>
                <tr>
                    <th>Editorial:</th>
                    <td><input name="editorial" type="text" value="<%= libro.getEditorial() %>"></td>
                </tr>
                <tr>
                    <th>Autor:</th>
                    <td><input name="autor" type="text" value="<%= libro.getAutor () %>"></td>
                </tr>
                <tr>
                    <th>Categor�a:</th>
                    <td><input name="categoria" type="text" value="<%= libro.getCategoria () %>"></td>
                </tr>
                <tr>
                    <th>T�tulo:</th>
                    <td><input name="titulo" type="text" value="<%= libro.getTitulo () %>"></td>
                </tr>
                <tr>
                    <th>Ubicaci�n:</th>
                    <td><input name="ubicacion" type="text" value="<%= libro.getUbicacion () %>"></td>
                </tr>
            </table>

.�C�digo Completo de la P�gina Form_Borrar.jsp

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

<html>
    <head>
        <title>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1>
<%
        LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos");
        Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id"));
        if (libro != null){
%>
            <table align="center" cellpadding="2" cellspacing="2" border="1" 
                       width="80%" bgcolor="#dddddd">
                <tr>
                    <th>ISBN:</th>
                    <td><input name="isbn" type="text" value="<%= libro.getIsbn () %>"></td>
                </tr>
                <tr>
                    <th>Editorial:</th>
                    <td><input name="editorial" type="text" value="<%= libro.getEditorial() %>"></td>
                </tr>
                <tr>
                    <th>Autor:</th>
                    <td><input name="autor" type="text" value="<%= libro.getAutor () %>"></td>
                </tr>
                <tr>
                    <th>Categor�a:</th>
                    <td><input name="categoria" type="text" value="<%= libro.getCategoria () %>"></td>
                </tr>
                <tr>
                    <th>T�tulo:</th>
                    <td><input name="titulo" type="text" value="<%= libro.getTitulo () %>"></td>
                </tr>
                <tr>
                    <th>Ubicaci�n:</th>
                    <td><input name="ubicacion" type="text" value="<%= libro.getUbicacion () %>"></td>
                </tr>
            </table>
            <br>
            <center>
                <destacar><a href="Borrar.jsp?id=<%= libro.getId () %>">Borrar el libro 
                    <%= request.getParameter ("id") %></a></destacar>
            </center>
<%
        }
        else {
%>
            <center>
                <h2><font color="#cc0000">No se pudo encontrar el libro 
                      <%= request.getParameter ("id") %></font></h2>
            </center>
<%
        }
%>
        <hr>
        <center>
            <destacar><a href="Index.jsp">Volver a la P�gina Inicial 
               [el libro no se borrar�]</a></destacar>
        </center>
    </body>
</html>

.�Borrar.jsp

Esta p�gina lee el libro cuyo id se le ha pasado. Luego muestra los datos del libro en una tabla, intenta borrar el libro de la base de datos, y muestra el �xito o el fracaso del intento.

.�Prop�sito de la P�gina Borrar.jsp

El prop�sito de esta p�gina es producir una p�gina web con una tabla que muestra el libro cuyo par�metro id se ha pasado a esta p�gina desde Form_Borrar.jsp; realmente realiza la actualizaci�n en la base de datos; muestra si la base de datos se ha actualizado con �xito o no; y espera hasta que el usuario seleccione el enlace de vuelta a la p�gina Index.jsp. En la siguiente figura puedes ver un ejemplo de la p�gina Borrar.jsp:

.�Crear el Aspecto de la P�gina Borrar.jsp

Este c�digo HTML genera el aspecto de la p�gina con un enlace a Index.jsp en la parte inferior de la p�gina:

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

<html>
    <head>
        <title>Librer�a -- Borrando un Libro</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1>

            -- aqu� se recuperan los datos del libro a borrar --

           -- aqu� se muestra la tabla de datos --

            -- aqu� va el c�digo que actualiza la base de datos y se 
               muestra el �xito o el fracaso de la operaci�n --

        <hr>
        <center>
            <destacar><a href="Index.jsp">Volver a la P�gina Inicial</a></destacar>
        </center>
    </body>
</html>

.�Recuperar los Datos del libro a Borrar

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

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

Luego obtiene de la base de datos el libro cuyo id se ha pasado como par�metro a esta p�gina desde Form_Borrar.jsp:

        Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id"));

.�Mostar la Tabla

Este c�digo HTML mezclado con c�digo Java muestra la tabla; en la columna izquierda se muestran los nombres de los campos; la columna derecha contiene los datos del libro a borrar recuperados de la base de datos:

         <table align="center" cellpadding="2" cellspacing="2" border="1" 
                    width="80%" bgcolor="#dddddd">
            <tr>
                <th>ISBN:</th>
                <td><%= libro.getIsbn() %></td>
            </tr>
            <tr>
                <th>Editorial:</th>
                <td><%= libro.getEditorial() %></td>
            </tr>
            <tr>
                <th>Autor:</th>
                <td><%= libro.getAutor() %></td>
            </tr>
            <tr>
                <th>Categor�a:</th>
                <td><%= libro.getCategoria() %></td>
            </tr>
            <tr>
                <th>T�tulo:</th>
                <td><%= libro.getTitulo() %></td>
            </tr>
            <tr>
                <th>Ubicaci�n:</th>
                <td><%= libro.getUbicacion() %></td>
            </tr>
        </table>

.�Actualizar la Base de Datos y Mostrar el �xito o el Fracaso

Este c�digo Java mezclado con c�digo HTML borra el libro cuyo par�metro id se le ha pasado como par�metro:

    int rowsAffected = librosBD.borrarLibro (request.getParameter ("id"));

Si s�lo se ve afectada una fila en la actualizaci�n de la base de datos se muestra en verde el mensaje "Se ha borrado el libro nnn"; si no es as�, se muestra en rojo el mensaje "No se pudo borrar el libro nnn":

    if (rowsAffected == 1) {
%>
        <center>
            <h2><font color="#00cc00">Se ha Borrado el Libro 
                 <%= request.getParameter ("id") %></font></h2>
        </center>
<%
    }
    else {
%>
        <center>
            <h2><font color="#cc0000">No se pudo borrar el libro 
               <%= request.getParameter ("id") %></font></h2>
        </center>
<%
    }

.�C�digo Completo de la P�gina Borrar.jsp

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

<html>
    <head>
        <title>Librer�a -- Borrando un Libro</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1>

<%
        LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos");
        Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id"));
        if (libro != null){
%>

         <table align="center" cellpadding="2" cellspacing="2" border="1" 
                    width="80%" bgcolor="#dddddd">
            <tr>
                <th>ISBN:</th>
                <td><%= libro.getIsbn() %></td>
            </tr>
            <tr>
                <th>Editorial:</th>
                <td><%= libro.getEditorial() %></td>
            </tr>
            <tr>
                <th>Autor:</th>
                <td><%= libro.getAutor() %></td>
            </tr>
            <tr>
                <th>Categor�a:</th>
                <td><%= libro.getCategoria() %></td>
            </tr>
            <tr>
                <th>T�tulo:</th>
                <td><%= libro.getTitulo() %></td>
            </tr>
            <tr>
                <th>Ubicaci�n:</th>
                <td><%= libro.getUbicacion() %></td>
            </tr>
        </table>

<%
            int rowsAffected = librosBD.borrarLibro (request.getParameter ("id"));
            if (rowsAffected == 1) {
%>
                <center>
                    <h2><font color="#00cc00">Se ha borrado el libro 
                         <%= request.getParameter ("id") %></font></h2>
                </center>
<%
            }
            else {
%>
                <center>
                    <h2><font color="#cc0000">No se pudo borrar el libro  
                         <%= request.getParameter ("id") %></font></h2>
                </center>
<%
            }
        }
        else {
%>
            <center>
                <h2><font color="#cc0000">No se encontr� el libro  
                      <%= request.getParameter ("id") %></font></h2>
            </center>
<%
        }
%>
        <hr>
        <center>
            <destacar><a href="Index.jsp">Volver a la P�gina Inicial</a></destacar>
        </center>
    </body>
</html>

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR