Está en la página 1de 17

Requisitos: Netbeans 7.

1 en adelante

Contenido
Arquitectura .......................................................................................................................................2 Aplicacin ...........................................................................................................................................2 Crear base de datos en javaDB .......................................................................................................2 Creamos proyecto web ..................................................................................................................4 Agregar librera de BD ................................................................................................................5 Crear conexin a la base de datos. .................................................................................................6 Creacin del Pool de conexiones en la aplicacin. .........................................................................7 Aplicacin web .............................................................................................................................10 Insertar.jsp ...................................................................................................................................11 Listar estudiantes .....................................................................................................................13 Conclusiones ....................................................................................................................................14 Referencias.......................................................................................................................................17

Arquitectura
Para este ejemplo usaremos una arquitectura de dos niveles en la que un cliente se comunica con un servidor. En este tutorial, una aplicacin web Java se comunica directamente con una base de datos JavaDB utilizando el API Java Database Connectivity (JDBC). La aplicacin en esta gua consiste en la creacin de tres pginas JSP. En cada una de estas pginas se utiliza HTML y CSS para implementar una interfaz sencilla, y aplicar la tecnologa JSTL 1 (JSP Standard Tag Library) para realizar la lgica que consulta directamente a la base de datos e inserta los datos obtenidos en las pginas.

Aplicacin
Crear base de datos en javaDB
Para realizar el ejercicio de base de datos con JSP crearemos una base de datos usando el Motor incorporado que trae el entorno (Apache derby), y ms adelante crearemos el JDBC que usaremos para conectarnos con la base de datos; (de igual manera podramos realizar este ejercicio usando MySQL). En la pestaa Prestaciones o Services debe aparecer una opcin JavaDB.

Presionamos clic derecho para crear una nueva base de datos.

JSTL es un conjunto de libreras de etiquetas simples y estndares que encapsulan la funcionalidad principal que es usada comnmente para escribir pginas JSP.

Para este caso crearemos la base de datos prueba1 y el usuario y contrasea de conexin ser el mismo nombre de la base de datos para que no tengamos problemas ms adelante. Al crear la base de datos automticamente se crea un jdbc, el cual pueden ver en la lista de conexiones:

En la base de datos crearemos una nueva tabla llamada estudiante que tendr los siguientes campos: (presione clic derecho sobre la carpeta Tables dentro de la BD prueba1).

Creamos proyecto web


Ahora podemos proceder a crear nuestro proyecto web. En el men File seleccionamos la opcin New Project y seleccionamos una web aplication. Despus debemos definir el nombre de la aplicacin que deseamos crear para este ejemplo le colocaremos ProyectoWeb1.

Ahora debemos seleccionar el servidor que usaremos para realizar el despliegue de la aplicacin (seleccionar glassfish) y la versin de JavaEE; vamos a seleccionar la versin java EE6 web.

A diferencia de la versin Java EE 5, esta versin no necesita un archivo descriptor de despliegue web.xml. y por eso la plantilla de proyectos de netbeans no lo crea por defecto, pero es necesario que lo creemos manualmente para poder asociar el jdbc que crearemos ms adelante. Netbeans nos proporciona diferentes frameworks de desarrollo que nos ayudarn a crear mejores, ms sencillas y ms optimizadas aplicaciones, pero para esta primera aplicacin no seleccionaremos ninguno. Y presionamos finish para crear la aplicacin. Esta primera aplicacin es un tpico hola mundo; podemos observar la estructura de carpetas que crea netbeans. La extensin del archivo es jsp indicando que es una aplicacin web con java.

Para ejecutar esta aplicacin en el servidor glassfish vamos a seleccionar el titulo del proyecto y le daremos ejecutar, para que abra en un navegador esta primera aplicacin. (Recuerde que por defecto el puerto de escucha de glassfish es el puerto 8080). Por defecto se crea un archivo llamado index.jsp en la carpeta web pages, es necesario que creemos tres archivos con extensin jsp, que nos ayudarn a manejar las operaciones de insertar, actualizar y eliminar estudiantes. Para crear los archivos presionamos clic derecho sobre la carpeta web pages y seleccionamos nuevo JSP. Creamos los archivos insertar.jsp, actualizar.jsp y eliminar.jsp. Agregar librera de BD Ya que para este ejemplo hemos usado JavaDB para crear nuestra base de datos debemos agregar la librera correspondiente para que nuestro proyecto tenga los driver apropiados y pueda conectarse a la base de datos. 1. Haga clic derecho sobre la carpeta libreras o libraries que aparece en el proyecto.

