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

Form_Insertar.jsp muestra un formulario en el que introduciremos los campos del nuevo libro. En la parte inferior de la p�gina hay en enlace para abortar la solicitud.

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

El prop�sito de esta p�gina es producir una p�gina Web con un formulario que el usuario rellena con los datos de un libro. El usuario podr�a entonces enviar los datos del formulario para su procesamiento transfiriendo el control a la p�gina o abortar el proceso seleccionando un enlace de vuelta a la p�gina Index.jsp. En la siguiente figura podemos ver un ejemplo de la p�gina Form_Insertar.jsp:

.�Aspecto de la P�gina Form_Insertar.jsp

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

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

<html>
    <head>
        <title>Librer�a: Insertar un nuevo libro</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a: Insertar un nuevo libro</center></h1>

        -- Aqu� va el c�digo que muestra el formulario --

         <hr>
        <center>
            <destacar><a href="Index.jsp">Volver a la P�gina Inicial 
                      [el libro no se a�adir�]</a></destacar>
        </center>
    </body>
</html>

.�Dibujar el Formulario

Este c�digo HTML mezclado con c�digo Java crea un formulario cuya acci�n es "postear" los datos del nuevo libro que hay en los campos de entrada a la p�gina :

    <form method="post" action="Insertar.jsp">

Luego se muestra una tabla; en la columna izquierda de la tabla se muestran los nombres de los campos; la columna derecha contiene los campos de entrada:

        <table align="center" cellpadding="2" cellspacing="2" border="1" 
                   width="80%" bgcolor="#dddddd">
            <tr>
                <th>ISBN:</th>
                <td><input name="isbn" type="text"></td>
            </tr>
            <tr>
                <th>Editorial:</th>
                <td><input name="editorial" type="text"></td>
            </tr>
            <tr>
                <th>Autor:</th>
                <td><input name="autor" type="text"></td>
            </tr>
            <tr>
                <th>Categor�a:</th>
                <td><input name="categoria" type="text"></td>
            </tr>
            <tr>
                <th>T�tulo:</th>
                <td><input name="titulo" type="text"></td>
            </tr>
            <tr>
                <th>Ubicaci�n:</th>
                <td><input name="ubicacion" type="text"></td>
            </tr>
        </table>

Luego se define un campo oculto que simula la pulsaci�n del bot�n submit cuando se pulsa la tecla return:

    <input name="pagemode" type="hidden" value="submit">

Luego se muestra el bot�n de env�o del formulario etiquetado "A�adir el nuevo libro":

        <input type="submit" value="A�adir el nuevo libro">

Cuando se pulsa el bot�n de env�o, se pasan los par�metros isbn, editorial, autor, categoria, titulo y ubicacion a la p�gina

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

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

<html>
    <head>
        <title>Librer�a: Insertar un nuevo libro</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a: Insertar un nuevo libro</center></h1>
        <form method="post" action="Insertar.jsp">
        <table align="center" cellpadding="2" cellspacing="2" border="1" 
                   width="80%" bgcolor="#dddddd">
            <tr>
                <th>ISBN:</th>
                <td><input name="isbn" type="text"></td>
            </tr>
            <tr>
                <th>Editorial:</th>
                <td><input name="editorial" type="text"></td>
            </tr>
            <tr>
                <th>Autor:</th>
                <td><input name="autor" type="text"></td>
            </tr>
            <tr>
                <th>Categor�a:</th>
                <td><input name="categoria" type="text"></td>
            </tr>
            <tr>
                <th>T�tulo:</th>
                <td><input name="titulo" type="text"></td>
            </tr>
            <tr>
                <th>Ubicaci�n:</th>
                <td><input name="ubicacion" type="text"></td>
            </tr>
        </table>
        <br>
        <center>
            <input name="pagemode" type="hidden" value="submit">
            <input type="submit" value="A�adir el nuevo libro">
        </center>
        <hr>
        <center>
            <destacar><a href="Index.jsp">Volver a la P�gina Inicial 
                   [el libro no se a�adir�]</a></destacar>
        </center>
    </body>
</html>

.�Insertar.jsp

Esta p�gina muestra los campos que recibe del nuevo libro. Luego intenta a�adir el nuevo libro a la base de datos y muestra el �xito o el fracaso en el intento. En la parte inferior de la p�gina hay un enlace a la p�gina Index.jsp.

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

