Lab09-APL-I (1).docx

12
Programacion de Aplicaciones I Laboratorio 9: FORMULARIOS CON SERVLETS Y JSP Alumno: Francis Velasquez Cornejo Nota: _________ Objetivo: Crear y ejecutar una aplicación web en java Identificar la estructura de una aplicación web Identificar las principales características de los servlets Implementar aplicaciones web empleando servlets Requisitos: Software instalado de la plataforma JDK Software instalado de la herramienta NetBeans Procedimiento: APLICACIONES WEB 1. Encienda el equipo y cargue el equipo virtual correspondiente 2. Inicie la herramienta NetBeans 3. Crear un proyecto nuevo File New Project Categories: Java Web Project: Web Application Next Project Name: WebApp01 Next Next Finish 4. Identifique la estructura de la nueva aplicación creada: 5. Ejecute la aplicación Web. Click derecho sobre el nombre del proyecto Run Guía de Laboratorio Pág. 1

Transcript of Lab09-APL-I (1).docx

Page 1: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

Laboratorio 9: FORMULARIOS CON SERVLETS Y JSP

Alumno: Francis Velasquez Cornejo Nota: _________

Objetivo: Crear y ejecutar una aplicación web en java Identificar la estructura de una aplicación web Identificar las principales características de los servlets Implementar aplicaciones web empleando servlets

Requisitos: Software instalado de la plataforma JDK Software instalado de la herramienta NetBeans

Procedimiento:

APLICACIONES WEB

1. Encienda el equipo y cargue el equipo virtual correspondiente

2. Inicie la herramienta NetBeans

3. Crear un proyecto nuevo

File New Project Categories: Java Web Project: Web Application Next

Project Name: WebApp01 Next Next Finish

4. Identifique la estructura de la nueva aplicación creada:

5. Ejecute la aplicación Web. Click derecho sobre el nombre del proyecto Run

6. Modifique el contenido del documento index.html como se indica en la siguiente figura:

Guía de Laboratorio Pág. 1

Page 2: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Aplicacion Web 01</title> </head> <body> <h1>Programacion de Aplicaciones I</h1> <hr> <h2>Tecsup - Arequipa</h2> </body></html>

7. Grabe el documento anterior

8. Ejecute nuevamente el documento index.jsp

9. Agregue cuatro documentos HTML a la aplicación anterior en el nodo Web Pages:

10. Documento entorno.jsp<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <frameset rows="80,*"> <frame src=titulo.html name=titulo> <frameset cols="250,*"> <frame src=opciones.jsp name=izquierda> <frame src=contenido.html name=derecha> </frameset> </frameset> </head></html>

11. Documento titulo.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html> <head><title>Matriculas</title></head> <body BGCOLOR="BLACK"> <center><h1><FONT COLOR="YELLOW"> SISTEMA DE CONTROL DE MATRICULAS</FONT></h1></center> </body></html>

Guía de Laboratorio Pág. 2

Page 3: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

12. Documento contenido.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html> <head> <title></title> </head> <body> <H2>Contenido de la aplicación</H2> </body></html>

13. Documento opciones.jsp<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body bgcolor=silver> <h3>OPCIONES DISPONIBLES</h3> <br/> <a href="listarCursos.jsp" target="derecha">Registro Cursos</a> <p/> <a href="listarAlumnos.jsp" target="derecha">Registro Alumnos</a> <p/> <a href="matriculas1.jsp" target="derecha">Registro Matriculas - 1</a> </body></html>

14. Ejecute y visualice el contenido del documento entorno.html. Click derecho entorno.html Run File

15. Indique los detalles más importantes del ejercicio anterior:

Guía de Laboratorio Pág. 3

Page 4: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

los frames nos permiten reutilizar código, así mismo nos permiten utilizar distintas aplicaciones web en una misma página, haciendo que cada una de estas sea independiente de las demás.

16. Adicionar un nuevo Servlet denominado ServletSaludo aplicando el procedimiento que se indica a continuación:

Click derecho en el nodo Source Packages New Other Seleccione: Categories Web Seleccione: File Types Servlet Next

Class Name: ServletSaludo Package: com.tecsup.servlets Next ServletName: ServletSaludo URL Pattern: /ServletSaludo Finish

17. Modifique el contenido de la función processRequest() del servlet como se indica a continuación

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("<h1>Saludo desde un servlet. " + "Programacion de aplicaciones 1</h1>"); out.println("<h2>Mi ubicacion es: " + request.getContextPath() + "</h2>"); } finally { out.close(); } }

18. Ejecute el servlet anterior. Click derecho sobre dicho servlet Run File OK

19. Agregue un nuevo servlet al proyecto denominado ServletSuma:

Guía de Laboratorio Pág. 4

Page 5: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

