0% encontró este documento útil (0 votos)
121 vistas

Guia9-Desarrollo Web JSP (MVC)

El documento proporciona una guía sobre el desarrollo web con Java Server Pages (JSP). Introduce JSP como una extensión de Java que se usa para crear páginas web dinámicas. Explica que cuando se realizan peticiones HTTP a páginas JSP, el servidor web compila y ejecuta el código Java para devolver una página adaptada. También cubre elementos básicos de JSP como variables implícitas, directivas, etiquetas propias y el uso de sesiones.

Cargado por

Adriana
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
121 vistas

Guia9-Desarrollo Web JSP (MVC)

El documento proporciona una guía sobre el desarrollo web con Java Server Pages (JSP). Introduce JSP como una extensión de Java que se usa para crear páginas web dinámicas. Explica que cuando se realizan peticiones HTTP a páginas JSP, el servidor web compila y ejecuta el código Java para devolver una página adaptada. También cubre elementos básicos de JSP como variables implícitas, directivas, etiquetas propias y el uso de sesiones.

Cargado por

Adriana
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 28

GUÍA Nº 9 - Programación Aplicada

Ingeniería Electrónica Ing. Néstor Raúl Suarez P.


Página 1 de 28

TEMA: DESARROLLO WEB CON JAVA SERVER PAGES (JSP)

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.

Un Servlet solo funciona en el contexto de un “Contenedor de Servlet”, el cual es un programa


capaz de recibir peticiones de desde el lado del cliente y redireccionar estas peticiones a un objeto
de tipo Servlet para que este finalmente ejecute una determina funcionalidad (programada en
lenguaje JAVA)
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 2 de 28

II. ELEMENTOS BASICOS DE JAVA SERVER PAGES (JSP)


GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 3 de 28

III. GENERALIDADES DE JAVA SERVER PAGES (JSP)

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" %>

Las directivas más importantes disponibles en JSP son:

✓ include: Incluye el contenido de un fichero en la página mediante el atributo file.


o <%@ include file="cabecera.html" %>
✓ taglib: Importa bibliotecas de etiquetas (Tag Libraries)
o <%@ taglib uri="/tags/struts-html" prefix="html" %>
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 4 de 28

✓ page: Especifica atributos relacionados con la página a procesar. Estos atributos son:

Atributo Sintaxis Utilización

import <%@ page import="class; class" %> Importa clases y paquetes Java para ser
utilizadas dentro del fichero JSP.

Especifica si utiliza los datos


session <%@ page session="false" %> contenidos en sesión; por defecto
"true".

<%@ page contentType="class; Especifica el tipo MIME del objeto


contentType "response"; por defecto "text/html;
class" %>
charset=ISO-8859-1".

Buffer utilizado por el objeto writer


buffer <%@ page buffer="12KB" %> "out"; puede tomar el valor de "none";
por defecto "8KB".

Especifíca la ruta de la página de error


<%@ page que será invocada en caso de producirse
errorPage
errorPage="/path_to_error_page" %> una excepción durante la ejecución de
este fichero JSP.

Determina si este fichero JSP es una


página que maneja excepciones.
Únicamente a este tipo de páginas
isErrorPage <%@ page isErrorPage="true" %> pueden acceder a la variable impícita
"exception", que contiene la excepción
que provocó la llamada a la página de
error.

3. Etiquetas Propias JSP: Son las etiquetas pertenecientes a la especificación JSP.


Proporcionan una funcionalidad básica. Un primer grupo de etiquetas proporciona
funcionalidad a nivel de la página de una manera muy simple:
✓ <jsp:forward>, redirige la petición “request” a otra pagina o URL

<jsp:forward page=”pagina/url” />


GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 5 de 28

✓ <jsp:include>, incluye el texto de un archivo dentro de la página

<jsp:include page=”pagina/url” />

✓ <jsp:plugin>, descarga un plugin de Java (un applet o un Bean).

4. Redireccionamiento De URL’s: JSP por medio del objeto “response” y el método


“sendRedirect” permite realizar redireccionamiento hacia cualquier página html o jsp que se
requiera. La sintaxis para su utilización es:

<%
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.

En JSP las variables de sesión se administran de la siguiente forma:

1. Crear una variable de sesión:

session.setAttribute("Nombre_Variable",”Valor”);

2. Leer una variable de sesión:

If (request.getParameter("Nombre_Variable ") != null)


{
String Valor_Recuperado = (String) request.getParameter("Nombre_Variable ");
}

3. Cerrar (Borrar) Variables de Sesión

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

IV. PATRON DE DISEÑO - MODELO VISTA CONTROLADOR (MVC)