2. Seleccione la opcin add Library y busque la librera de la base de datos seleccionada, en este caso JavaDB.

Crear conexin a la base de datos.


En la pestaa services o prestaciones haga clic derecho sobre Databases y seleccione la opcin new conection.

Si aparece una interfaz para seleccionar el driver seleccione el driver como esta en la figura y diligencie los campos de conexin:

En host: usamos la ip del servidor en donde est la base de datos como esta en el equipo local, usaremos localhost, y el puerto 1527. En database: escribimos el nombre con el que creamos la base de datos (prueba1), y en usuario y contrasea escribimos los datos que usamos al crear la base de datos. Nota: si aparece un mensaje de error informando que ya existe, es pq al momento de crear la base de datos se cre automticamente el jdbc como se mencion mas arriba en esta misma gua.

Creacin del Pool de conexiones en la aplicacin.


La forma ms eficiente para implementar la comunicacin entre el servidor y la base de datos es la creacin de un pool de conexiones a la base de datos. El pool de conexiones son las credenciales que se usarn en el proyecto para realizar la conexin a alguna base de datos especfica utilizando un jdbc creado previamente. 1. Presione clic derecho sobre la carpeta del proyecto y seleccione la opcin new/other 2. En el asistente seleccione la categora glassfish

3. Los pasos siguientes muestran cmo declarar un pool de conexiones, y una fuente de datos (datasource) que se basa en la agrupacin de conexiones. El asistente de Recursos JDBC NetBeans permite llevar a cabo ambas acciones. Como no se ha creado otro pool para este proyecto debemos crear un nuevo pool de conexiones, marcando la opcin de crear nuevo que aparece en el asistente.

Puede asignarle un nuevo nombre a la conexin o dejar el nombre que aparece por defecto, este nombre lo usa el directorio de nombres de java (JDNI2) para la ubicacin de los diferentes recursos. 4. La siguiente interfaz la dejamos tal cual y presionamos siguiente para definir el nombre del pool de conexiones.

La Interfaz de Nombrado y Directorio Java (Java Naming and Directory Interface) es una Interfaz de Programacin de Aplicaciones (API) de Java para servicios de directorio. Permite a los clientes descubrir y buscar objetos y datos a travs de un nombre.

5. En la pantalla de propiedades de la conexin dejamos todos los valores por defecto y presionamos finish.

En el panel del proyecto debe aparecer una carpeta server-resources y un archivo llamado glassfish-resources.xml, el cual contiene todas las propiedades para realizar la conexin.

6. Como utilizamos la versin javaEE6 web, no se cre automticamente el archivo web.xml el cual necesitamos para definir el recurso de conexin que acabamos de crear; vamos a crearlo manualmente: damos clic derecho en el nombre del proyecto y seleccionamos new/Other para abrir el asistente de nuevo archivo.

En el asistente seleccionamos la categora Web y seleccione Standard Deployment Descriptor (web.xml); presione finish. Automticamente se abre el archivo web.xml en cdigo fuente

Debemos cambiar a la vista References o Referencias, para agregar la referencia al jdbc que hemos creado. En la interfaz que aparece presionamos el botn Add o Nuevo.

En el campo Resource Name, escribimos el mismo nombre que digitamos en el JDNI en el punto 3.

Aplicacin web
En el archivo index.jsp crearemos los enlaces correspondientes a los archivos insertar.jsp, actualizar.jsp y eliminar.jsp