El prop�sito de esta p�gina es producir una p�gina Web con un tabla que muestre los par�metros del libro que se le han pasado desde la p�gina Form_Insertar.jsp; realmente realiza la actualizaci�n de la base de datos; muestra si la base de datos se actualiz� correctamente o no, y espera hasta que el usuario seleccione el enlace de vuelta a Index.jsp. La siguiente figura muestra un ejemplo de la p�gina Insertar.jsp:

.�Aspecto de la P�gina Insertar.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:

<html>
    <head>
        <title>Librer�a -- Insertando un nuevo Libro</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a -- Insertando un nuevo Libro</center></h1>

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

            -- aqu� va el c�digo para actualizar la base de datos y mostrar
               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>

.�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 nuevo libro recuperados desde los par�metros:

        <table align="center" cellpadding="2" cellspacing="2" border="1" 
                   width="80%" bgcolor="#dddddd">
            <tr>
                <th>ISBN:</th>
                <td><%= request.getParameter ("isbn") %></td>
            </tr>
            <tr>
                <th>Editorial:</th>
                <td><%= request.getParameter ("editorial") %></td>
            </tr>
            <tr>
                <th>Autor:</th>
                <td><%= request.getParameter ("autor") %></td>
            </tr>
            <tr>
                <th>Categor�a:</th>
                <td><%= request.getParameter ("categoria") %></td>
            </tr>
            <tr>
                <th>T�tulo:</th>
                <td><%= request.getParameter ("titulo") %></td>
            </tr>
            <tr>
                <th>Ubicaci�n:</th>
                <td><%= request.getParameter ("ubicacion") %></td>
            </tr>
        </table>

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

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

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

Esto construye un objeto Libro con los par�metros pasados desde Form_Insertar.jsp:

           Libro libro = new Libro  (
                null,
                request.getParameter ("isbn"),
                request.getParameter ("editorial"),
                request.getParameter ("autor"),
                request.getParameter ("categoria"),
                request.getParameter ("titulo"),
                request.getParameter ("ubicacion")
            );

Luego se a�ade el libro a la base de datos:

    int rowsAffected = librosBD.insertarLibro (libro);

Si s�lo se ve afectada una fila por la actualizaci�n de la base de datos se muestra el mensaje "Se ha A�adido a la Base de Datos" en color verde, si no es as�, se muestra el mensaje "No se Pudo A�adir el Registro" en color rojo:

            if (rowsAffected == 1) {
%>
                <center>
                    <h2><font color="#00cc00">Se ha a�adido a la Base de Datos</font></h2>
                </center>
<%
            }
            else {
%>
                <center>
                    <h2><font color="#cc0000">No se ha podido A�adir el registro</font></h2>
                </center>
<%
            }
%>

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

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

<html>
    <head>
        <title>Librer�a -- Insertando un nuevo Libro</title>
    </head>
    <body bgcolor="#ffffee">
        <h1><center>Librer�a -- Insertando un nuevo Libro</center></h1>
        <table align="center" cellpadding="2" cellspacing="2" border="1" 
                   width="80%" bgcolor="#dddddd">
            <tr>
                <th>ISBN:</th>
                <td><%= request.getParameter ("isbn") %></td>
            </tr>
            <tr>
                <th>Editorial:</th>
                <td><%= request.getParameter ("editorial") %></td>
            </tr>
            <tr>
                <th>Autor:</th>
                <td><%= request.getParameter ("autor") %></td>
            </tr>
            <tr>
                <th>Categor�a:</th>
                <td><%= request.getParameter ("categoria") %></td>
            </tr>
            <tr>
                <th>T�tulo:</th>
                <td><%= request.getParameter ("titulo") %></td>
            </tr>
            <tr>
                <th>Ubicaci�n:</th>
                <td><%= request.getParameter ("ubicacion") %></td>
            </tr>
        </table>
<%
            LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos");
            Libro libro = new Libro  (
                null,
                request.getParameter ("isbn"),
                request.getParameter ("editorial"),
                request.getParameter ("autor"),
                request.getParameter ("categoria"),
                request.getParameter ("titulo"),
                request.getParameter ("ubicacion")
            );
            int rowsAffected = librosBD.insertarLibro(libro);
            if (rowsAffected == 1) {
%>
                <center>
                    <h2><font color="#00cc00">Se ha a�adido a la Base de Datos</font></h2>
                </center>
<%
            }
            else {
%>
                <center>
                    <h2><font color="#cc0000">No se ha podido A�adir el registro</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