Guia9-Desarrollo Web JSP (MVC)
Guia9-Desarrollo Web JSP (MVC)
Objetivo:
✓ Identificar y aplicar los elementos necesarios para establecer una conexión con bases de datos
haciendo uso de JSP y el lenguaje de programación JAVA
I. INTRODUCCION A JSP
JSP es una extensión del lenguaje de programación Java que se utiliza para crear páginas web
dinámicas. Una página JSP necesita que un servidor web con capacidad para ejecutar “Java
Server Page’s” sea instalado y configurado correctamente para recibir peticiones HTTP y
procesarlas utilizando lenguaje de programación JAVA
Cuando se realizan peticiones HTTP de páginas en formato JSP, El servidor Web debe compilar y
ejecutar el código Java y tratarlo en tiempo real con la información que se ha enviado desde el lado
del cliente, para finalmente retornar una página web de salida adaptada como respuesta. Un
servidor Web JSP tiene la capacidad de identificar a los diferentes clientes simultáneos y procesar
de manera independiente las múltiples peticiones que han de realizar cada uno de estos de
manera individualizada.
Un JSP es un documento xHTML con código Java incrustado o embebido, una página JSP es una
implementación de la clase “javax.servlet.Servlet”, que describe como crear un objeto respuesta
(response) denominado “HttpServletResponse” a partir de un objeto petición (request)
“HttpServletRequest” para finalmente transformar la página JSP a un Servlet. Entiéndase como
“Servlet “ a programas escritos en lenguaje de programación JAVA que se ejecutan en el contexto
de la web, es decir, basado en peticiones y respuestas HTTP cuyo código se ejecuta del lado del
servidor.
Los servlets son objetos de JAVA cuyas funcionalidades se ejecutan dentro del contexto de un
servidor de aplicaciones también conocido como “contenedor de servlets”, como por ejemplo
Apache, Tomcat. Glassfish, etc. Los servlet se derivan de otra tecnología java anterior conocida
como “applet”, que se refería a pequeños programas que se ejecutan en el contexto de un
navegador web pero del lado del cliente.
La característica fundamental que diferencia un servlet de los applet, radica en que un servlet es
un programa que se ejecuta en el lado del servidor. El uso más común de los servlets es generar
páginas web de forma dinámica a partir de los parámetros de la petición que envíe los usuarios
desde su navegador web.
1. Variables implícitas Las páginas JSP incluyen un conjunto de variables privilegiadas que se
pueden usar sin necesidad de ser declaradas ni configuradas, estas variables son:
Variable Clase
pageContext javax.servlet.jsp.PageContext
request javax.servlet.http.HttpServletRequest
response javax.servlet.http.HttpServletResponse
session javax.servlet.http.HttpSession
config javax.servlet.ServletConfig
application javax.servlet.ServletContext
out javax.servlet.jsp.JspWriter
page java.lang.Object
exception java.lang.Exception
2. Directivas: Son etiquetas a partir de las cuales se genera información que puede ser utilizada
por el motor de JSP. No producen una salida visible al usuario sino que configura cómo se
ejecutará la página JSP.
Su sintaxis es:
<%@ directiva atributo="valor" %>
✓ page: Especifica atributos relacionados con la página a procesar. Estos atributos son:
import <%@ page import="class; class" %> Importa clases y paquetes Java para ser
utilizadas dentro del fichero JSP.
<%
response.sendRedirect("pagina.jsp");
%>
5. Variables de Sesión o Estados: Las sesiones en la Web permiten reconocer e identificar las
peticiones de cada uno de los usuarios que interactúan con un sitio web y así llevar a cabo
acciones específicas, como mostrar información adaptada a él o guardar información de sus
gustos o páginas que más visita. El uso de sesiones proporciona una forma fácil de guardar
datos del usuario de forma temporal para reutilizarlos en el momento que se necesiten. Las
sesiones son muy utilizadas para saber si un usuario a ingresado a través de login (usuario +
contraseña) y en cualquier valor que requiera una variable temporal relacionada a la visita del
usuario.
session.setAttribute("Nombre_Variable",”Valor”);
session.invalidate();
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 6 de 28
Modelo: Es la representación específica de la información con la cual el sistema opera, por lo tanto
gestiona todos los accesos a dicha información, tanto ingresos, consultas y actualizaciones
Utilizando el SGBD (Motor BDD) MySQL,cree una base de datos de nombre “Directorio” y en ella
cree una tabla con el nombre “clientes” con las siguientes distribución de campos:
Paso 1. Cree un nuevo proyecto Web JAVA y colóquele como nombre “WEBJavaMVC”, ubique la
carpeta en el disco duro donde quedan los archivos de este proyecto y dentro de esta cree tres
nuevas carpetas y llámelas Estilos, Imágenes y VistaCliente respectivamente. Dentro de la carpeta
Imágenes coloque tres imágenes en formato jpg con los nombres Fondo1.jpg,Fondo2.jpg y
Banner1.jpg. A modo de guía para el desarrollo de este ejercicio, el proyecto al finalizar debe
lucir similar a la imagen que se muestra a continuación
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 8 de 28
Paso 2. Abra un editor de código (Bloc De Notas, Netbeans, etc), copie el código de los archivos
de las hojas de estilo que se muestran a continuación y guárdelos dentro de la carpeta “Estilos”
✓ Archivo “estiloindex.css”:
#cabecera {width:100%;height:20%;background-color:#020;}
#principal {width:80%;height:65%;float:left;}
#pie {width:100%;height:15%;}
✓ Archivo “Menu1.css”:
#button {
width: 11em;
border-right: 1px solid #000;
padding: 0 0 1em 0;
margin-bottom: 1em;
font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial,
sans-serif;
background-color: #90bade;
color: #333;
}
#button ul {
list-style: none;
margin: 0;
padding: 0;
border: none;
}
#button li {
border-bottom: 1px solid #90bade;
margin: 0;
list-style: none;
list-style-image: none;
}
#button li a {
display: block;
padding: 5px 5px 5px 0.5em;
border-left: 10px solid #1958b7;
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 9 de 28
html>body #button li a {
width: auto;
}
#button li a:hover {
border-left: 10px solid #1c64d1;
border-right: 10px solid #5ba3e0;
background-color: #2586d7;
color: #fff;
}
✓ Archivo “estilo.css”:
/* General */
BODY {font-family: verdana,arial, sans-serif; font-size: 10pt;}
/* Contenido */
H1 {font-size: 16pt; font-weight: bold; color: #0066CC;}
H2 {font-size: 12pt; font-weight: bold; font-style: italic; color: black;}
H3 {font-size: 10pt; font-weight: bold; color: black;}
/* Formulario */
FORM.borde {border: 1px dotted #0066CC; padding: 0.5em 0.2em; width: 80%;}
FORM P {clear: left; margin: 0.2em; padding: 0.1em;}
/* Tablas */
TH {font-size: 10pt; font-weight: bold; color: white; background: #0066CC; text-align: left;}
TD {font-size: 10pt; background: #CCCCCC;}
Paso 3. En NetBeans agregue a la raíz del proyecto un archivo html con el nombre “entrada.html”
,copie el código que se muestra a continuación y guárdelo
<html>
<head>
<title>Bienvenido</title>
</head>
<body>
<p> BIENVENIDO!</p>
<p> Seleccione una opción del Menú</p>
</body>
</html>
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 10 de 28
Paso 4. En NetBeans agregue a la raíz del proyecto un archivo html con el nombre “cabecera.html”
, copie el código que se muestra a continuación y guárdelo
<html>
<head>
<title>Encabezado del Sitio WEb</title>
</head>
<body bgcolor="#3366ff">
<center>
<img src="Imagenes/Banner1.jpg" />
<h1> Bienvenido a Mi Sitio WEB!!!<h1>
</center>
</body>
</html>
*Nota: Ubique una imagen de su preferencia en la carpeta Imagenes para que la utilice en la
página de encabezado del Sitio WEB
Paso 5. En NetBeans agregue a la raíz del proyecto un archivo html con el nombre “pie.html”
, copie el código que se muestra a continuación y guárdelo
<html>
<head>
<title>Pie Del Sitio WEB</title>
</head>
<body background="Imagenes/Fondo2.jpg">
<center>
UNIVERSIDAD DISTRITAL
<br />
Ingeniería Electrónica
<br />
Programación Aplicada
<br />
2020
</center>
</body>
</html>
*Nota: Ubique una imagen de su preferencia en la carpeta Imagenes para que la utilice en la
página de pie del Sitio WEB
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 11 de 28
Paso 6. En NetBeans agregue a la raíz del proyecto un archivo html con el nombre “index.html”
, copie el código que se muestra a continuación y guárdelo
<html>
<head>
<title>Mi Pagina Index</title>
<link href="Estilos/estiloindex.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<div id="content">
<div id="cabecera">
<iframe width='100%' height='100%' name='cabecera' scrolling="No"
src='cabecera.html'></iframe>
</div>
<div id="menu" >
<iframe width='100%' height='100%' name='menu' scrolling="Yes"
src='menu.html'></iframe>
</div>
<div id="principal">
<iframe width='100%' height='100%' name='principal' scrolling="Yes"
src='entrada.html'></iframe>
</div>
<div id="pie">
<iframe width='100%' height='100%' name='pie' scrolling="No"
src='pie.html'></iframe>
</div>
</div>
</body>
</html>
Paso 7. En NetBeans agregue a la raíz del proyecto un archivo html con el nombre “menu.html”
, copie el código que se muestra a continuación y guárdelo
<html>
<head>
<title>Menu Principal</title>
<link href="Estilos/Menu1.css" rel="stylesheet" type="text/css" />
</head>
<body background="Imagenes/Fondo1.jpg">
<center>
<h3> Menu de Opciones</h3>
<div id="button">
<ul>
<li><a href="entrada.html" target="principal">Inicio</a></li>
<li><a href="VistaCliente/insertarcliente.jsp"
target="principal">Insertar Cliente</a></li>
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 12 de 28
<li><a href="VistaCliente/consultartodoscliente.jsp"
target="principal">Consultar Todos</a></li>
<li><a href="VistaCliente/consultarcliente.jsp"
target="principal">Consultar Cliente</a></li>
<li><a href="VistaCliente/modificareliminarcliente.jsp"
target="principal">Modificar/Eliminar</a></li>
</ul>
</div>
</center>
</body>
</html>
*Nota: Ubique una imagen de su preferencia en la carpeta Imágenes para que la utilice de fondo
del menú
a) Clase Conexión:
package Controlador;;
import java.sql.*;
b) Clase Cliente:
package Controlador;
import java.sql.*;
stmt.setString(1,"" + this.identificacion);
stmt.setString(2,this.nombre);
stmt.setString(3,this.apellido);
stmt.setString(4,this.fijo);
stmt.setString(5,this.celular);
stmt.executeUpdate();
stmt.close();
con.close()
return true;
}
catch (Exception e )
{
System.out.println(e.getMessage());
return false;
}
}
try
{
cx = new Conexion();
con = cx.getConexion();
stmt.executeUpdate();
stmt.close();
con.close();
return true;
}
catch ( Exception e )
{
System.out.println(e.getMessage());
return false;
}
}
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 15 de 28
try
{
boolean consultaOK=false;
cx = new Conexion();
con = cx.getConexion();
Statement stmt = con.createStatement();
if(TipoConsulta.equals("Identificacion"))
{ SentenciaSQL+=" Where identificacion = " + Valor_a_buscar; }
else if (TipoConsulta.equals("Nombres"))
{ SentenciaSQL+=" Where Nombre = '" + Valor_a_buscar + "'"; }
else if (TipoConsulta.equals("Apellidos"))
{SentenciaSQL+=" Where Apellido = '" + Valor_a_buscar + "'"; }
if (rs.next()==true) {
rs.first();
this.identificacion= Long.parseLong(rs.getString("Identificacion"));
this.nombre=rs.getString("Nombre");
this.apellido=rs.getString("Apellido");
this.fijo= rs.getString("Fijo");
this.celular=rs.getString("Celular");
consultaOK= true;
}
else
{
consultaOK=false;
}
stmt.close();
con.close();
return consultaOK;
catch ( Exception e )
{
System.out.println(e.getMessage());
return false;
}
}
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 16 de 28
TablaRespuesta+="<TABLE Border='1'>";
TablaRespuesta+="<TR>";
TablaRespuesta+="<TH>Identificación</TH>";
TablaRespuesta+="<TH>Nombres</TH>";
TablaRespuesta+="<TH>Apellidos</TH>";
TablaRespuesta+="<TH>Telefono</TH>";
TablaRespuesta+="<TH>Celular</TH>";
TablaRespuesta+="</TR>";
while (rs.next())
{
TablaRespuesta+="<TR>";
TablaRespuesta+= ("<TD>" + rs.getString("identificacion") + "</TD>");
TablaRespuesta+= ("<TD>" + rs.getString("Nombre") + "</TD>");
TablaRespuesta+= ("<TD>" + rs.getString("Apellido") + "</TD>");
TablaRespuesta+= ("<TD>" + rs.getString("Fijo") + "</TD>");
TablaRespuesta+= ("<TD>" + rs.getString("Celular") + "</TD>");
TablaRespuesta+="</TR>";
}
TablaRespuesta+=("</TABLE>\n");
stmt.close();
con.close();
return TablaRespuesta;
}
catch ( Exception e )
{
System.out.println(e.getMessage());
return TablaRespuesta;
}
try
{
cx = new Conexion();
con = cx.getConexion();
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 17 de 28
stmt.executeUpdate();
stmt.close();
con.close();
return true;
}
catch (Exception e)
{
System.out.println(e.getMessage());
return false;
}
}
}
Paso 9. En NetBeans dentro de la carpeta “VistaCliente” agregue un nuevo archivo jsp con el
nombre “insertarcliente.jsp”, copie el código que se muestra a continuación y guárdelo
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>Nuevo Cliente</TITLE>
<LINK HREF="../Estilos/estilo.css" REL="stylesheet"
TYPE="text/css">
</HEAD>
<BODY>
<H1>Insertar Nuevo Cliente</H1>
<table>
<tr>
<td>Identificacion: </td>
<td><INPUT TYPE='TEXT' NAME='identificacion' SIZE='30'
MAXLENGTH='50'> *</td>
</tr>
<tr>
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 18 de 28
<td>Nombres:</td>
<td><INPUT TYPE='TEXT' NAME='nombres' SIZE='30' MAXLENGTH='50'>
* </td>
</tr>
<tr>
<td>Apellidos:</td>
<td><INPUT TYPE="TEXT" NAME="apellidos" SIZE="30"
MAXLENGTH="50"> *</td>
</tr>
<tr>
<td>Telefono:</td>
<td><INPUT TYPE="TEXT" NAME="telefono" SIZE="30"
MAXLENGTH="15"> * </td>
</tr>
<tr>
<td>Celular:</td>
<td><INPUT TYPE="TEXT" NAME="celular" SIZE="30" MAXLENGTH="15">
* </td>
</tr>
</table
<%
if(request.getParameter("insertar") != null)
{
try
{
// Obtener valores introducidos en el formulario
long identificacion=Long.parseLong(request.getParameter("identificacion"));
String nombres=request.getParameter("nombres");
String apellidos=request.getParameter("apellidos");
String telefono=request.getParameter("telefono");
String celular=request.getParameter("celular");
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 19 de 28
ObjCliente.setIdentificacion(identificacion);
ObjCliente.setNombre(nombres);
ObjCliente.setApellido(apellidos);
ObjCliente.setFijo(telefono);
ObjCliente.setCelular(celular);
if (GuardarOK)
{
out.write ("<script type='text/javascript'> alert('El
cliente ha sido creado correctamente')</script>");
}
catch(Exception ex)
{
out.write("Se ha presentado un error. Los Datos de este
cliente No se han guardado " + ex.getMessage());
}
}
%>
</FORM
</BODY
</HTML>
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 20 de 28
Paso 10. En NetBeans dentro de la carpeta “VistaCliente” agregue un nuevo archivo jsp con el
nombre “consultartodoscliente.jsp”, copie el código que se muestra a continuación y guárdelo
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Todos los Clientes</title>
<LINK HREF="../Estilos/estilo.css" REL="stylesheet"
TYPE="text/css">
</head>
<body>
<center>
<H1>LISTADO DE CLIENTES</H1>
<%
Cliente ObjCliente = new Cliente();
String TablaConsultada = ObjCliente.ConsultarTodosClientesWeb();
out.write(TablaConsultada);
%>
</center>
</body>
</html>
Paso 11. En NetBeans dentro de la carpeta “VistaCliente” agregue un nuevo archivo jsp con el
nombre “consultarcliente.jsp”, copie el código que se muestra a continuación y guárdelo
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 21 de 28
<title>Consultar Cliente</title>
<LINK HREF="../Estilos/estilo.css" REL="stylesheet"
TYPE="text/css">
</head>
<body>
<H1>Consultar Cliente</H1>
<%
if(request.getParameter("consultar") != null)
{
// Obtener valores introducidos en el formulario
String tipoconsulta=request.getParameter("tipoconsulta");
String valor_a_consultar =
request.getParameter("valor_a_consultar");
boolean ConsultaOK=
ObjCliente.ConsultarCliente(tipoconsulta,valor_a_consultar);
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 22 de 28
if (ConsultaOK)
{
out.write("<Table>");
out.write("<tr>");
out.write( "<td>Identificacion:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='identificacion'
VALUE='" + ObjCliente.getIdentificacion()+ "'
readonly></td> ");
out.write("</tr>");
out.write("<tr>");
out.write( "<td>Nombres:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='nombres'
VALUE='" + ObjCliente.getNombre()+ "' readonly></td>");
out.write("</tr>");
out.write("<tr>");
out.write( "<td>Apellidos:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='apellidos'
VALUE='" + ObjCliente.getApellido()+ "'
readonly></td>");
out.write("</tr>");
out.write("<tr>");
out.write("<td>Telefono:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='telefono'
VALUE='" + ObjCliente.getFijo()+ "' readonly></td>");
out.write("</tr>");
out.write("<tr>");
out.write( "<td>Celular:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='celular'
VALUE='" + ObjCliente.getCelular()+ "'
readonly></td>");
out.write("</tr>");
out.write("</table>");
out.write("</Br>");
}
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 23 de 28
else
{
out.write ("<script type='text/javascript'> alert('No
se ha encontrado ningun Cliente, Verifique e intente
nuevamente Exito')</script>");
catch ( Exception e )
{
out.write("Se ha presentado un Error. " +
e.getMessage());
}
}
%>
</FORM>
</body>
</html>
Paso 12. En NetBeans dentro de la carpeta “VistaCliente” agregue un nuevo archivo jsp con el
nombre “modificareliminarcliente.jsp”, copie el código que se muestra a continuación y guárdelo
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Consultar Cliente</title>
<LINK HREF="../Estilos/estilo.css" REL="stylesheet" TYPE="text/css">
</head>
<body>
<H1>Modificar/Eliminar Cliente</H1>
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 24 de 28
<SELECT NAME="tipoconsulta">
<OPTION SELECTED>Identificacion
<OPTION>Nombres
<OPTION>Apellidos
</SELECT></P>
<%
if(request.getParameter("consultar") != null)
{
// Obtener valores introducidos en el formulario
String tipoconsulta=request.getParameter("tipoconsulta");
String valor_a_consultar
=request.getParameter("valor_a_consultar");
Boolean ConsultaOK=
ObjCliente.ConsultarCliente(tipoconsulta,valor_a_consultar);
if (ConsultaOK)
{
out.write("<Table>");
out.write("<tr>");
out.write( "<td>Identificacion:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='identificacion'
VALUE='" + ObjCliente.getIdentificacion()+ "'
readonly></td> ");
out.write("</tr>");
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 25 de 28
out.write("<tr>");
out.write( "<td>Nombres:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='nombres'
VALUE='" + ObjCliente.getNombre()+ "'></td>");
out.write("</tr>");
out.write("<tr>");
out.write( "<td>Apellidos:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='apellidos'
VALUE='" + ObjCliente.getApellido()+ "'></td>");
out.write("</tr>");
out.write("<tr>");
out.write("<td>Telefono:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='telefono'
VALUE='" + ObjCliente.getFijo()+ "'></td>");
out.write("</tr>");
out.write("<tr>");
out.write( "<td>Celular:</td>");
out.write("<td><INPUT TYPE='TEXT' NAME='celular'
VALUE='" + ObjCliente.getCelular()+ "'></td>");
out.write("</tr>");
out.write("</table>");
out.write("</Br>");
catch ( Exception e )
{
out.write("Se ha presentado un Error. " +
e.getMessage());
}
}
if(request.getParameter("modificar") != null)
{
try
{
long identificacion=Long.parseLong(request.getParameter("identificacion"));
String nombres=request.getParameter("nombres");
String apellidos=request.getParameter("apellidos");
String telefono=request.getParameter("telefono");
String celular=request.getParameter("celular");
ObjCliente.setIdentificacion(identificacion);
ObjCliente.setNombre(nombres);
ObjCliente.setApellido(apellidos);
ObjCliente.setFijo(telefono);
ObjCliente.setCelular(celular);
if (ActualizarOK)
{
out.write ("<script type='text/javascript'> alert('El
cliente ha sido Actualizado correctamente
')</script>");
out.write("<H2>Gestión de Clientes - El cliente ha sido
Actualizado correctamente</H2>\n");
out.write("[<A HREF='modificareliminarcliente.jsp'>
Actualizar/Eliminar Otro Cliente</A> ]");
}
else
{
out.write("<script type='text/javascript'> alert('Se
presento un error y No se pudo Actualizar este cliente
')</script>");
out.write("Se presento un error y No se pudo Actualizar
este cliente ");
}
}
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 27 de 28
catch(Exception ex)
{
out.write("Se ha presentado un error. Los Datos de este
cliente No se han Actualizado " + ex.getMessage());
}
}
if(request.getParameter("eliminar") != null)
{
try
{
long identificacion= Long.parseLong (request.getParameter("identificacion"));
if (EliminarOK)
{
out.write("<script type='text/javascript'> alert('El
cliente ha sido Eliminado correctamente')</script>");
out.write("<H2>Gestión de Clientes - El cliente ha sido
Eliminado correctamente</H2>\n");
out.write("[ <A HREF='modificareliminarcliente.jsp'>
Actualizar/Eliminar Otro Cliente</A> ]");
}
else
{
out.write("<script type='text/javascript'> alert('Se
presento un error y No se pudo Eliminar este cliente
')</script>");
out.write("Se presentó un error y No se pudo Eliminar
este cliente ");
}
}
catch(Exception ex)
{
out.write("Se ha presentado un error. Los Datos de este
cliente No se han Eliminado " + ex.getMessage());
}
}
%>
</form>
</body>
</html>
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 28 de 28
TALLER:
Crear una aplicación Web JSP que satisfaga los siguientes requerimientos:
2. Permita calcular el área y volumen de las figuras geométricas: Cono, Esfera, Cubo y Cilindro.
La página debe mostrar la imagen de la figura geométrica correspondiente
3. Debe tener la opción de almacenar en una base de datos los cálculos obtenidos en dos tablas,
una tabla para los cálculos matemáticos y otra para los cálculos geométricos. Cada vez que se
ingrese un nuevo registro se debe guardar la fecha y hora del cálculo.
4. Debe permitir ver todos los cálculos realizados, consultar por medio de la llave primaria y
eliminar registros que ya están almacenados tanto en la tabla de cálculos matemáticos como
en la de cálculos geométricos.
5. Debe tener un link o hipervínculo que lleve a las páginas web correspondientes a los Talleres
de las guías 7 y 8