Publicado el 3 de Octubre del 2018
760 visualizaciones desde el 3 de Octubre del 2018
868,3 KB
35 paginas
Creado hace 6a (30/10/2017)
UNIVERSIDAD DE EL SALVADOR
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION III
JavaServer Pages
PARTE II
Parte 1 Ejemplo de página JSP con INSERT Y SELECT ......................................................................... 1
Proceso de Solución .................................................................................................................................. 2
Paso1. Preparación de la Base de Datos. .............................................................................................. 2
Paso2. Creación de Proyecto y Clases. ................................................................................................. 4
Clases .................................................................................................................................................... 5
Clases de Modelo .............................................................................................................................. 5
Clases de Base de Datos.................................................................................................................... 5
Interfaz Web(index.jsp) ......................................................................................................................... 8
Parte 2 UPDATE Y DELETE ................................................................................................................. 16
Proceso de Solución ................................................................................................................................ 17
Paso 1. Agregar Botones a la interfaz. ................................................................................................ 17
Paso 2 Creación de métodos en clase CarreraBd. ............................................................................... 17
Ejercicios(adicionales) ............................................................................................................................ 18
Anexo 1 (Código de Clases Carrera y Facultad)..................................................................................... 19
Anexo 2 (Código de Clase Conexion) .................................................................................................... 20
Anexo 3 (Código de Clase CarreraBd) ................................................................................................... 22
Anexo 4 (Código de Clase FacultadBd) ................................................................................................. 25
Anexo 5 (Código de index.jsp, solo adicionar y consultar (tabla)) ......................................................... 27
Anexo 6 (Código del script dentro de index.jsp con UPDATE Y DELETE) ......................................... 31
Parte 1 Ejemplo de página JSP con INSERT Y SELECT
Supongamos que se nos pide crear una interfaz Web para almacenar las carreras que se imparten en las distintas
facultades de la Universidad, similar a la siguiente:
Nota: este es solo el módulo de inserción de datos.
Nuestro modelo de negocio tendría dos clases, como se muestra a continuación.
Nótese que estas clases que corresponden al modelo de negocio deben crearse en el paquete carnetlab08ejem01.modelo.
1
Para los métodos de acceso a los datos que residen en la base de datos, crearemos otras clases, como se muestra en el siguiente
modelo.
El modelo muestra cómo se relacionan, las clases para acceder a los datos de la base de datos y las clases del modelo del
negocio. Las clases Conexion, FacultadBd y CarreraBd deben ser creadas en el paquete carnetlab08ejem01.bd.
Nótese que las clases FacultaBd y CarreraBd tienen como función acceder a la base de datos, recuperar o almacenar los datos
a través de sentencias SQL y convertir estos datos en objetos del negocio.
Para conectarse a la base de datos las clases utilizar la clase Conexion, que realiza una conexión a la base de datos cuando sea
requerido. Para evitar que se creen conexiones innecesariamente, se utiliza el patrón Singleton para el atributo de conexión
con.
Proceso de Solución
Paso1. Preparación de la Base de Datos.
Crearemos en el esquema de carnet (base de datos personal de cada alumno, ya sea local o en el servidor), las tablas Facultad
y Carrera, para ello a entraremos a pgAdmin e insertaremos un script llamado crebasguia08posg.sql que se encuentra en la
carpeta ArchivosGuia08 del aula virtual de la asignatura.
Similar a la guía06 se tienen dos archivos para importar registros de muestra a sus tablas (datos_facultades y datos_carreras)
Importe los datos , al menos de facultades, ya que el modulo que haremos será de Carreras y este requiere tener datos en
Facultad por integridad referencial.
Nota: si no tiene acceso al usuario de su carnet, utilice el que se llama carnet con password carnet o el que le indique su
instructor.
Al finalizar podremos ver en nuestro árbol de tablas algo como lo siguiente:
Si se llenaron los datos correctamente, podremos verificar con otro script y la instrucción SELECT, si hay datos en nuestras
tablas.
Ejemplo select * from facultad
Paso2. Creación de Proyecto y Clases.
Crear un proyecto Web Application llamado carnetLab08ejem01 en la localización que Ud. desee
Agregue las clases (vacías indicadas para los paquetes el modelo y base de datos) además de la librería de PostgreSQL
Al finalizar deberá tener un árbol de proyecto como el que se muestra
Clases
Clases de Modelo
Las clases de esta sección deberán crearse en base al modelo de la página 1
Si tiene problema para realizarlo puede consultar anexo1.
Clases de Base de Datos
Conexión con sus dos métodos que aparecen en página 2.
Si desea copiar el código, puede ir al anexo 2
Clase CarreraBd
Si desea copiar el código, puede ir al anexo 3
Clase FacultadBd
Si desea copiar el código, puede ir al anexo 4
Interfaz Web(index.jsp)
Una vez que tenemos las clases internas de nuestra aplicación, podemos programar la interfaz Web que utilizaremos y el
código Java para utilizar las clases internas.
Agregue al proyecto un nuevo archivo index.jsp
Comenzaremos con el código HTML básico para hacer el formulario sin conexión con base de datos(se simulara en la tabla
y en la lista desplegable, un registro de facultades y otro de carreras respectivamente)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Registro de carreras por facultad</title>
</head>
<body>
<form id="carrerafrm">
<table>
<tbody>
<tr>
<td>Código:</td>
<td><input name="codigotxt" type="text"/></td>
</tr>
<tr>
<td>Nombre:</td>
<td><input name="nombretxt" type="text"/></td>
</tr>
<tr>
<td>Facultad:</td>
<td><select name="facultadlst">
<option>Lista facultades</option>
</select>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td><input type="submit" value="Guardar"/></td>
</tr>
</tfoot>
</table>
<input name="cmd" type="hidden"/>
</form>
<br/>
<br/>
<table border="1">
<thead>
<tr>
<th>Código</th>
<th>Nombre</th>
<th>Facultad</th>
</tr>
</thead>
<tbody>
<tr>
<td>Código 001</td>
<td>Nombre de la carrera</td>
<td>Facultad a la que pertenece</td>
</tr>
</tbody>
</table>
</body>
</html>
Ejecute el formulario para comprobar que no hay errores.
Y se mostrara:
Ahora podemos agregar las etiquetas las directivas JSP, las etiquetas JSP y los Servlets.
<%@page import="carnetlab08ejem01.modelo.Facultad" %>
<%@page import="carnetlab08ejem01.modelo.Carrera" %>
<jsp:useBean id="facultadBd" scope="session" class="carnetlab08ejem01.bd.FacultadBd" />
<jsp:useBean id="carreraBd" scope="session" class="carnetlab08ejem01.bd.CarreraBd" />
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
if (request.getParameter("cmd") == null) {
facultadBd.obtenerFacultades();
carreraBd.obtenerCarreras();
} else {
if (request.getParameter("cmd").equals("guardar")) {
if (request.getParameter("codigotxt")
!= null && request.getParameter("nombretxt")
!= null && request.getParameter("facultadlst")
!= null) {
if (!request.getParameter("codigotxt").isEmpty() &&
!request.getParameter("nombretxt").isEmpty()) {
String codigo = request.getParameter("codigotxt");
String nombre = request.getParameter("nombretxt");
Integer idFacultad = Integer.parseInt(request.getParameter("facultadlst"));
if (carreraBd.guardar(codigo, nombre, idFacultad)) {
out.print("<strong>Guardado</strong>");
carreraBd.obten
Comentarios de: JavaServer Pages - Parte II (0)
No hay comentarios