Un patrón de diseño describe un problema que ocurre frecuentemente en el campo de la
construcción de software y su respectiva solución; puede ser empleado muchas veces, en
diferentes contextos, sin tener que duplicar el diseño. Se trata de un elemento de diseño que
puede ser reutilizado. Un patrón de diseño tiene tres elementos esenciales: El Nombre del Patrón,
El Problema y La Solución. El patrón de diseño Modelo-Vista-Controlador (MVC) divide las
aplicaciones en tres niveles de abstracción:

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

Vista: Es la encargada de mostrar la información al usuario de forma gráfica. Presenta el 'modelo'


(información y lógica de negocio) en un formato adecuado para interactuar (interfaz de usuario)

Controlador: Es el intermediario entre la vista y el modelo. Responde a eventos (usualmente


acciones del usuario) e invoca peticiones al 'modelo' cuando se hace alguna solicitud sobre la
información (Por ejemplo alguna tarea CRUD sobre una base de datos).
Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo de control
generalmente es el siguiente:
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 7 de 28

V. DESARROLLO DE UN SITIO WEB JSP - MVC

I. MODELO (“BASE DE DATOS - SGBD“)

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:

Nombre campo Tipo de dato Tamaño del Campo


Primary Key Id_Cliente Autonumerico (BigInt) Entero largo
Identificacion Número (BigInt) Entero largo
Nombre Texto (Varchar) 150
Apellido Texto (Varchar) 150
Fijo Texto (Varchar) 50
Celular Texto (Varchar) 50

II. VISTA - CONTROLADOR

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”:

body {margin:0; padding:0;text-align:center;background: #DBEBF6;}

#content {text-align:left; margin:auto;


width:100%; height:100%; position:absolute;}

#cabecera {width:100%;height:20%;background-color:#020;}

#menu {width:20%; height:65%; float:left;}

#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

border-right: 10px solid #508fc4;


background-color: #2175bc;
color: #fff;
text-decoration: none;
width: 100%;
}

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ú

Paso 8. En NetBeans en “Source Packages” agregue un Nuevo paquete y llámelo Controlador.


Dentro de este paquete agregue dos nuevas clases de java (Java Class) y llámelas “Cliente” y
“Conexión” respectivamente. Agregue el código que se muestra a continuación dentro de la clase
correspondiente.

Nota Importante: Tenga en cuenta que debe agregar el Archivo “mysql-connector-java-5.1.16.jar”


en la sección de librería del proyecto, este corresponde al driver de conexión en formato .jar entre
la Plataforma Java y el motor de bases de datos MySQL

a) Clase Conexión:

package Controlador;;
import java.sql.*;

public class Conexion {


public Connection getConexion(){

String driver = "com.mysql.jdbc.Driver";


String connectString = "jdbc:mysql://localhost:3306/Directorio";
String user = "usuario de MySql";
String password = "password de MySQL";
try
{
Class.forName(driver);
Connection con = DriverManager.getConnection(connectString, user , password);
return con;
}
catch ( Exception e )
{
System.out.println(e.getMessage());
return null;
}
}
}
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 13 de 28

b) Clase Cliente:

package Controlador;
import java.sql.*;