Insertar.jsp
Implementar cdigo JSTL Ahora se puede ejecutar el cdigo que recupera dinmicamente y muestra los datos de cada pgina. Todas las pginas requieren que implemente una consulta SQL que utiliza el origen de datos creado anteriormente en el tutorial. Primero debemos crear el formulario con los campos de texto que capturarn los valores que necesitamos para guardar en la base de datos; creamos tres campos con los nombres de los campos de la tabla estudiante. (recuerde que este cdigo se coloca dentro de las etiquetas body) <form action="insertar.jsp" method="post"> <label for="id">Id</label><input type="text" name="id"><br> <label for="nombre">Nombre</label><input type="text" name="nombre"><br> <label for="direccion">Direccin</label><input type="text" name="direccion"><br> <input type="submit" value="Enviar"> </form>

El IDE proporciona varios fragmentos JSTL de base de datos especficos que se pueden seleccionar en la paleta.

Encima de la etiqueta <form > pondremos tres etiquetas c:set que nos permitirn capturar los valores de id, nombre y direccin. <c:set var="id" value="${param.id}"> <c:set var="nombre" value="${param.nombre}"/> <c:set var="direccion" value="${param.direccion}"/> La primera vez que se llame a esta pgina los valores sern null, pero despus de presionar el botn de enviar capturamos los parmetros del formulario. Para usar JSTL debe agregar las siguientes dos lneas al principio del archivo JSP. <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> Arrastramos una sentencia If de la paleta de JSP, y le agregamos la siguiente condicin:

Si esta condicin es verdadera entonces realizaremos la operacin de insertar. De la paleta de database arrastramos la operacin DBInsert

Como queremos insertar los parmetros capturados usando c:set, es necesario que despus de la sentencia insert agregremos tres parmetros de sql <sql:param value="${id}"/> <sql:param value="${nombre}"/> <sql:param value="${direccion}"/> (Nota: Estos parametros van dentro de la etiqueta sql:update) El cdigo para insertar en la base de datos est terminado.

Listar estudiantes Para complementar este ejercicio vamos a crear una tabla que liste los registros de la tabla estudiante. Arrastramos de la paleta DataBase el elemento DBReport debajo del formulario.

En el asistente escriba el nombre de la fuente de datos y la sentencia sql para realizar la bsqueda de los registros de la tabla estudiante.

Conclusiones
En esta gua se identificaron algunos pasos bsicos para la creacin de una aplicacin usando el JDBC y un pool de conexiones. 1. 2. 3. 4. 5. 6. Creacin de la base de datos. Creacin del JDBC correspondiente. Creacin del proyecto web. Importar drivers correspondientes al motor de base de datos en el proyecto web. Creacin del JDBC Resource y el pool de conexiones en el proyecto web. Creacin de operaciones usando elementos JSTL.

Cdigo isertar.jsp <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Pgina insertar</h1> <c:set var="id" value="${param.id}"/> <c:set var="nombre" value="${param.nombre}"/> <c:set var="direccion" value="${param.direccion}"/> <c:if test="${(id!=null) && (nombre!=null) && (direccion!=null)}"> <sql:update var="insertar" dataSource="jdbc/myDatasource"> INSERT INTO estudiante (id,nombre,direccion) VALUES (?,?,?) <sql:param value="${id}"/> <sql:param value="${nombre}"/> <sql:param value="${direccion}"/> </sql:update> </c:if> <form action="insertar.jsp" method="post"> <label for="id">Id</label><input type="text" name="id"><br> <label for="nombre">Nombre</label><input type="text" name="nombre"><br> <label for="direccion">Direccin</label><input type="text" name="direccion"><br> <input type="submit" value="Enviar"> </form> <sql:query var="result" dataSource="jdbc/myDatasource"> SELECT * FROM estudiante </sql:query> <table border="1"> <!-- column headers --> <tr> <c:forEach var="columnName" items="${result.columnNames}"> <th><c:out value="${columnName}"/></th> </c:forEach> </tr> <!-- column data --> <c:forEach var="row" items="${result.rowsByIndex}"> <tr> <c:forEach var="column" items="${row}">

<td><c:out value="${column}"/></td> </c:forEach> </tr> </c:forEach> </table> </body> </html>

Referencias
http://www.youtube.com/watch?v=q10XMtDjTtg&list=SP5F907F818938859E&index=3 https://netbeans.org/kb/docs/web/mysql-webapp.html

También podría gustarte