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>