public class Cliente {

static Connection con;


static Conexion cx;

private long identificacion;


private String nombre;
private String apellido;
private String fijo;
private String celular;

public long getIdentificacion() {


return identificacion;
}
public void setIdentificacion(long identificacion) {
this.identificacion = identificacion;
}

public String getNombre() {


return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getApellido() {


return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}

public String getFijo() {


return fijo;
}
public void setFijo(String fijo) {
this.fijo = fijo;
}

public String getCelular() {


return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 14 de 28

public boolean GuardarCliente(){


try
{
cx = new Conexion();
con = cx.getConexion();

PreparedStatement stmt = con.prepareStatement("INSERT INTO Clientes (identificacion,


Nombre,Apellido, Fijo, Celular) VALUES (?,?,?,?,?)");

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;
}
}

public boolean ActualizarCliente(){

try
{
cx = new Conexion();
con = cx.getConexion();

PreparedStatement stmt = con.prepareStatement("UPDATE Clientes SET Nombre = '" +


this.nombre + "', Apellido = '"+ this.apellido + "',Fijo='"+ this.fijo + "',Celular='"+ this.celular +
"' WHERE (identificacion = " + this.identificacion + ")");

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

public boolean ConsultarCliente(String TipoConsulta, String Valor_a_buscar){

try
{
boolean consultaOK=false;
cx = new Conexion();
con = cx.getConexion();
Statement stmt = con.createStatement();

String SentenciaSQL="select * from Clientes";

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 + "'"; }

ResultSet rs = stmt.executeQuery (SentenciaSQL);

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

public String ConsultarTodosClientesWeb(){

String TablaRespuesta ="";


try
{
cx = new Conexion();
con = cx.getConexion();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Clientes");

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;
}

public boolean EliminarCliente(long IdentificacionABuscar){

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

PreparedStatement stmt = con.prepareStatement("DELETE FROM Clientes WHERE


(identificacion = " + IdentificacionABuscar + ")");

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

<%@page contentType="text/html" pageEncoding="UTF-8"%>

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


<%@ page import="Controlador.Cliente" %>

<!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>

<FORM ACTION="insertarcliente.jsp" NAME="insertar" METHOD="POST">

<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

<P><INPUT TYPE="SUBMIT" NAME="insertar" VALUE="Insertar


cliente"></P>

<P>NOTA: Los datos marcados con (*) deben ser rellenados


obligatoriamente</P>

<%

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

Cliente ObjCliente = new Cliente();

ObjCliente.setIdentificacion(identificacion);
ObjCliente.setNombre(nombres);
ObjCliente.setApellido(apellidos);
ObjCliente.setFijo(telefono);
ObjCliente.setCelular(celular);

boolean GuardarOK = ObjCliente.GuardarCliente();

if (GuardarOK)
{
out.write ("<script type='text/javascript'> alert('El
cliente ha sido creado correctamente')</script>");

out.write("<H2>Gestión de Clientes - El cliente ha sido


creado correctamente</H2>\n");
out.write("[ <A HREF='insertarcliente.jsp'>Insertar un
Nuevo Cliente</A> ]");
}
else
{
out.write ("<script type='text/javascript'> alert('Se
presento un error y No se pudo insertar este cliente
')</script>");

out.write("Se presento un error y No se pudo insertar


este cliente");
}

}
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

<%@page contentType="text/html" pageEncoding="UTF-8"%>

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


<%@ page import="Controlador.Cliente" %>

<!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

<%@page contentType="text/html" pageEncoding="UTF-8"%>

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


<%@ page import="Controlador.Cliente" %>

<!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>

<FORM ACTION="consultarcliente.jsp" NAME="consulta" METHOD="POST">

<!-- Tipo de Consulta-->


<P>Consultar por:
<SELECT NAME="tipoconsulta">
<OPTION SELECTED>Identificacion
<OPTION>Nombres
<OPTION>Apellidos
</SELECT></P>

<!-- Parametro de busqueda -->


Valor a Consultar:
<INPUT TYPE='TEXT' NAME='valor_a_consultar' SIZE='30'
MAXLENGTH='30'>

<!-- Botón de envío -->


<P><INPUT TYPE="SUBMIT" NAME="consultar" VALUE="Consultar"></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");

// Mostrar resultados de la consulta


try
{
Cliente ObjCliente = new Cliente();

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>");

out.write ("<script type='text/javascript'>


alert('Consulta Realizada Con Exito')</script>");

out.write("Consulta Realizada Con Exito");

}
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>");

out.write("No se ha encontrado ningun Cliente,


Verifique e intente nuevamente ");
}
}

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

<%@page contentType="text/html" pageEncoding="UTF-8"%>

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


<%@ page import="Controlador.Cliente" %>

<!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

<FORM ACTION="modificareliminarcliente.jsp" NAME="modificar" METHOD="POST">

<!-- Tipo de Consulta-->


<P>Consultar por:

<SELECT NAME="tipoconsulta">
<OPTION SELECTED>Identificacion
<OPTION>Nombres
<OPTION>Apellidos
</SELECT></P>

<!-- Parametro de busqueda -->


Valor a Consultar:
<INPUT TYPE='TEXT' NAME='valor_a_consultar' SIZE='30'
MAXLENGTH='30'>

<!-- Botón de envío -->


<P><INPUT TYPE="SUBMIT" NAME="consultar" VALUE="Consultar"></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");

// Mostrar resultados de la consulta


try
{
Cliente ObjCliente = new Cliente();

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>");

out.write("<INPUT TYPE='SUBMIT' NAME='modificar'


VALUE='Modificar'>");
out.write("<INPUT TYPE='SUBMIT' NAME='eliminar'
VALUE='Eliminar'>");
}
else
{
out.write ("<script type='text/javascript'> alert('No
se ha encontrado ningun Cliente, Verifique e intente
nuevamente Exito')</script>");

out.write("No se ha encontrado ningun Cliente,


Verifique e intente nuevamente ");
}
}
GUÍA Nº 9 - Programación Aplicada
Ingeniería Electrónica Ing. Néstor Raúl Suarez P.
Página 26 de 28

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");

Cliente ObjCliente = new Cliente();

ObjCliente.setIdentificacion(identificacion);
ObjCliente.setNombre(nombres);
ObjCliente.setApellido(apellidos);
ObjCliente.setFijo(telefono);
ObjCliente.setCelular(celular);

boolean ActualizarOK = ObjCliente.ActualizarCliente();

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"));

Cliente ObjCliente = new Cliente();

boolean EliminarOK = ObjCliente.EliminarCliente(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:

1. Solicite un número y se calcule simultáneamente las operaciones “Factorial - Seno - Coseno –


Raíz Cuadrada” y genere la serie de Fibonacci.

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

También podría gustarte