Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUIA DE PRÁCTICA
DESARROLLO RÁPIDO DE
APLIACIONES PARA INTERNET
Versión 1.0
2019-1
Elaborado por:
Historial de Revisiones
_________________________________________
DOCENTE PRINCIPAL
RESPONSABLE DEL CURSO
________________________________________________________
DOCENTE PRINCIPAL
RESPONSABLE DEL LABORATORIO
Agradecimientos
_________________________________________
RECTOR
UNIVERSIDAD ALAS PERUANAS
Prefacio
Índice
1. Presentación ........................................................................................................... 7
2. Objetivos.................................................................................................................. 7
3. Referencias Normativas........................................................................................ 7
4. Estándares de Laboratorio ................................................................................... 7
Unidad I: Introducción a JSP (Javaserver Page) .............................................................. 8
4.1.1. Guía I: Tópicos Básico sobre HTML …………………………………………….8
4.1.2. Guía II: Desarrollo de aplicaciones con JDBC ......................................... 10
4.1.3. Guía III: Generación de Reportes ............................................................... 10
4.1.4. Guía IV: Ejemplo de Aplicación HTML con Objeto <Table> .................. 12
Unidad II: Desarrollo de aplicaciones con JDBC .......................................................... 14
4.1.5. Guía V: Tópicos Básicos sobre JDBC ....................................................... 14
4.1.6. Guía VI: Ejercicios de Conexión a BD ....................................................... 16
4.1.7. Guía VII: CONSULTAS SIN PARAMETROS ........................................... 21
4.1.8. Guía VIII: Ejemplo de Consulta con Parámetros ..................................... 23
Unidad III: DISEÑO DE REPORTES EN JSP ............................................................. 27
4.1.9. Guía IX: DISEÑO DE UN REPORTE BASICO ........................................ 27
4.1.10. Guía X: CONECTAR REPORTE CON UNA BASE DE DATOS ....... 27
4.1.11. Guía XI: Personalizar el detalle del Reporte ......................................... 29
4.1.12. Guía XII: Manejo de la Banda de Pie de Pagina .................................. 32
Unidad IV: Spring Framework ...................................................................................... 33
4.1.14. Guía XIV: Spring ........................................................................................ 38
4.1.15. Guía XV: Precisiones sobre Frameworks.............................................. 40
4.1.16. Guía XVI: Spring Modules ........................................................................ 42
Anexo 1: Glosario ........................................................................................................... 46
1. Presentación
El curso de <Colocar Nombre del Curso> pertenece a la Línea de Carrera o Formativa y se dicta en
la Carrera de Ingeniería de Sistemas e Informática.
2. Objetivos
Brindar a los estudiantes ejercicios y casos prácticos que le permitan desarrollar sus habilidades y
conocimientos en el área de <Colocar la rama a la cual pertenece el curso> para abordar los
problemas que se dan en los diferentes campos de la actividad humana. Haciendo énfasis en la
formulación y solución de problemas, haciendo uso de programas computacionales.
3. Referencias Normativas
4. Estándares de Laboratorio
1. Durante la permanencia en el laboratorio tanto los docentes como los estudiantes, no deberán
consumir alimentos, ni bebidas, pos su seguridad y la de los equipos de cómputo.
2. Los estudiantes deberán seguir las indicaciones del docente responsable de la clase.
3. Revisar la informacion teórica previa al uso del software especializado para obtener mayor
provecho a la sesión de clase.
4. Mantener una actitud responsable, prudente, no correr, ni gritar.
5. Al terminar la sesión de clase los estudiantes deberán apagar correctamente el equipo de cómputo
que usaron para trabajar.
Que es HTML
La mayoría de las aplicaciones de escritorio que pueden leer y escribir
ficheros utilizan un formato de fichero especial. Por ejemplo, Microsoft
Word entiende los ficheros .doc y Microsoft Excel entiende los .xls. Estos
ficheros contienen las instrucciones para reconstruir el documento cuando
se vuelve a abrir y para saber cuál es su contenido, además de los
"metadatos" sobre el artículo, como por ejemplo el autor, la fecha de la
última modificación del documento e incluso cosas como la lista de cambios
realizados con el fin de poder recuperar todas sus diferentes versiones.
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Algunos elementos de bloque comunes incluyen los párrafos, las listas, los
títulos y las tablas.
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
<html>
<head><title>Ejemplo de tabla sencilla</title></head>
<body>
<h1>Listado de cursos</h1>
<table>
<tr>
<td><strong>Curso</strong></td>
<td><strong>Horas</strong></td>
<td><strong>Horario</strong></td>
</tr>
<tr>
<td>CSS</td>
<td>20</td>
<td>16:00 - 20:00</td>
</tr>
<tr>
<td>HTML</td>
<td>20</td>
<td>16:00 - 20:00</td>
</tr>
<tr>
<td>Dreamweaver</td>
<td>60</td>
<td>16:00 - 20:00</td>
</tr>
</table>
</body>
</html>
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Drivers JDBC
Los drivers JDBC drivers son adaptadores del lado del cliente (instalados
en la máquina cliente, no en el servidor) que convierten la petición
proveniente del programa JAVA a un protocolo que el SGBD pueda
entender.
Librería java.sql
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
MySQL
En primer lugar vamos a crear una base de datos, a la cual yo
llamaré: java_mysql. La mista tendrá una sola tabla llamada tareas con el
siguiente código:
Java
Vamos a abrir Netbeans y vamos a crear un nuevo proyecto, yendo a File -
> New Project -> Java -> Java Application.
Ahora, para conectar Java a MySQL tenemos que agregar una librería que
se encargará de hacer esa magia. Así que dentro que pulsando botón
derecho sobre la carpeta Libraries, vamos a ir a Add Library
package modelos;
public class Tarea {
private final Integer id_tarea;
private String titulo;
private String descripcion;
private Integer nivel_de_prioridad;
public Tarea() {
this.id_tarea = null;
this.titulo = null;
this.descripcion = null;
this.nivel_de_prioridad = null;
}
public Tarea(Integer id_tarea, String titulo, String descripcion, Integer
nivel_de_prioridad) {
this.id_tarea = id_tarea;
this.titulo = titulo;
this.descripcion = descripcion;
this.nivel_de_prioridad = nivel_de_prioridad;
}
public Integer getId_tarea() {
return id_tarea;
}
public String getTitulo() {
return titulo;
}
public String getDescripcion() {
return descripcion;
}
public Integer getNivel_de_prioridad() {
return nivel_de_prioridad;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public void setNivel_de_prioridad(Integer nivel_de_prioridad) {
this.nivel_de_prioridad = nivel_de_prioridad;
}
@Override
public String toString() {
package servicios;
import java.sql.*;
public class Conexion {
private static Connection cnx = null;
public static Connection obtener() throws SQLException,
ClassNotFoundException {
if (cnx == null) {
try {
Class.forName("com.mysql.jdbc.Driver");
cnx =
DriverManager.getConnection("jdbc:mysql://localhost/java_mysql",
"root", "");
} catch (SQLException ex) {
throw new SQLException(ex);
} catch (ClassNotFoundException ex) {
throw new ClassCastException(ex.getMessage());
}
}
return cnx;
}
public static void cerrar() throws SQLException {
if (cnx != null) {
cnx.close();
}
}
}
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Ejemplo:
Interfaz Statement
Utilice Connection.createStatement() para crear objetos Statement nuevos.
// Conéctese al servidor.
Connection c =
DriverManager.getConnection("jdbc:as400://mySystem");
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Connection c = null;
Statement s = null;
ps.setInt(1, 5);
try {
if (c != null) {
c.close();
}
} catch (SQLException e) {
System.out.println("El borrado no ha podido cerrar
Connection.");
}
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Title: 80
pageHeader: 30
detail: 260
y pageFooter: 55
Una vez que ya tenemos nuestro reporte listo para ser configurado, debemos
empezar por indicarle a Ireport que campos vamos a mostrar, de igual
manera tendremos que establecer una conexión para probar nuestro reporte
para ello siga los siguientes pasos: 1. Vaya al menú
DatosConexiones/Fuentes de Datos o haga clic en el botón situado al final
de la barra de herramientas de Texto: 2. En la ventana Conexiones clic en
“Nuevo par…” 3. Aparecerá la ventana “Propiedades de Conexión” en la
cual tendrá que seleccionar “Conexión Base Datos JDBC” 4. Esta es la
última ventana que le aparecerá Coloque el nombre de la conexión, la URL
y el nombre de usuario junto con su password, puede hacer clic en el botón
prueba para ver el estado de su conexión si el test se efectúa con éxito haga
clic en salvar, de lo contrario compruebe que los datos que haya escrito
estén correctos. Una vez que nuestra conexión está hecha diríjase al menú
“”EDITAR””CONSULTA DE INFORME” y deshabilite la casilla ya que
esta opción le estará pidiendo su password a medida que escriba la consulta,
una vez que finalice la consulta habilítela para que recupere todos los
campos de la vista. Ahora proceda a escribir la consulta, en este ejemplo
escribiremos un SELECT sencillo que nos regresará todos los campos que
contiene la vista ordenados por ID:
select * from rep_per order by per_id_persona también notara que en la
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Banda detail Esta es nuestra banda principal porque tiene como función
principal mostrar todos los datos de nuestra tabla o VISTA como lo es en
este caso, para llenar puede ir insertando parejas de
campos “Estático” y ”Texto”, el estático será para poner los conceptos y el
de texto será el dato obtenido de la vista de la base de datos, para ello repita
los pasos anteriormente mencionados. Si lo hace de esta manera No olvide
colocar el tipo de dato de cada Campo de Texto. Y Recuerde Colocar el
nombre de la columna dentro de las llaves tal y como lo asigno en la Base
de datos.
Una vez que están todos los campos solo colóqueles un campo estático y
escríbale el mensaje o concepto asociado con cada campo de texto, por el
momento su apariencia deberá quedar más o menos así:
•
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Pros y contras
Spring no se encuentra en el número 1 por cualquier razón. Estas son
las más destacadas:
Inyección simplificada de datos de prueba mediante el uso de POJOs.
Modularidad mejorada, lo que provoca una mejor legibilidad del código.
Acoplamiento flexible entre los diferentes módulos.
Inyección de dependencias con un uso flexible.
Aunque no podemos considerarlo un inconveniente, ya que existe una
gran cantidad, sí es cierto que Spring MVC quizás debería ser más fácil
de aprender para los desarrolladores novatos. A menudo se quejan de
Struts 2
Otro de los principales frameworks de Java utilizados por gran parte de
los ingenieros de software más modernos es el sucesor de Apache Struts
1, su versión número dos. Este framework es todo un hallazgo para los
desarrolladores que construyen nuevas aplicaciones web con Java EE .
Apache ha entregado a estos un conjunto enorme de herramientas para
crear aplicaciones web orientadas a empresas optimizando el proceso de
desarrollo desde el inicio hasta el final y el mantenimiento posterior a la
entrada en funcionamiento. Struts 2 es la elección correcta si la web va a
tener una carga alta de datos, como puede ser una web de broadcast.
Pros y contras
Es un lujo no tener que implementar la clase Action, ya que está ya
incorporada. El código para configurar repeticiones ya no es necesario
porque los interceptores se ocupan de ello . Sin embargo, es posible que
no te decantes por este framework por una razón: muchos
desarrolladores no lo consideran suficientemente ágil para trabajar con
él.
Hibernate
El framework de mapeo de Java rompe con la impedancia del objeto-
relacional y con los problemas de desajuste sustituyendo accesos a
bases de datos de alto nivel . Hibernate está equipado con grandes
características que ayudan a los desarrolladores back-end a acceder a
los datos. Se trata de un framework ORM avanzado que permite realizar
la operación en la base de datos de objetos Java (entidades). Es un
concepto continuado que utiliza caché Hibernate para llevar los datos
del entorno Java a la base de datos.
Pros y contras
Hibernate permite comunicarse con cualquier base de datos utilizando
con las mínimas alteraciones del código reduciendo la brecha entre los
objetos y las palabras relacionales. Además:
Oracle, DB2, MySQL o, Hibernate son independientes DB.
Mecanismo de caché para buscar errores en bases de datos con
consultas similares.
Vaadin
Este framework se convirtió en uno de los principales y más populares
para los desarrollos de aplicaciones de negocios . Utilizando un enfoque
basado en componentes conocidos, quita peso a los desarrolladores a la
hora de comunicar los cambios realizados al navegador. Un amplio
conjunto de componentes de interfaz de usuario, junto con diversos
widgets y controles, permite a los programadores crear aplicaciones
más que interesantes en muy poco tiempo.
Pros y contras
Haciendo el diseño en Java, HTML o ambos, Vaadin permite enlazar
datos utilizando el MVC o el MVP. Los drag and drop, unido a una gran
cantidad de características, hacen posible la fácil creación de Single
Page UIs con aplicación de Java . En el lado negativo, la lenta interfaz
de usuario para las aplicaciones móviles puede ser preocupante, ya que
Vaadin envía de vuelta cada evento al servidor.
Pros y contras
Con Google Web Toolkit, se obtiene la base de código único (tanto en el
navegador como en el servidor de programación en Java) que f acilita
los procesos de desarrollo y depuración . La fácil complementación con
otras tecnologías permite a los programadores integrar widgets de GWT
en páginas web. La capacidad de personalizar widgets es otro aspecto
importante que puede ser creados con la ayuda de este framework. Sin
embargo, para un diseñador de páginas web, GWT no es el mejor
framework de Java por el que decantarse; no es recomendable para
aquellos que trabajan con HTML plano y pretenden incorporar más
tarde contenido dinámico.
Grails
Este particular framework web es considerado como una herramienta
dinámica que mejora la productividad de los ingenieros debido a sus
APIs , sus buenos valores por defecto, así como su convención sobre la
Pros y contras
La rápida configuración de un nuevo proyecto y la plantilla ahorran
mucho tiempo para los desarrolladores . Además, cuenta con una gran
librería de plugins (más de 900) muy fáciles de instalar. A pesar de la
belleza de Grails, un framework Java de desarrollo full-stack, se trata de
un software que puede resultar demasiado pesado.
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Spring Framework
Spring ayuda a solventar este problema ya que cambia las responsabilidades y
en vez de que el propio desarrollador sea el encargado de generar los objetos
de cada uno de los frameworks es Spring basandose en ficheros xml o
anotaciones el encargado de construir todos los objetos que la aplicación va
a utilizar.
Spring y Código
Así pues es muy común encontrarse aplicaciones de Spring framework
con amplios ficheros XML que se encargan de inicializar los diferentes
objetos como se muestra a continuación.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-
3.0.xsd">
</beans>
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
1. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
4. ______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
1. ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
2. ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
4. ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
5. ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
Anexos
Anexo 1: Glosario
a) Blackboard: Empresa proveedora de una plataforma para estudios On Line que
promueve la gestión del aprendizaje en un entorno centralizado.
c) Crédito: el crédito académico es una medida del tiempo formativo exigido a los
estudiantes, para lograr aprendizajes teóricos y prácticos