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>