Click derecho en el nodo Source Packages New Other Seleccione: Categories Web Seleccione: File Types Servlet Next

Class Name: ServletSuma Package: com.tecsup.servlets Next ServletName: ServletSuma URL Pattern: /ServletSuma Finish

20. Modifique el código de la función processRequest() del servlet ServletSuma como se indica a continuación:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { String par1 = request.getParameter("a"); String par2 = request.getParameter("b"); int n1 = Integer.parseInt(par1); int n2 = Integer.parseInt(par2); int rp = n1 + n2; out.println("Suma de " + n1 + " + " + n2 + " = " + rp); } finally { out.close(); } }

21. Ejecute el servlet ServletSuma En la ventana Set Servlet Execution URI complete el URL para especificar los números a sumar como se muestra en el siguiente gráfico:

Guía de Laboratorio Pág. 5

Page 6: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

Fuente: Elaboración Propia

22. Modifique el URL en el navegador para ejecutar el ServletSuma con valores diferentes

23. En el nodo Web Pages adicione un documento HTML denominado: frmSumas con el siguiente contenido:

24. Ejecute el documento HTML anterior. Click derecho en frmSumas.html Run File. Ingrese los valores a sumar:

Guía de Laboratorio Pág. 6

Page 7: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

Fuente: Elaboración Propia

Fuente: Elaboración Propia

Guía de Laboratorio Pág. 7

Page 8: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

EJERCICIO DE APLICACIÓN – LOGINCREACION DE LA BASE DE DATOS25. Crear una tabla denominada: ”t_usuarios” en la base de datos test con la siguiente estructura:

CAMPO TIPO DE DATO

CODIGO VARCHAR(5)

NOMBRE VARCHAR(30)

CLAVE VARCHAR(30)

ESTADO VARCHAR(1)

Fuente: Elaboración Propia

26. Agregue un registro a la tabla datos con los siguientes datos:

INSERT INTO t_usuarios VALUES (‘1001’,’ADMIN’,’1001’,’A’);

Guía de Laboratorio Pág. 8

Page 9: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

Fuente: Elaboración Propia

VALIDACIÓN DE USUARIO27. En el nodo Web Pages. Ubique el archivo index.html y modifique su contenido como se indica a

continuación:

<html> <head><title>Identificacion</title></head> <body bgcolor=yellow> <center><H2>Identificacion de usuario</H2> <form method=post action="/WebApp01/ServletVerifica"> <table> <tr><td>Codigo: </td> <td> <input name=xcod size=10> </td></tr> <tr><td>Clave:</td> <td><input type=password name=xcla size=10></td></tr> <tr><td colspan=2 align=center> <input type=submit value=ACEPTAR> </td> </table> </form></center> </body></html>

28. En el nodo Source Packages. Crear unA clase Java denominada cBaseDatos en el paquete com.tecsup.datos. con el siguiente contenido::

package com.tecsup.datos;import java.sql.*;import java.util.*;

public class cBaseDatos { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost/test"; String usuario = "root"; String clave = "tecsup";

private Connection Conectar() { try { Class.forName(driver); Connection xcon = DriverManager.getConnection(url,usuario,clave); return xcon; } catch(Exception e) { System.out.println(e.toString()); } return null; } public boolean validarUsuario(String xcod, String xcla) { try { Connection xcon = this.Conectar(); String sql = "select count(*) from t_usuarios where codigo=? AND " + "clave=?"; PreparedStatement ps=xcon.prepareStatement(sql); ps.setString(1, xcod ); ps.setString(2, xcla ); ResultSet rs = ps.executeQuery(); rs.next(); String cantidad = rs.getString(1); int xcant = Integer.parseInt( cantidad ); if ( xcant > 0 ) return true; xcon.close(); return false;

Guía de Laboratorio Pág. 9

Page 10: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

} catch (Exception ex ) { System.out.println(ex.toString()); } return false; }}

29. Crear un nuevo Servlet en el paquete com.tecsup.servlets denominado ServletVerifica: Modifique la función processRequest() como se indica a continuación:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { String xcod = request.getParameter("xcod"); String xcla = request.getParameter("xcla"); cBaseDatos objDB = new cBaseDatos(); if (objDB.validarUsuario(xcod, xcla)) response.sendRedirect("/WebApp01/entorno.html"); else response.sendRedirect("/WebApp01/error_acceso.html"); } finally { out.close(); } }

30. Adicione el conector JDBC para MySQL a su proyecto al nodo Libraries

Fuente: Elaboración Propia

31. Ejecute la aplicación y verifique si la aplicación valida adecuadamente la cuenta de usuario:

Guía de Laboratorio Pág. 10

Page 11: Lab09-APL-I (1).docx

Programacion de Aplicaciones I

Fuente: Elaboración Propia

Fuente: Elaboración Propia

Guía de Laboratorio Pág. 11