SlideShare una empresa de Scribd logo
3CM3
Ortiz Ávila Dafne Baal
3CM3
Tutorial de aplicación Web en
Netbeans IDE
1
Creación de una aplicación Web con conexión a base de datos
Por medio de este tutorial se lograra la creación de una aplicación Web.
Esta aplicación se basada en un modelo de 2 capas, debido a que el cliente se comunica
directamente con la base de datos; como es mostrado en el siguiente diagrama.
Para la creación de esta aplicación necesitamos de:
Glassfish es un servidor que está incluido dentro de la aplicación Netbenas IDE.
Creación de la base de datos
Para la creación de esta aplicación debemos crear la base de datos llamada mynewdatabase.
Para ello realizaremos los siguientes pasos:
1. En la ventana Servicios, expanda el nodo Bases de datos, haga clic en el nodo Servidor
MySQL y seleccione Propiedades.
En el cuadro de diálogo de Propiedades del servidor MySQL, colocara:
2
1. El IDE entra en localhost como el nombre predeterminado del host del servidor y
el 3306 como el número de puerto del servidor. Si esta información es correcta, el nombre
del usuario administrador (si no aparece).
Nota: Se necesita acceso de administrador para poder crear y eliminar bases de datos.
2. Introduzca la contraseña de administrador. El valor predeterminado es en blanco.
Nota: Una contraseña en blanco también puede ser una contraseña.
3. Haga clic en la pestaña Propiedades de Administración en la parte superior del cuadro de
diálogo.
La ficha Propiedades de administración se muestra a continuación, que le permite introducir la
información para controlar el servidor MySQL.
4. En la Ruta / URL a la herramienta de administración de campo, escriba o busque la ubicación
de la aplicación de administración de MySQL, como la herramienta de administración de
MySQL.
Nota: mysqladmin es la herramienta de administración MySQl encuentra en el bin carpeta
del directorio de instalación de MySQL. Es una herramienta de línea de comandos y no es
ideal para usar con el IDE.
5. En el Camino a la orden de arranque, escriba o busque la ubicación del comando de inicio de
MySQL. Para encontrar el orden de arranque, busque mysqld en la carpeta bin del directorio
de instalación de MySQL.
6. En el camino hacia la parada de campo de comandos, escriba o vaya a la ubicación de la
orden de parada MySQL. Este suele ser el mysqladmin en la carpeta bin del directorio
de instalación de MySQL.
7. En el campo Argumentos, escriba -u root stop para dejar para detener el servidor.
8. Cuando haya terminado, en la ficha Propiedades de administración debe ser similar a la
siguiente figura.
3
9. haga clic en Aceptar.
Posteriormente podemos visualizar en el recuadro de servicios la siguiente información:
Para poder establecer la conexión a la base de datos debemos presionar clic derecho sobre Servidor
Mysql, elegir la opción conectar:
4
Posteriormente visualizaremos las bases de datos que contiene nuestro Sistema gestor de base de
datos:
Para efectos de este tutorial, cree una instancia llamada MyNewDatabase :
1. En la ventana de la IDE de Servicios, haga clic en el nodo Servidor MySQL y seleccione Crear
base de datos.
5
2. En el cuadro de diálogo Base de datos MySQL Crear, escriba el nombre de la nueva base de
datos. Vamos a utilizar MyNewDatabase para este tutorial. Deje la casilla sin seleccionar en
este momento.
3. Haga clic en Aceptar.
La nueva base de datos aparece en el nodo del servidor MySQL en la ventana de Servicios.
Integramos el .sql de la base de datos por medio del editor de sql integrado en Netbeans IDE.
En el are de servicio seleccionamos lo siguiente dando clic derecho en
jdbc:mysql://localhost:3306/mynewdatabase[root] y seleccionamos sentencia de comando.
6
Copiamos este script con el nombre ifpwafcad.sql
DROP TABLE IF EXISTS Counselor;
DROP TABLE IF EXISTS Subject;
CREATE TABLE Counselor (
counselor_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
first_name VARCHAR (50),
nick_name VARCHAR (50),
last_name VARCHAR (50),
telephone VARCHAR (25),
email VARCHAR (50),
member_since DATE DEFAULT '0000-00-00',
PRIMARY KEY (counselor_id)
);
CREATE TABLE Subject (
subject_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR (50),
description TEXT,
counselor_idfk SMALLINT UNSIGNED,
PRIMARY KEY (subject_id)
);
INSERT INTO Counselor (first_name, nick_name, last_name, telephone,
email, member_since)
VALUES ('Jake', '"The Snake"', 'Roberts', '412 565-5656',
'snake@ifpwafcad.com', '2003-09-10'),
('Andre', '"The Giant"', '', '606 443-4567',
'bobo@ifpwafcad.com', '2001-01-12'),
('Brutus', '"The Barber"', 'Beefcake', '555 555-4432',
'beefcake@ifpwafcad.com', '2005-03-08'),
('Randy', '"Macho Man"', 'Savage', '555 317-4444',
'machoman@hotmail.com', '2000-11-10'),
('Ricky', '"The Dragon"', 'Steamboat','334 612-5678',
'r_steamboat@ifpwafcad.com', '1996-01-01'),
('George', '"The Animal"', 'Steele', '412 565-5656',
'george@ifpwafcad.com', Now()),
('Koko', '"The Birdman"', 'B. Ware', '553 499-8162',
'birdman@ifpwafcad.com', '1999-12-03'),
('Greg', '"The Hammer"', 'Valentine', '617 889-5545',
'valentino@ifpwafcad.com', '1998-05-07'),
('Bobby', '"The Brain"', 'Heenan', '777 513-3333',
'b_heenan@ifpwafcad.com', '2002-07-09');
INSERT INTO Subject (name, description, counselor_idfk)
VALUES ('Financial Consultancy', 'Investment advice and financial
planning guidance, helping you to maximize your net worth through proper
asset allocation. This includes the stocks, bonds, mutual funds,
insurance products, and gambling strategies proven to work.', '9'),
7
('Existential Psychotherapy', 'Often wonder what the
purpose of life is? After learning the basics of Existential
Psychotherapy, you''ll understand why you''re happy when you''re feeling
happy, and why you''re not feeling happy when you''re not happy, allowing
you to transcend to a state of pure bliss.', '7'),
('Temper Management', 'Are your angry outbursts affecting
your relationships with loved-ones? Do tantrums at work hinder your
ability to perform? Temper management helps you to channel your anger
into positive, life-changing productivity.', '4'),
('Past-Life Regression', 'Past-Life Regression is a
journey of the soul, backward and forward through time, like a yo-yo.',
'2'),
('Marriage Guidance', 'Even if you share a solid, caring
and mutually beneficial relationship with your spouse, you may both still
need urgent counseling. There''s only one way to find out. Contact us
now!', '1'),
('Crisis Management', 'Whether you''re a fireman,
executive CEO, or housewife, applying crisis management techniques at the
right moment can be life-saving for you as well as all those around
you.', '3'),
('Dream Analysis', 'Dream Analysis will allow you to delve
into the depths of your subconcious. Your counselor will put you through
a rigorous, disciplined training program, allowing you to remain in a
waking state while dreaming. By the end, you''ll be able to analyse your
dreams while you are having them!', '8'),
('Hypnosis', 'Contrary to popular belief, hypnosis can be
a powerful and effective form of counseling.', '6'),
('Reiki', 'Need a massage but are afraid to let a stranger
touch your body? Reiki could be the perfect solution for you.', '5');
Para ejecutar el script SQL en MyNewDatabase :
1. Elija Archivo> Abrir desde el menú principal del IDE. En el explorador de archivos vaya a la
ubicación en la que previamente guardado ifpwafcad.sql y haga clic en Abrir.
El script se abrirá automáticamente en el editor de SQL.
2. Asegúrese de que su conexión a MyNewDatabase se selecciona la conexión de cuadro
desplegable en la barra de herramientas en la parte superior del Editor.
8
3. Haga clic en el SQL Ejecutar ( ), situado en la barra de tareas del editor de SQL. El script se
ejecuta contra la base de datos seleccionada, y cualquier información se genera en la ventana
de resultados.
4. Para comprobar los cambios, haga clic en el MyNewDatabase nodo de conexión en la ventana
de tiempo de ejecución y elija Actualizar. Las actualizaciones de opción Actualizar los
componentes de interfaz de usuario de la base de datos del Explorador de la situación actual
de la base de datos especificada. Tenga en cuenta que las dos nuevas tablas de la secuencia
de comandos SQL ahora se muestran como nodos de tabla en MyNewDatabase en el
Explorador de base de datos.
9
Creación de la Aplicación
Empecemos por crear un nuevo proyecto dentro de NentBeans IDE; dicho proyecto requiere
tener las características de un proyecto web.
1.- Seleccione Archivo > Nuevo proyecto desde el menú de herramientas de NentBeans IDE.
Posteriormente selecciona las características del proyecto a crear en este caso Web Java y con
ello seleccionamos la aplicación web y haga clic en siguiente.
10
Al realizar este proceso se creara una aplicación web vacía, el IDE prepara un proyecto con todo
lo necesario y pueda ser ejecutado a través de los complementos necesarios para una aplicación
web.
2.- En la siguiente ventana que nos mostrara el IDE, colocaremos los datos el proyecto como lo
son:
 Nombre: IFAWAFCAD
 Ubicación: la que se desee
Una vez que estos datos han sido seleccionados podemos dar clic en siguiente.
3.- La siguiente ventana mostrada por el IDE, se basa en la configuración del servidor bajo el cual
se correrá la aplicación web.
Nota:
Elegiremos Glassfis como servidor y como versión del proyecto Java EE 5.
El servidor GlassFish se muestra en el servidor de lista desplegable si se ha instalado la versión Java de la IDE
de NetBeans . Debido a que el servidor GlassFish está incluido en la descarga, se registra automáticamente
con el IDE. Si desea utilizar un servidor diferente para este proyecto, haga clic en el botón Agregar situado
junto al servidor de lista desplegable, y registrar un servidor diferente con el IDE.
11
5.- Haga clic en Finalizar. El IDE crea una plantilla de proyecto para toda la aplicación, y se abre una
página JSP vacía ( index.jsp ) en el editor. El index.jsp archivo sirve como la página de inicio para la
aplicación
Para comprobar que esta aplicación ha sido creada de manera correcta y todos los componentes
se han inicializado ejecutemos el proyecto completo, en la barra de herramientas del IDE, damos
clic en Ejecutar > Ejecutar Main del proyecto. Esto mostrara una página HTML con el mensaje
“Hello World” .
Preparación de Interfaz Grafica
Comencemos por la preparación de la página de inicio ( index.jsp ) y de la respuesta
( response.jsp páginas).
En la página de bienvenida ( index.jsp ) se implementa un formulario HTML que se utiliza para
capturar los datos que son solicitados al usuario. En las 2 páginas se implementa una tabla HTML
para mostrar los datos que sean extraídos de la consulta a la base de datos. Posteriormente se
creara una hoja de estilo que realza el aspecto de las dos páginas.
12
Creación de las páginas
Página Index.jsp
Nos aseguramos de que index.jsp está abierta en el editor. De lo contrario despleguemos la
pestaña del proyecto: IFAWAFCAD> Páginas Web> WEB-INF> index.jsp
1. En el editor, cambiar el texto entre las etiquetas: <title> Página de Inicio
IFPWAFCAD </title>
2. Cambiar el texto entre las etiquetas: <h1> Bienvenido a IFPWAFCAD, el ex internacional
de los luchadores profesionales "Asociación para el Asesoramiento y Desarrollo! </h1>
3. Abrir la paleta del IDE seleccionando Ventana> Paleta desde el menú principal. Coloque el
puntero sobre el icono de la tabla de la categoría HTML y tenga en cuenta que el
fragmento de código predeterminado para el elemento de muestra. Se puede configurar
la paleta a su gusto - botón derecho del ratón en la paleta y seleccione Mostrar iconos
grandes y ocultar Nombres de elementos que se han pantalla como en la imagen de
arriba.
1. Coloca el cursor en un punto justo después de la etiqueta <h1> con ello crearemos una
nueva tabla dentro del body de nuestra página.
13
2. Posteriormente en la paleta, haga doble clic en la tabla.
3. En el cuadro de diálogo de la tabla, debemos especificar los siguientes valores haga clic en
Aceptar:
 Filas : 2
 Columnas : 1
 Tamaño del borde : 0
El código de la tabla HTML se genera y se añade a la página página index.jsp la cual hemos
estado trabajando.
En el código que se generó de la tabla en la página será modificado hasta obtener el siguiente
código. Con esto agregaremos títulos a las columnas de la tabla que hemos creado.
<table border="0">
<thead>
<tr>
<th> IFPWAFCAD ofrece asesoramiento de expertos en una amplia gama de campos. </
th>
</ Tr>
</ THEAD>
<tbody>
<tr>
<td> Para ver los detalles de contacto de un ex IFPWAFCAD certificados
luchador profesional en su área, seleccione un tema a continuación: </ td>
</ Tr>
14
7.-La fila restante, insertaremos un formulario HTML. Colocaremos, el cursor entre el segundo par
de etiquetas <td>, y daremos un doble clic en el formulario html en la paleta.
En el cuadro de dialogo debemos insertar, en el campo de acción podremos response.jsp , y
daremos clic en Aceptar.
8.-Escriba el siguiente contenido entre las etiquetas <form>
<strong> Seleccione un tema: </ strong></form>
9.- Pulsaremos Enter para ir a otra línea posteriormente pulsamos Ctrl +Espacio para invocar el
apoyo de código de terminación del IDE. Y seleccionamos una lista desplegable.
Nota: Todos los elementos enumerados en la paleta igualmente se pueden acceder mediante
el apoyo de la IDE Para aprovechar estas ventajas, cuando se trabaja en el editor, se puede
pulsar Ctrl + Espacio. Y se mostraran las posibilidades para completar nuestro código.
15
10.- En el cuadro de diálogo que aparece, escribiremos en el nombre subject_id y hacemos
clic en Aceptar. El código se añadirá a la página index.jsp
El número de opciones para en la lista no es importante. Más adelante en el tutorial, añadir
etiquetas JSTL que genera dinámicamente las opciones sobre los resultados que obtengamos
de la base de los datos.
11.-Agregar un elemento de botón de envío a un punto justo después de la lista desplegable
que acaba de agregar. En el cuadro de diálogo del botón, y en los campos de texto Nombre y
agreguemos un nombre, haremos clic en Aceptar.
Para comprobar que los que hemos añadido a la página index.jsp haya sido echo
correctamente ejecutaremos en proyecto completo.
Obtendremos como resultado lo siguiente:
La creación de la página de respuesta
Una vez terminada la página index.jsp, crearemos la página de respuesta (response.jsp ) para ello
debemos crear el archivo en el proyecto. Tenga en cuenta que la mayor parte del contenido que
aparece en esta página se genera dinámicamente mediante la tecnología JSP.
1. Haga clic derecho en el nodo del proyecto IFPWAFCAD en la ventana de proyectos y elija
Nuevo JSP>. El nuevo diálogo de JSP abre archivos.
16
2. En el campo Nombre de JSP de archivo, escribamos reponse. Esta página se creara en la
misma raíz donde se localiza la página indesx.jsp Esta es la misma ubicación de
la index.jsp página de bienvenida reside.
3. Acepte los valores predeterminados de otros y haga clic en Finalizar. Una plantilla para la
nueva response.jsp página se genera y se abre en el editor. Un nuevo nodo JSP también se
muestra en las páginas Web en la ventana de proyectos.
4.- En el editor, cambiar el título de: IFPWAFCAD - {} marcador de posición.
5.- Retire el <h1> Hola Mundo </ h1> línea entre las etiquetas <body></body>, copiar y pegar
la siguiente tabla HTML en el cuerpo de la página:
<table border="0">
<thead>
<tr>
<th colspan="2">{placeholder}</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Description: </strong></td>
<td><span style="font-size:smaller; font-style:italic;">{placeholder}</span></td>
</tr>
<tr>
<td><strong>Counselor: </strong></td>
<td>{placeholder}
17
<br>
<span style="font-size:smaller; font-style:italic;">
member since: {placeholder}</span>
</td>
</tr>
<tr>
<td><strong>Contact Details: </strong></td>
<td><strong>email: </strong>
<a href="mailto:{placeholder}">{placeholder}</a>
<br><strong>phone: </strong>{placeholder}
</td>
</tr>
</tbody>
</table>
Para ver esta página en un navegador, haga clic en el editor y seleccione Archivo Ejecutar la página
será implementa en el servidor GlassFish, y se abre en el navegador predeterminado.
18
Creación de una hoja de estilo
Crearemos una hoja de estilo que mejora la vista de la interfaz de nuestras páginas web. Dicha
hoja de estilo afectara a las 2 páginas creadas con anterioridad.
Abra el asistente Nuevo archivo pulsando el botón New File, situado en la barra de herramientas
principal del IDE. Seleccione la categoría de Web, a continuación, seleccione Hoja de estilo en
cascada y haga clic en Siguiente.
1. Para el Nombre del archivo elija estilo CSS y haga clic en Finalizar.
2. El IDE crea un archivo vacío de CSS y lo coloca en la ubicación del proyecto el mismo de
index.jsp y response.jsp . Tenga en cuenta que un nodo para style.css muestra ahora en el
proyecto en la ventana de proyectos, y el archivo se abre en el editor.
3. En el editor, agregue el siguiente contenido a la style.css archivo:
body {
font-family: Verdana, Arial, sans-serif;
font-size: smaller;
padding: 50px;
color: #555;
}
h1 {
text-align: left;
letter-spacing: 6px;
font-size: 1.4em;
color: #be7429;
font-weight: normal;
width: 450px;
}
table {
width: 580px;
padding: 10px;
background-color: #c5e7e0;
}
th {
text-align: left;
border-bottom: 1px solid;
}
td {
padding: 10px;
}
19
a:link {
color: #be7429;
font-weight: normal;
text-decoration: none;
}
a:link:hover {
color: #be7429;
font-weight: normal;
text-decoration: underline;
}
4.- para enlazar las paginas index.jsp y response.jsp . a la hoja de estilo En ambas páginas, añadir
la siguiente línea entre el <head></head>:
<link rel="stylesheet" type="text/css" href="style.css">
La preparación de la comunicación entre la aplicación y base de datos
La forma más eficiente para implementar la comunicación entre el servidor y base de datos es la
creación de una base de datos de agrupación de conexiones.
Crear una nueva conexión para cada solicitud de cliente se puede consumir mucho tiempo,
especialmente para las aplicaciones que reciben continuamente un gran número de
peticiones. Para remediar esta situación, numerosas conexiones se crean y se mantienen en un
pool de conexiones. Cualquier petición de entrada que requiere acceso a la capa de datos de la
aplicación utiliza una conexión ya creado de la piscina. Del mismo modo, cuando una solicitud se
ha completado, la conexión no se cierra, pero regresó a la piscina.
Después de preparar la fuente de datos y agrupación de conexiones para el servidor, entonces
necesitamos ordenar a la aplicación para utilizar la fuente de datos. Esto se suele hacer mediante
la creación de una entrada en la aplicación web.xml que es un descriptor de
despliegue. Finalmente, es necesario asegurarse de que el controlador de base de datos (MySQL
Connector / J driver JDBC) se puede acceder al servidor.
La edición del servidor de código abierto GlassFish contiene la base de datos de agrupación de
conexiones (DBCP) las bibliotecas que proporcionan funcionalidad de agrupación de conexiones de
una manera que sea transparente para usted, como desarrollador. Para tomar ventaja de esto, es
necesario configurar una JDBC (Java Database Connectivity) fuente de datos para el servidor que la
aplicación puede utilizar para la agrupación de conexiones.
Se puede configurar la fuente de datos directamente en la consola de administración servidor
GlassFish, o, como se describe a continuación, puede declarar los recursos que la aplicación
20
necesita un sol resources.xml archivo. Cuando se implementa la aplicación, el servidor lee en las
declaraciones de los recursos, y genera los recursos necesarios.
Los pasos siguientes muestran cómo declarar un pool de conexiones, y una fuente de datos que se
basa en la agrupación de conexiones. El NetBeans recurso JDBC asistente le permite realizar
ambas acciones.
Pasos a seguir para la creación de un pool de conexiones.
1. Abra un Nuevo archivo pulsando el botón New File, localizado en la barra de herramientas
principal del IDE. Seleccione la categoría de servidor GlassFish, seleccione recurso JDBC y
hacemos clic en Siguiente.
21
2. En el paso 2 Atributos, General, seleccione la opción Crear nueva conexión JDBC opción de
piscina, y luego en el campo de texto Nombre JNDI, teclee jdbc / IFPWAFCAD. La fuente
de datos JDBC se basa en JNDI , Java Naming and Directory Interface. La API JNDI
proporciona una manera uniforme para aplicaciones para buscar y acceder a fuentes de
datos.
3.-Desea, puede agregar una descripción del origen de datos. Por ejemplo, escriba: Accede a la
base de datos que proporciona datos para la aplicación IFPWAFCAD.
4.-Haga clic en Siguiente, haga clic en Siguiente de nuevo para saltar el paso 3, Propiedades
adicionales.
5.- Escriba IfpwafcadPool para el nombre de JDBC Connection Pool. Asegúrese de que el extracto
de la opción de conexión existente está seleccionado y elija
jdbc: mysql: / / localhost: 3306/MyNewDatabase de la lista desplegable.
22
6.-Hacemos clic en Siguiente. Nos podemos dar cuenta que el IDE extrae la información de la
conexión de base de datos que ha especificado en el paso anterior, y establece el valor de las
propiedades de nombre de la agrupación de conexiones nuevas. En este caso la conexión con
MyNewDatabase.
23
7.-Haga clic en Finalizar. El asistente genera una glassfish-resources.xml archivo que contiene
entradas para la fuente de datos y la agrupación de conexiones que ha especificado.
24
Para comprobar que las conexiones se crearon podemos realizar los siguientes pasos:
1. En la ventana Proyectos, haga clic en el nodo del proyecto y seleccione Desplegar
IFPWAFCAD. El servidor se pone en marcha si no está ya en funcionamiento, y el proyecto
se compila y se desplegó a la misma.
2. Abra la ventana de Servicios: servidores> GlassFish> Recursos> JDBC> Recursos JDBC y los
nodos de agrupaciones de conexiones. Tenga en cuenta que el origen de datos y
agrupación de conexiones se muestran ahora.
Es necesario hacer referencia al recurso JDBC que acaba de configurar a partir de la aplicación
web. Para ello, puede crear una entrada en la aplicación web.xml descriptor de despliegue.
1. En la ventana de proyectos, expanda la carpeta de archivos de configuración y haga doble
clic en el archivo web.xml. Una interfaz gráfica para el archivo se muestra en la ventana
principal del IDE.
2. Haga clic en la ficha Referencias situado en la parte superior del editor.
Nota: Descriptores de despliegue son archivos basados en XML de texto que contienen
información que describe cómo una aplicación se implementa en un entorno específico.
Por ejemplo, normalmente se utiliza para especificar los parámetros de contexto de aplicación
y pautas de comportamiento, la configuración de seguridad, así como las asignaciones para
los servlets, los filtros y los oyentes.
25
3. Ampliar las referencias de recursos título y haga clic en Agregar para abrir el cuadro de
diálogo Agregar referencia de recursos.
4. En Nombre del recurso, escriba el nombre del recurso que le dio al configurar el origen de
datos del servidor de arriba (jdbc/IFPWAFCAD ). El campo Descripción es opcional.
5.-Para verificar que el recurso se añade a la web.xml archivo, haga clic en la ficha XML ubicado en
la parte superior del editor. Tenga en cuenta que los siguientes < ref recursos .
26
Nota: La adición de archivo del controlador de la base de datos JAR es otro paso que es vital para
habilitar el servidor para comunicarse con su base de datos. Normalmente, se debe localizar el
directorio de su controlador de la base de instalación y copiar el mysql-connector-java-5.1.6-
bin.jar archivo desde el directorio raíz del conductor en la carpeta de la biblioteca del servidor que
esté utilizando. Afortunadamente, la gestión de la IDE del servidor es capaz de detectar en la
implementación si el archivo JAR se ha añadido - y si no, lo hace automáticamente.
Para demostrar esto, abra la ventana de Servidores (Seleccione Herramientas> Servidores).
El IDE proporciona un driver JDBC opción de implementación. Si la opción está activada, se inicia
una comprobación para determinar si los controladores son necesarios para las aplicaciones
implementadas del servidor.
En el caso de MySQL, si el conductor está obligado y que falta, conductor incluido el IDE se
implementa en el lugar apropiado en el servidor.
1. Seleccione Herramientas> Servidores para abrir la ventana Servidores. Seleccione el
servidor GlassFish en el panel izquierdo.
2. En el panel principal, seleccione la opción Habilitar el controlador JDBC opción de
implementación.
27
3. Antes de cerrar la ventana, haga una nota de la ruta indicada en el campo de texto
Dominios carpeta. Cuando se conecta al servidor GlassFish en el IDE, en realidad se está
conectado a una instancia del servidor de aplicaciones. Cada instancia se ejecuta
aplicaciones en un único dominio, y el campo de nombre de dominio indica el nombre del
dominio de su servidor está utilizando. Como se muestra en la imagen de arriba, el archivo
JAR del controlador debe estar ubicado dentro de domain1 , que es el dominio
predeterminado que se crea al instalar el servidor GlassFish.
4. Haga clic en Cerrar para salir de la ventana Servidores.
5. En su computadora, vaya al directorio de instalación de GlassFish servidor y de perforación
en el dominio > domain1 > lib subcarpeta. Debido a que ya debería haber implementado
el proyecto IFPWAFCAD al servidor, usted debe ver el mysql-connector-java-5.1.6-
bin.jar archivo. Si no ve el archivo JAR del controlador, realice el siguiente paso.
6. Implementar el proyecto en el servidor. En la ventana de la IDE de Proyectos, elija
Implementar en el menú del botón derecho del nodo del proyecto. Puede ver el progreso
en la ventana de salida del IDE (Ctrl-4; ⌘ -4 en Mac). El resultado indica que el
controlador de MySQL se instala en un lugar en el servidor GlassFish.Ahora, si usted vuelve
a la domain1/lib subcarpeta en su computadora, usted puede ver que el mysql-connector-
java-5.1.6-bin.jar archivo se ha agregado automáticamente.
28
Incorporación de la lógica dinámica
Volviendo a la index.jsp y response.jsp marcadores de posición que creó anteriormente en el
tutorial, ahora se puede aplicar el código JSTL que permite que las páginas para generar
contenido del formulario dinámico , es decir, sobre la base de datos del usuario. Para ello, realice
las siguientes tres tareas.
Puede aplicar la tecnología JavaServer Pages Standard Tag Library (JSTL) para acceder y mostrar los
datos obtenidos de la base de datos. El servidor GlassFish incluye la biblioteca JSTL por
defecto. Usted puede verificar esto mediante la ampliación de las bibliotecas de IFPWAFCAD> el
nodo del servidor GlassFish en la ventana de proyectos y la búsqueda de la JSTL-
impl.jar archivo. Debido a que las bibliotecas del servidor GlassFish se añade por defecto a la ruta
de clases de su proyecto, usted no tiene que realizar los pasos para esta tarea.
JSTL proporciona cuatro áreas básicas de funcionalidad. Estos son los siguientes:
 principales : las tareas más comunes, estructurales, tales como iteradores y condicionales para
el manejo de control de flujo
 fmt : la internacionalización y el formato de mensaje de localización
 sql : acceso a base de datos simple
 xml : manejo de contenido XML
Ahora usted puede implementar el código que recupera y muestra de forma dinámica datos de
cada página. Ambas páginas requieren que se implementa una consulta SQL que utiliza la fuente
de datos creada anteriormente en el tutorial.
index.jsp
Con el fin de mostrar de forma dinámica el contenido de la forma en index.jsp , necesita acceder a
todos los nombre s de la reserva de mesa base de datos.
1. Pase el cursor del ratón sobre el elemento de informe DB en la paleta. El elemento de
informe DB utiliza el <sql:query> etiqueta para crear una consulta SQL, a continuación,
utiliza el <c:forEach> etiqueta para recorrer la consulta de resultados y la salida de la
recuperada de datos.
2.- Coloca el cursor encima de la <% @ page ... %> declaración, a continuación, haga doble clic en
el elemento del informe DB en la paleta. En el cuadro de diálogo que aparece, introduzca los
siguientes datos:
29
 Nombre de variable: los sujetos
 Ámbito de aplicación: la página
 Fuente de datos: jdbc / IFPWAFCAD
 Sentencias Query: SELECT de subject_id, el nombre del sujeto
3.-Haga clic en Aceptar. El siguiente contenido se genera en el archivo index.jsp.
4.-Ejecutar el proyecto para ver cómo se muestra en un navegador. Haga clic derecho en el nodo
del proyecto en la ventana de proyectos y seleccione Ejecutar.
Cuando seleccione Ejecutar, el IDE implementa el proyecto en el servidor GlassFish, la página de
índice se compila en un servlet, y la página de bienvenida se abre en el navegador por defecto. El
código generado por el elemento de informe DB crea la siguiente tabla en la página de bienvenida.
30
5.- Como puede ver, el elemento de informe DB le permite probar rápidamente su conexión a la
base de datos, y le permite ver los datos de la tabla de la base de datos en el navegador.
Los pasos siguientes demuestran cómo integrar el código generado en el código HTML en la lista
desplegable que creó anteriormente en el tutorial.
6.- Examinar los datos de columna en el código generado. Dos <c:forEach> etiquetas se utilizan,
una es anidado dentro del otro. Esto hace que el contenedor JSP (es decir, el servidor GlassFish)
para realizar un bucle en todas las filas de la tabla, y para cada fila, recorre todas las columnas. De
esta manera, los datos de toda la tabla se muestra.
7.-Incorporar los <c:forEach> etiquetas en el formulario HTML de la siguiente manera. El valor de
cada elemento se convierte en el subject_id , y el texto de salida se convierte en el nombre , según
consta en la base de datos.
<form action="response.jsp">
<strong>Select a subject:</strong>
<select name="subject_id">
<c:forEach var="row" items="${subjects.rowsByIndex}">
<c:forEach var="column" items="${row}">
<option value="<c:out value="${column}"/>"><c:out value="${column}"/></option>
</c:forEach>
</c:forEach>
</select>
<input type="submit" value="submit" name="submit" />
</form>
31
8.-Eliminar la tabla que se generó a partir del elemento de informe DB.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%--
Document : index
Created on : Dec 22, 2009, 7:39:49 PM
Author : nbuser
--%>
<sql:query var="subjects" dataSource="jdbc/IFPWAFCAD">
SELECT subject_id, name FROM Subject
</sql:query>
<table border="1">
<!-- column headers -->
<tr>
<c:forEach var="columnName" items="${subjects.columnNames}">
<th><c:out value="${columnName}"/></th>
</c:forEach>
</tr>
<!-- column data -->
<c:forEach var="row" items="${subjects.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td><c:out value="${column}"/></td>
</c:forEach>
</tr>
</c:forEach>
</table>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
9.- Guarde los cambios
Tenga en cuenta que no es necesario volver a implementar su proyecto. De manera
predeterminada, la compilación en ahorrar está habilitada para su proyecto. Esto significa que
al modificar y guardar un archivo, el archivo se compila automáticamente y desplegado y no es
necesario volver a compilar todo el proyecto. Usted puede activar y desactivar la compilación
en ahorrar para su proyecto en la categoría de Compilación de la ventana Propiedades del
proyecto.
32
response.jsp
La respuesta de la página ofrece los detalles para el consejero que se corresponde con el tema
elegido en la página de index.jps. La consulta que cree debe seleccionar el registro consejero
cuya counselor_id coincide con el counselor_idfk del expediente objeto seleccionado.
1. Coloca el cursor encima de la <% @ page ... %> declaración, « En el cuadro de diálogo que
aparece, introduzca los siguientes datos:
o Nombre de variable: counselorQuery
o Ámbito de aplicación: la página
o Fuente de datos: jdbc / IFPWAFCAD
o Sentencias Query: SELECT * FROM reserva, Consejero DONDE Counselor.counselor_id =
Subject.counselor_idfk Y = Subject.subject_id? <sql:param
value="${param.subject_id}"/>
2.- Hacemos clic en Aceptar. El siguiente contenido se genera en el archivo response.jsp.
<% @ Taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql"%>
<% -
Documento: respuesta
Creado el: 22 de diciembre de 2009, 08:52:57 PM
Autor: nbuser
-%>
<sql:query var="counselorQuery" dataSource="jdbc/IFPWAFCAD">
SELECT * FROM reserva, Consejero
DONDE Counselor.counselor_id = Subject.counselor_idfk
Y Subject.subject_id =? <sql:param value="${param.subject_id}"/>
</ Sql: query>
<% @ Page contentType = "text / html" pageEncoding = "UTF-8"%>
<DOCTYPE HTML PUBLIC "- / / W3C / / DTD HTML 4.01 Transitional / / EN"
"Http://www.w3.org/TR/html4/loose.dtd">
4.- Use un <c:set> etiqueta para establecer una variable que corresponde al primer registro (es
decir, fila) de la de resultados que devuelve la consulta.
<sql:query var="counselorQuery" dataSource="jdbc/IFPWAFCAD">
SELECT * FROM reserva, Consejero
DONDE Counselor.counselor_id = Subject.counselor_idfk
Y Subject.subject_id =? <sql:param value="${param.subject_id}"/>
</ Sql: query>
<c:set var="counselorDetails" value="${counselorQuery.rows[0]}"/>
33
Aunque el conjunto de resultados que devuelve la consulta debe contener solamente un único
registró, este es un paso necesario porque la página necesita tener acceso a los valores del registro
con las declaraciones. Recordemos que en index.jsp , que fueron capaces de acceder a los valores
del conjunto de resultados simplemente utilizando un <c:forEach> etiqueta. Sin embargo,
el <c:forEach> etiqueta opera mediante el establecimiento de una variable para las filas
contenidas en la consulta, lo que le permite extraer los valores mediante la inclusión de la variable
de fila en las declaraciones.
taglib Directiva para la JSTL núcleo de la biblioteca de la parte superior del archivo,
por lo que el <c:set> etiqueta se entiende.
<% @ Taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%>
<% @ taglib prefix = "sql" uri = "http://java.sun. com / jsp / JSTL / sql "%>
En el código HTML, reemplace todos los marcadores de posición con EL código de las
declaraciones que muestran los datos contenidos en el counselorDetailsvariable.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="style.css">
<title> $ {} counselorDetails.name </ title>
</ Head>
<body>
<table>
<tr>
<th colspan="2"> $ {} counselorDetails.name </ th>
</ Tr>
<tr>
Descripción <td> <strong>: </ strong> </ td>
<td> <span style="font-size:smaller; font-style:italic;"> $ {} counselorDetails.description
</ span> </ td>
</ Tr>
<tr>
<td> Consejero <strong>: </ strong> </ td>
<td> <strong> $ {} $ {counselorDetails.first_name counselorDetails.nick_name} $ {}
counselorDetails.last_name </ strong>
<br> <span style="font-size:smaller; font-style:italic;">
miembro <em> desde: $ {} counselorDetails.member_since </ em> </ span> </ td>
</ Tr>
<tr>
<td> Detalles de Contacto <strong>: </ strong> </ td>
<td> <strong> email: </ strong>
<A href = "mailto: $ {} counselorDetails.email "> $ {} counselorDetails.email </ a>
teléfono <br> <strong>: </ strong> $ {} counselorDetails.telephone </ td>
</ Tr>
</ Table>
</ Body>
34
</ Html>
Ejecución de la aplicación completa
Usted ha completado la aplicación. Intente ejecutar de nuevo para ver cómo se muestra en un
navegador. Tenga en cuenta que debido a compilar NetBeans 'en función de Ahorro, no tiene que
preocuparse acerca de la compilación o por la reprogramación de la aplicación. Cuando se ejecuta
un proyecto, usted puede estar seguro de que la implementación contiene los últimos cambios.
Haga clic en el proyecto de ejecución, situado en la barra de herramientas principal.
El index.jsp página se abre en el navegador predeterminado del IDE.
Cuando index.jsp muestra en el explorador, seleccione un tema de la lista desplegable y haga clic
en enviar. Ahora debe ser remitido a la response.jsp página, mostrando los detalles
correspondientes a su selección.

Más contenido relacionado

La actualidad más candente

Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
Emerson Garay
 
JDBC
JDBCJDBC
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
devsco63
 
Bases de datos desde Visual Basic 6.0
Bases de datos desde Visual Basic 6.0 Bases de datos desde Visual Basic 6.0
Bases de datos desde Visual Basic 6.0
Sabrina Rodriguezpiña
 
Practica 4
Practica 4Practica 4
Practica 4
cobymotion
 
Ejercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICKEjercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICK
Erick Paul Lozada Peñarreta
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2Steven Gomez
 
ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeansguest044583b
 
Reportes
ReportesReportes
Reportes
JhiZzelh T Cz
 
Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresql
Carlos Anrango
 
Java
JavaJava
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /java
Ney Rogger Miranda
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcat
jubacalo
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogo
jubacalo
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
jbersosa
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLpablo
 
PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0
Christian Mora
 
JClic reports
JClic reportsJClic reports
JClic reports
University of Granada
 
Pool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net BeansPool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net Beans
eccutpl
 

La actualidad más candente (20)

Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
JDBC
JDBCJDBC
JDBC
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
 
Bases de datos desde Visual Basic 6.0
Bases de datos desde Visual Basic 6.0 Bases de datos desde Visual Basic 6.0
Bases de datos desde Visual Basic 6.0
 
Practica 4
Practica 4Practica 4
Practica 4
 
Ejercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICKEjercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICK
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeans
 
Reportes
ReportesReportes
Reportes
 
Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresql
 
Java
JavaJava
Java
 
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /java
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcat
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogo
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQL
 
PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0
 
JClic reports
JClic reportsJClic reports
JClic reports
 
Pool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net BeansPool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net Beans
 
Mysql java
Mysql javaMysql java
Mysql java
 

Destacado

Periodismo dijital
Periodismo dijitalPeriodismo dijital
Periodismo dijital
jennifer andrade
 
Software netbeans-ide-7.2
Software netbeans-ide-7.2Software netbeans-ide-7.2
Software netbeans-ide-7.2
Arazelii Puentez
 
Integración de Netbeans con Ireport y SQL Server
Integración de Netbeans con Ireport y SQL ServerIntegración de Netbeans con Ireport y SQL Server
Integración de Netbeans con Ireport y SQL Server
SonGoku10
 
Introduccion a la programacion web
Introduccion a la programacion webIntroduccion a la programacion web
Introduccion a la programacion webRobert Rodriguez
 
El arte de hablar en publico
El arte de hablar en publicoEl arte de hablar en publico
El arte de hablar en publicolopez martínez
 
Análisis de práctica
Análisis de prácticaAnálisis de práctica
Análisis de práctica
Azucena Alverdín
 
whatsapp lilian
whatsapp lilianwhatsapp lilian
Evaluation - Dominic Rose
Evaluation - Dominic RoseEvaluation - Dominic Rose
Evaluation - Dominic Rosedominicrose93
 
El futbol
El futbolEl futbol
El futbol
pablo115
 
Article Accidentes Mortales (5)
Article   Accidentes Mortales (5)Article   Accidentes Mortales (5)
Article Accidentes Mortales (5)
helpfulvirus6893
 
El Milagro De La Cancion De Un Hermano
El Milagro De La Cancion De Un HermanoEl Milagro De La Cancion De Un Hermano
El Milagro De La Cancion De Un Hermanohome
 
Info marzo-2015
Info marzo-2015Info marzo-2015
Info marzo-2015
Jenny Sundström
 
Watercolor Paintings by Mary Whyte
Watercolor Paintings by Mary WhyteWatercolor Paintings by Mary Whyte
Watercolor Paintings by Mary Whytemaditabalnco
 
Checkstand program - How to decide a distribution channel
Checkstand program - How to decide a distribution channelCheckstand program - How to decide a distribution channel
Checkstand program - How to decide a distribution channel
CHECK STAND PROGRAM
 
Directorio de urgencias en bogotá
Directorio de urgencias en bogotáDirectorio de urgencias en bogotá
Directorio de urgencias en bogotáAlbertio González
 
Bolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, Web
Bolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, WebBolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, Web
Bolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, Web
Álvaro Miguel Carranza Montalvo
 
Manual de instrucciones Etna
Manual de instrucciones EtnaManual de instrucciones Etna
Manual de instrucciones Etna
Industrias Fireco/ Fuoco vivo
 
LOS SENTIDOS- Los ecosistemas de Aragón
LOS SENTIDOS- Los ecosistemas de AragónLOS SENTIDOS- Los ecosistemas de Aragón
LOS SENTIDOS- Los ecosistemas de Aragón3C-Claretianas-Zaragoza
 
Building Blocks for College Readiness
Building Blocks for College ReadinessBuilding Blocks for College Readiness
Building Blocks for College Readiness
Next Generation Learning Challenges
 

Destacado (20)

Periodismo dijital
Periodismo dijitalPeriodismo dijital
Periodismo dijital
 
Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 
Software netbeans-ide-7.2
Software netbeans-ide-7.2Software netbeans-ide-7.2
Software netbeans-ide-7.2
 
Integración de Netbeans con Ireport y SQL Server
Integración de Netbeans con Ireport y SQL ServerIntegración de Netbeans con Ireport y SQL Server
Integración de Netbeans con Ireport y SQL Server
 
Introduccion a la programacion web
Introduccion a la programacion webIntroduccion a la programacion web
Introduccion a la programacion web
 
El arte de hablar en publico
El arte de hablar en publicoEl arte de hablar en publico
El arte de hablar en publico
 
Análisis de práctica
Análisis de prácticaAnálisis de práctica
Análisis de práctica
 
whatsapp lilian
whatsapp lilianwhatsapp lilian
whatsapp lilian
 
Evaluation - Dominic Rose
Evaluation - Dominic RoseEvaluation - Dominic Rose
Evaluation - Dominic Rose
 
El futbol
El futbolEl futbol
El futbol
 
Article Accidentes Mortales (5)
Article   Accidentes Mortales (5)Article   Accidentes Mortales (5)
Article Accidentes Mortales (5)
 
El Milagro De La Cancion De Un Hermano
El Milagro De La Cancion De Un HermanoEl Milagro De La Cancion De Un Hermano
El Milagro De La Cancion De Un Hermano
 
Info marzo-2015
Info marzo-2015Info marzo-2015
Info marzo-2015
 
Watercolor Paintings by Mary Whyte
Watercolor Paintings by Mary WhyteWatercolor Paintings by Mary Whyte
Watercolor Paintings by Mary Whyte
 
Checkstand program - How to decide a distribution channel
Checkstand program - How to decide a distribution channelCheckstand program - How to decide a distribution channel
Checkstand program - How to decide a distribution channel
 
Directorio de urgencias en bogotá
Directorio de urgencias en bogotáDirectorio de urgencias en bogotá
Directorio de urgencias en bogotá
 
Bolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, Web
Bolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, WebBolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, Web
Bolivia, Doctor. Álvaro Miguel Carranza Montalvo, Internet, Redes Sociales, Web
 
Manual de instrucciones Etna
Manual de instrucciones EtnaManual de instrucciones Etna
Manual de instrucciones Etna
 
LOS SENTIDOS- Los ecosistemas de Aragón
LOS SENTIDOS- Los ecosistemas de AragónLOS SENTIDOS- Los ecosistemas de Aragón
LOS SENTIDOS- Los ecosistemas de Aragón
 
Building Blocks for College Readiness
Building Blocks for College ReadinessBuilding Blocks for College Readiness
Building Blocks for College Readiness
 

Similar a Toturial aplicacion base de datos jsp

Conexion mysql
Conexion mysqlConexion mysql
Conexion mysql
Pepe PiiÑaa
 
Guia de my sql workbench 5 2
Guia de my sql workbench 5 2Guia de my sql workbench 5 2
Guia de my sql workbench 5 2Eduardo Perdomo
 
Programacion2
Programacion2Programacion2
Programacion2
eduardoramos360
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jspjujuju12
 
manual-conexion-net beanmysql
 manual-conexion-net beanmysql manual-conexion-net beanmysql
manual-conexion-net beanmysql
perjam100
 
Presentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure WorksPresentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure Works
Gustavo Rene Rojas Valdez
 
P7
P7P7
Practica 7
Practica 7Practica 7
Practica 7
Alfredo Joya
 
Practica 7
Practica 7Practica 7
Practica 7
Raul Hernandez
 
Php mysql iis
Php mysql iisPhp mysql iis
Php mysql iis
ejmc_sic
 
Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
MARIANAZARENADORADOM
 
InstalarDriver_NET_paramysql
InstalarDriver_NET_paramysqlInstalarDriver_NET_paramysql
InstalarDriver_NET_paramysql
UNACAR
 
Manual de errores de instalación
Manual de errores de instalaciónManual de errores de instalación
Manual de errores de instalaciónTania Catemaxca
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salas
LeomarSalas2
 
Manual de errores de instalación
Manual de errores de instalaciónManual de errores de instalación
Manual de errores de instalaciónTania Catemaxca
 
Grupo1 trabajo colaborativo2
Grupo1 trabajo colaborativo2Grupo1 trabajo colaborativo2
Grupo1 trabajo colaborativo2
tv cable
 
Manual de pagina dinámica 01
Manual de pagina dinámica 01Manual de pagina dinámica 01
Manual de pagina dinámica 01
Ramiro Cerazo
 
Antología de taller de base de datos 2003
Antología de taller de base de datos 2003Antología de taller de base de datos 2003
Antología de taller de base de datos 2003erwuick
 

Similar a Toturial aplicacion base de datos jsp (20)

Conexion mysql
Conexion mysqlConexion mysql
Conexion mysql
 
Guia de my sql workbench 5 2
Guia de my sql workbench 5 2Guia de my sql workbench 5 2
Guia de my sql workbench 5 2
 
Reportes
ReportesReportes
Reportes
 
Programacion2
Programacion2Programacion2
Programacion2
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
 
manual-conexion-net beanmysql
 manual-conexion-net beanmysql manual-conexion-net beanmysql
manual-conexion-net beanmysql
 
Presentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure WorksPresentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure Works
 
P7
P7P7
P7
 
Practica 7
Practica 7Practica 7
Practica 7
 
Practica 7
Practica 7Practica 7
Practica 7
 
Php mysql iis
Php mysql iisPhp mysql iis
Php mysql iis
 
Manual del sistema
Manual del sistemaManual del sistema
Manual del sistema
 
Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
InstalarDriver_NET_paramysql
InstalarDriver_NET_paramysqlInstalarDriver_NET_paramysql
InstalarDriver_NET_paramysql
 
Manual de errores de instalación
Manual de errores de instalaciónManual de errores de instalación
Manual de errores de instalación
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salas
 
Manual de errores de instalación
Manual de errores de instalaciónManual de errores de instalación
Manual de errores de instalación
 
Grupo1 trabajo colaborativo2
Grupo1 trabajo colaborativo2Grupo1 trabajo colaborativo2
Grupo1 trabajo colaborativo2
 
Manual de pagina dinámica 01
Manual de pagina dinámica 01Manual de pagina dinámica 01
Manual de pagina dinámica 01
 
Antología de taller de base de datos 2003
Antología de taller de base de datos 2003Antología de taller de base de datos 2003
Antología de taller de base de datos 2003
 

Último

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 

Último (6)

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 

Toturial aplicacion base de datos jsp

  • 1. 3CM3 Ortiz Ávila Dafne Baal 3CM3 Tutorial de aplicación Web en Netbeans IDE
  • 2. 1 Creación de una aplicación Web con conexión a base de datos Por medio de este tutorial se lograra la creación de una aplicación Web. Esta aplicación se basada en un modelo de 2 capas, debido a que el cliente se comunica directamente con la base de datos; como es mostrado en el siguiente diagrama. Para la creación de esta aplicación necesitamos de: Glassfish es un servidor que está incluido dentro de la aplicación Netbenas IDE. Creación de la base de datos Para la creación de esta aplicación debemos crear la base de datos llamada mynewdatabase. Para ello realizaremos los siguientes pasos: 1. En la ventana Servicios, expanda el nodo Bases de datos, haga clic en el nodo Servidor MySQL y seleccione Propiedades. En el cuadro de diálogo de Propiedades del servidor MySQL, colocara:
  • 3. 2 1. El IDE entra en localhost como el nombre predeterminado del host del servidor y el 3306 como el número de puerto del servidor. Si esta información es correcta, el nombre del usuario administrador (si no aparece). Nota: Se necesita acceso de administrador para poder crear y eliminar bases de datos. 2. Introduzca la contraseña de administrador. El valor predeterminado es en blanco. Nota: Una contraseña en blanco también puede ser una contraseña. 3. Haga clic en la pestaña Propiedades de Administración en la parte superior del cuadro de diálogo. La ficha Propiedades de administración se muestra a continuación, que le permite introducir la información para controlar el servidor MySQL. 4. En la Ruta / URL a la herramienta de administración de campo, escriba o busque la ubicación de la aplicación de administración de MySQL, como la herramienta de administración de MySQL. Nota: mysqladmin es la herramienta de administración MySQl encuentra en el bin carpeta del directorio de instalación de MySQL. Es una herramienta de línea de comandos y no es ideal para usar con el IDE. 5. En el Camino a la orden de arranque, escriba o busque la ubicación del comando de inicio de MySQL. Para encontrar el orden de arranque, busque mysqld en la carpeta bin del directorio de instalación de MySQL. 6. En el camino hacia la parada de campo de comandos, escriba o vaya a la ubicación de la orden de parada MySQL. Este suele ser el mysqladmin en la carpeta bin del directorio de instalación de MySQL. 7. En el campo Argumentos, escriba -u root stop para dejar para detener el servidor. 8. Cuando haya terminado, en la ficha Propiedades de administración debe ser similar a la siguiente figura.
  • 4. 3 9. haga clic en Aceptar. Posteriormente podemos visualizar en el recuadro de servicios la siguiente información: Para poder establecer la conexión a la base de datos debemos presionar clic derecho sobre Servidor Mysql, elegir la opción conectar:
  • 5. 4 Posteriormente visualizaremos las bases de datos que contiene nuestro Sistema gestor de base de datos: Para efectos de este tutorial, cree una instancia llamada MyNewDatabase : 1. En la ventana de la IDE de Servicios, haga clic en el nodo Servidor MySQL y seleccione Crear base de datos.
  • 6. 5 2. En el cuadro de diálogo Base de datos MySQL Crear, escriba el nombre de la nueva base de datos. Vamos a utilizar MyNewDatabase para este tutorial. Deje la casilla sin seleccionar en este momento. 3. Haga clic en Aceptar. La nueva base de datos aparece en el nodo del servidor MySQL en la ventana de Servicios. Integramos el .sql de la base de datos por medio del editor de sql integrado en Netbeans IDE. En el are de servicio seleccionamos lo siguiente dando clic derecho en jdbc:mysql://localhost:3306/mynewdatabase[root] y seleccionamos sentencia de comando.
  • 7. 6 Copiamos este script con el nombre ifpwafcad.sql DROP TABLE IF EXISTS Counselor; DROP TABLE IF EXISTS Subject; CREATE TABLE Counselor ( counselor_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, first_name VARCHAR (50), nick_name VARCHAR (50), last_name VARCHAR (50), telephone VARCHAR (25), email VARCHAR (50), member_since DATE DEFAULT '0000-00-00', PRIMARY KEY (counselor_id) ); CREATE TABLE Subject ( subject_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR (50), description TEXT, counselor_idfk SMALLINT UNSIGNED, PRIMARY KEY (subject_id) ); INSERT INTO Counselor (first_name, nick_name, last_name, telephone, email, member_since) VALUES ('Jake', '"The Snake"', 'Roberts', '412 565-5656', 'snake@ifpwafcad.com', '2003-09-10'), ('Andre', '"The Giant"', '', '606 443-4567', 'bobo@ifpwafcad.com', '2001-01-12'), ('Brutus', '"The Barber"', 'Beefcake', '555 555-4432', 'beefcake@ifpwafcad.com', '2005-03-08'), ('Randy', '"Macho Man"', 'Savage', '555 317-4444', 'machoman@hotmail.com', '2000-11-10'), ('Ricky', '"The Dragon"', 'Steamboat','334 612-5678', 'r_steamboat@ifpwafcad.com', '1996-01-01'), ('George', '"The Animal"', 'Steele', '412 565-5656', 'george@ifpwafcad.com', Now()), ('Koko', '"The Birdman"', 'B. Ware', '553 499-8162', 'birdman@ifpwafcad.com', '1999-12-03'), ('Greg', '"The Hammer"', 'Valentine', '617 889-5545', 'valentino@ifpwafcad.com', '1998-05-07'), ('Bobby', '"The Brain"', 'Heenan', '777 513-3333', 'b_heenan@ifpwafcad.com', '2002-07-09'); INSERT INTO Subject (name, description, counselor_idfk) VALUES ('Financial Consultancy', 'Investment advice and financial planning guidance, helping you to maximize your net worth through proper asset allocation. This includes the stocks, bonds, mutual funds, insurance products, and gambling strategies proven to work.', '9'),
  • 8. 7 ('Existential Psychotherapy', 'Often wonder what the purpose of life is? After learning the basics of Existential Psychotherapy, you''ll understand why you''re happy when you''re feeling happy, and why you''re not feeling happy when you''re not happy, allowing you to transcend to a state of pure bliss.', '7'), ('Temper Management', 'Are your angry outbursts affecting your relationships with loved-ones? Do tantrums at work hinder your ability to perform? Temper management helps you to channel your anger into positive, life-changing productivity.', '4'), ('Past-Life Regression', 'Past-Life Regression is a journey of the soul, backward and forward through time, like a yo-yo.', '2'), ('Marriage Guidance', 'Even if you share a solid, caring and mutually beneficial relationship with your spouse, you may both still need urgent counseling. There''s only one way to find out. Contact us now!', '1'), ('Crisis Management', 'Whether you''re a fireman, executive CEO, or housewife, applying crisis management techniques at the right moment can be life-saving for you as well as all those around you.', '3'), ('Dream Analysis', 'Dream Analysis will allow you to delve into the depths of your subconcious. Your counselor will put you through a rigorous, disciplined training program, allowing you to remain in a waking state while dreaming. By the end, you''ll be able to analyse your dreams while you are having them!', '8'), ('Hypnosis', 'Contrary to popular belief, hypnosis can be a powerful and effective form of counseling.', '6'), ('Reiki', 'Need a massage but are afraid to let a stranger touch your body? Reiki could be the perfect solution for you.', '5'); Para ejecutar el script SQL en MyNewDatabase : 1. Elija Archivo> Abrir desde el menú principal del IDE. En el explorador de archivos vaya a la ubicación en la que previamente guardado ifpwafcad.sql y haga clic en Abrir. El script se abrirá automáticamente en el editor de SQL. 2. Asegúrese de que su conexión a MyNewDatabase se selecciona la conexión de cuadro desplegable en la barra de herramientas en la parte superior del Editor.
  • 9. 8 3. Haga clic en el SQL Ejecutar ( ), situado en la barra de tareas del editor de SQL. El script se ejecuta contra la base de datos seleccionada, y cualquier información se genera en la ventana de resultados. 4. Para comprobar los cambios, haga clic en el MyNewDatabase nodo de conexión en la ventana de tiempo de ejecución y elija Actualizar. Las actualizaciones de opción Actualizar los componentes de interfaz de usuario de la base de datos del Explorador de la situación actual de la base de datos especificada. Tenga en cuenta que las dos nuevas tablas de la secuencia de comandos SQL ahora se muestran como nodos de tabla en MyNewDatabase en el Explorador de base de datos.
  • 10. 9 Creación de la Aplicación Empecemos por crear un nuevo proyecto dentro de NentBeans IDE; dicho proyecto requiere tener las características de un proyecto web. 1.- Seleccione Archivo > Nuevo proyecto desde el menú de herramientas de NentBeans IDE. Posteriormente selecciona las características del proyecto a crear en este caso Web Java y con ello seleccionamos la aplicación web y haga clic en siguiente.
  • 11. 10 Al realizar este proceso se creara una aplicación web vacía, el IDE prepara un proyecto con todo lo necesario y pueda ser ejecutado a través de los complementos necesarios para una aplicación web. 2.- En la siguiente ventana que nos mostrara el IDE, colocaremos los datos el proyecto como lo son:  Nombre: IFAWAFCAD  Ubicación: la que se desee Una vez que estos datos han sido seleccionados podemos dar clic en siguiente. 3.- La siguiente ventana mostrada por el IDE, se basa en la configuración del servidor bajo el cual se correrá la aplicación web. Nota: Elegiremos Glassfis como servidor y como versión del proyecto Java EE 5. El servidor GlassFish se muestra en el servidor de lista desplegable si se ha instalado la versión Java de la IDE de NetBeans . Debido a que el servidor GlassFish está incluido en la descarga, se registra automáticamente con el IDE. Si desea utilizar un servidor diferente para este proyecto, haga clic en el botón Agregar situado junto al servidor de lista desplegable, y registrar un servidor diferente con el IDE.
  • 12. 11 5.- Haga clic en Finalizar. El IDE crea una plantilla de proyecto para toda la aplicación, y se abre una página JSP vacía ( index.jsp ) en el editor. El index.jsp archivo sirve como la página de inicio para la aplicación Para comprobar que esta aplicación ha sido creada de manera correcta y todos los componentes se han inicializado ejecutemos el proyecto completo, en la barra de herramientas del IDE, damos clic en Ejecutar > Ejecutar Main del proyecto. Esto mostrara una página HTML con el mensaje “Hello World” . Preparación de Interfaz Grafica Comencemos por la preparación de la página de inicio ( index.jsp ) y de la respuesta ( response.jsp páginas). En la página de bienvenida ( index.jsp ) se implementa un formulario HTML que se utiliza para capturar los datos que son solicitados al usuario. En las 2 páginas se implementa una tabla HTML para mostrar los datos que sean extraídos de la consulta a la base de datos. Posteriormente se creara una hoja de estilo que realza el aspecto de las dos páginas.
  • 13. 12 Creación de las páginas Página Index.jsp Nos aseguramos de que index.jsp está abierta en el editor. De lo contrario despleguemos la pestaña del proyecto: IFAWAFCAD> Páginas Web> WEB-INF> index.jsp 1. En el editor, cambiar el texto entre las etiquetas: <title> Página de Inicio IFPWAFCAD </title> 2. Cambiar el texto entre las etiquetas: <h1> Bienvenido a IFPWAFCAD, el ex internacional de los luchadores profesionales "Asociación para el Asesoramiento y Desarrollo! </h1> 3. Abrir la paleta del IDE seleccionando Ventana> Paleta desde el menú principal. Coloque el puntero sobre el icono de la tabla de la categoría HTML y tenga en cuenta que el fragmento de código predeterminado para el elemento de muestra. Se puede configurar la paleta a su gusto - botón derecho del ratón en la paleta y seleccione Mostrar iconos grandes y ocultar Nombres de elementos que se han pantalla como en la imagen de arriba. 1. Coloca el cursor en un punto justo después de la etiqueta <h1> con ello crearemos una nueva tabla dentro del body de nuestra página.
  • 14. 13 2. Posteriormente en la paleta, haga doble clic en la tabla. 3. En el cuadro de diálogo de la tabla, debemos especificar los siguientes valores haga clic en Aceptar:  Filas : 2  Columnas : 1  Tamaño del borde : 0 El código de la tabla HTML se genera y se añade a la página página index.jsp la cual hemos estado trabajando. En el código que se generó de la tabla en la página será modificado hasta obtener el siguiente código. Con esto agregaremos títulos a las columnas de la tabla que hemos creado. <table border="0"> <thead> <tr> <th> IFPWAFCAD ofrece asesoramiento de expertos en una amplia gama de campos. </ th> </ Tr> </ THEAD> <tbody> <tr> <td> Para ver los detalles de contacto de un ex IFPWAFCAD certificados luchador profesional en su área, seleccione un tema a continuación: </ td> </ Tr>
  • 15. 14 7.-La fila restante, insertaremos un formulario HTML. Colocaremos, el cursor entre el segundo par de etiquetas <td>, y daremos un doble clic en el formulario html en la paleta. En el cuadro de dialogo debemos insertar, en el campo de acción podremos response.jsp , y daremos clic en Aceptar. 8.-Escriba el siguiente contenido entre las etiquetas <form> <strong> Seleccione un tema: </ strong></form> 9.- Pulsaremos Enter para ir a otra línea posteriormente pulsamos Ctrl +Espacio para invocar el apoyo de código de terminación del IDE. Y seleccionamos una lista desplegable. Nota: Todos los elementos enumerados en la paleta igualmente se pueden acceder mediante el apoyo de la IDE Para aprovechar estas ventajas, cuando se trabaja en el editor, se puede pulsar Ctrl + Espacio. Y se mostraran las posibilidades para completar nuestro código.
  • 16. 15 10.- En el cuadro de diálogo que aparece, escribiremos en el nombre subject_id y hacemos clic en Aceptar. El código se añadirá a la página index.jsp El número de opciones para en la lista no es importante. Más adelante en el tutorial, añadir etiquetas JSTL que genera dinámicamente las opciones sobre los resultados que obtengamos de la base de los datos. 11.-Agregar un elemento de botón de envío a un punto justo después de la lista desplegable que acaba de agregar. En el cuadro de diálogo del botón, y en los campos de texto Nombre y agreguemos un nombre, haremos clic en Aceptar. Para comprobar que los que hemos añadido a la página index.jsp haya sido echo correctamente ejecutaremos en proyecto completo. Obtendremos como resultado lo siguiente: La creación de la página de respuesta Una vez terminada la página index.jsp, crearemos la página de respuesta (response.jsp ) para ello debemos crear el archivo en el proyecto. Tenga en cuenta que la mayor parte del contenido que aparece en esta página se genera dinámicamente mediante la tecnología JSP. 1. Haga clic derecho en el nodo del proyecto IFPWAFCAD en la ventana de proyectos y elija Nuevo JSP>. El nuevo diálogo de JSP abre archivos.
  • 17. 16 2. En el campo Nombre de JSP de archivo, escribamos reponse. Esta página se creara en la misma raíz donde se localiza la página indesx.jsp Esta es la misma ubicación de la index.jsp página de bienvenida reside. 3. Acepte los valores predeterminados de otros y haga clic en Finalizar. Una plantilla para la nueva response.jsp página se genera y se abre en el editor. Un nuevo nodo JSP también se muestra en las páginas Web en la ventana de proyectos. 4.- En el editor, cambiar el título de: IFPWAFCAD - {} marcador de posición. 5.- Retire el <h1> Hola Mundo </ h1> línea entre las etiquetas <body></body>, copiar y pegar la siguiente tabla HTML en el cuerpo de la página: <table border="0"> <thead> <tr> <th colspan="2">{placeholder}</th> </tr> </thead> <tbody> <tr> <td><strong>Description: </strong></td> <td><span style="font-size:smaller; font-style:italic;">{placeholder}</span></td> </tr> <tr> <td><strong>Counselor: </strong></td> <td>{placeholder}
  • 18. 17 <br> <span style="font-size:smaller; font-style:italic;"> member since: {placeholder}</span> </td> </tr> <tr> <td><strong>Contact Details: </strong></td> <td><strong>email: </strong> <a href="mailto:{placeholder}">{placeholder}</a> <br><strong>phone: </strong>{placeholder} </td> </tr> </tbody> </table> Para ver esta página en un navegador, haga clic en el editor y seleccione Archivo Ejecutar la página será implementa en el servidor GlassFish, y se abre en el navegador predeterminado.
  • 19. 18 Creación de una hoja de estilo Crearemos una hoja de estilo que mejora la vista de la interfaz de nuestras páginas web. Dicha hoja de estilo afectara a las 2 páginas creadas con anterioridad. Abra el asistente Nuevo archivo pulsando el botón New File, situado en la barra de herramientas principal del IDE. Seleccione la categoría de Web, a continuación, seleccione Hoja de estilo en cascada y haga clic en Siguiente. 1. Para el Nombre del archivo elija estilo CSS y haga clic en Finalizar. 2. El IDE crea un archivo vacío de CSS y lo coloca en la ubicación del proyecto el mismo de index.jsp y response.jsp . Tenga en cuenta que un nodo para style.css muestra ahora en el proyecto en la ventana de proyectos, y el archivo se abre en el editor. 3. En el editor, agregue el siguiente contenido a la style.css archivo: body { font-family: Verdana, Arial, sans-serif; font-size: smaller; padding: 50px; color: #555; } h1 { text-align: left; letter-spacing: 6px; font-size: 1.4em; color: #be7429; font-weight: normal; width: 450px; } table { width: 580px; padding: 10px; background-color: #c5e7e0; } th { text-align: left; border-bottom: 1px solid; } td { padding: 10px; }
  • 20. 19 a:link { color: #be7429; font-weight: normal; text-decoration: none; } a:link:hover { color: #be7429; font-weight: normal; text-decoration: underline; } 4.- para enlazar las paginas index.jsp y response.jsp . a la hoja de estilo En ambas páginas, añadir la siguiente línea entre el <head></head>: <link rel="stylesheet" type="text/css" href="style.css"> La preparación de la comunicación entre la aplicación y base de datos La forma más eficiente para implementar la comunicación entre el servidor y base de datos es la creación de una base de datos de agrupación de conexiones. Crear una nueva conexión para cada solicitud de cliente se puede consumir mucho tiempo, especialmente para las aplicaciones que reciben continuamente un gran número de peticiones. Para remediar esta situación, numerosas conexiones se crean y se mantienen en un pool de conexiones. Cualquier petición de entrada que requiere acceso a la capa de datos de la aplicación utiliza una conexión ya creado de la piscina. Del mismo modo, cuando una solicitud se ha completado, la conexión no se cierra, pero regresó a la piscina. Después de preparar la fuente de datos y agrupación de conexiones para el servidor, entonces necesitamos ordenar a la aplicación para utilizar la fuente de datos. Esto se suele hacer mediante la creación de una entrada en la aplicación web.xml que es un descriptor de despliegue. Finalmente, es necesario asegurarse de que el controlador de base de datos (MySQL Connector / J driver JDBC) se puede acceder al servidor. La edición del servidor de código abierto GlassFish contiene la base de datos de agrupación de conexiones (DBCP) las bibliotecas que proporcionan funcionalidad de agrupación de conexiones de una manera que sea transparente para usted, como desarrollador. Para tomar ventaja de esto, es necesario configurar una JDBC (Java Database Connectivity) fuente de datos para el servidor que la aplicación puede utilizar para la agrupación de conexiones. Se puede configurar la fuente de datos directamente en la consola de administración servidor GlassFish, o, como se describe a continuación, puede declarar los recursos que la aplicación
  • 21. 20 necesita un sol resources.xml archivo. Cuando se implementa la aplicación, el servidor lee en las declaraciones de los recursos, y genera los recursos necesarios. Los pasos siguientes muestran cómo declarar un pool de conexiones, y una fuente de datos que se basa en la agrupación de conexiones. El NetBeans recurso JDBC asistente le permite realizar ambas acciones. Pasos a seguir para la creación de un pool de conexiones. 1. Abra un Nuevo archivo pulsando el botón New File, localizado en la barra de herramientas principal del IDE. Seleccione la categoría de servidor GlassFish, seleccione recurso JDBC y hacemos clic en Siguiente.
  • 22. 21 2. En el paso 2 Atributos, General, seleccione la opción Crear nueva conexión JDBC opción de piscina, y luego en el campo de texto Nombre JNDI, teclee jdbc / IFPWAFCAD. La fuente de datos JDBC se basa en JNDI , Java Naming and Directory Interface. La API JNDI proporciona una manera uniforme para aplicaciones para buscar y acceder a fuentes de datos. 3.-Desea, puede agregar una descripción del origen de datos. Por ejemplo, escriba: Accede a la base de datos que proporciona datos para la aplicación IFPWAFCAD. 4.-Haga clic en Siguiente, haga clic en Siguiente de nuevo para saltar el paso 3, Propiedades adicionales. 5.- Escriba IfpwafcadPool para el nombre de JDBC Connection Pool. Asegúrese de que el extracto de la opción de conexión existente está seleccionado y elija jdbc: mysql: / / localhost: 3306/MyNewDatabase de la lista desplegable.
  • 23. 22 6.-Hacemos clic en Siguiente. Nos podemos dar cuenta que el IDE extrae la información de la conexión de base de datos que ha especificado en el paso anterior, y establece el valor de las propiedades de nombre de la agrupación de conexiones nuevas. En este caso la conexión con MyNewDatabase.
  • 24. 23 7.-Haga clic en Finalizar. El asistente genera una glassfish-resources.xml archivo que contiene entradas para la fuente de datos y la agrupación de conexiones que ha especificado.
  • 25. 24 Para comprobar que las conexiones se crearon podemos realizar los siguientes pasos: 1. En la ventana Proyectos, haga clic en el nodo del proyecto y seleccione Desplegar IFPWAFCAD. El servidor se pone en marcha si no está ya en funcionamiento, y el proyecto se compila y se desplegó a la misma. 2. Abra la ventana de Servicios: servidores> GlassFish> Recursos> JDBC> Recursos JDBC y los nodos de agrupaciones de conexiones. Tenga en cuenta que el origen de datos y agrupación de conexiones se muestran ahora. Es necesario hacer referencia al recurso JDBC que acaba de configurar a partir de la aplicación web. Para ello, puede crear una entrada en la aplicación web.xml descriptor de despliegue. 1. En la ventana de proyectos, expanda la carpeta de archivos de configuración y haga doble clic en el archivo web.xml. Una interfaz gráfica para el archivo se muestra en la ventana principal del IDE. 2. Haga clic en la ficha Referencias situado en la parte superior del editor. Nota: Descriptores de despliegue son archivos basados en XML de texto que contienen información que describe cómo una aplicación se implementa en un entorno específico. Por ejemplo, normalmente se utiliza para especificar los parámetros de contexto de aplicación y pautas de comportamiento, la configuración de seguridad, así como las asignaciones para los servlets, los filtros y los oyentes.
  • 26. 25 3. Ampliar las referencias de recursos título y haga clic en Agregar para abrir el cuadro de diálogo Agregar referencia de recursos. 4. En Nombre del recurso, escriba el nombre del recurso que le dio al configurar el origen de datos del servidor de arriba (jdbc/IFPWAFCAD ). El campo Descripción es opcional. 5.-Para verificar que el recurso se añade a la web.xml archivo, haga clic en la ficha XML ubicado en la parte superior del editor. Tenga en cuenta que los siguientes < ref recursos .
  • 27. 26 Nota: La adición de archivo del controlador de la base de datos JAR es otro paso que es vital para habilitar el servidor para comunicarse con su base de datos. Normalmente, se debe localizar el directorio de su controlador de la base de instalación y copiar el mysql-connector-java-5.1.6- bin.jar archivo desde el directorio raíz del conductor en la carpeta de la biblioteca del servidor que esté utilizando. Afortunadamente, la gestión de la IDE del servidor es capaz de detectar en la implementación si el archivo JAR se ha añadido - y si no, lo hace automáticamente. Para demostrar esto, abra la ventana de Servidores (Seleccione Herramientas> Servidores). El IDE proporciona un driver JDBC opción de implementación. Si la opción está activada, se inicia una comprobación para determinar si los controladores son necesarios para las aplicaciones implementadas del servidor. En el caso de MySQL, si el conductor está obligado y que falta, conductor incluido el IDE se implementa en el lugar apropiado en el servidor. 1. Seleccione Herramientas> Servidores para abrir la ventana Servidores. Seleccione el servidor GlassFish en el panel izquierdo. 2. En el panel principal, seleccione la opción Habilitar el controlador JDBC opción de implementación.
  • 28. 27 3. Antes de cerrar la ventana, haga una nota de la ruta indicada en el campo de texto Dominios carpeta. Cuando se conecta al servidor GlassFish en el IDE, en realidad se está conectado a una instancia del servidor de aplicaciones. Cada instancia se ejecuta aplicaciones en un único dominio, y el campo de nombre de dominio indica el nombre del dominio de su servidor está utilizando. Como se muestra en la imagen de arriba, el archivo JAR del controlador debe estar ubicado dentro de domain1 , que es el dominio predeterminado que se crea al instalar el servidor GlassFish. 4. Haga clic en Cerrar para salir de la ventana Servidores. 5. En su computadora, vaya al directorio de instalación de GlassFish servidor y de perforación en el dominio > domain1 > lib subcarpeta. Debido a que ya debería haber implementado el proyecto IFPWAFCAD al servidor, usted debe ver el mysql-connector-java-5.1.6- bin.jar archivo. Si no ve el archivo JAR del controlador, realice el siguiente paso. 6. Implementar el proyecto en el servidor. En la ventana de la IDE de Proyectos, elija Implementar en el menú del botón derecho del nodo del proyecto. Puede ver el progreso en la ventana de salida del IDE (Ctrl-4; ⌘ -4 en Mac). El resultado indica que el controlador de MySQL se instala en un lugar en el servidor GlassFish.Ahora, si usted vuelve a la domain1/lib subcarpeta en su computadora, usted puede ver que el mysql-connector- java-5.1.6-bin.jar archivo se ha agregado automáticamente.
  • 29. 28 Incorporación de la lógica dinámica Volviendo a la index.jsp y response.jsp marcadores de posición que creó anteriormente en el tutorial, ahora se puede aplicar el código JSTL que permite que las páginas para generar contenido del formulario dinámico , es decir, sobre la base de datos del usuario. Para ello, realice las siguientes tres tareas. Puede aplicar la tecnología JavaServer Pages Standard Tag Library (JSTL) para acceder y mostrar los datos obtenidos de la base de datos. El servidor GlassFish incluye la biblioteca JSTL por defecto. Usted puede verificar esto mediante la ampliación de las bibliotecas de IFPWAFCAD> el nodo del servidor GlassFish en la ventana de proyectos y la búsqueda de la JSTL- impl.jar archivo. Debido a que las bibliotecas del servidor GlassFish se añade por defecto a la ruta de clases de su proyecto, usted no tiene que realizar los pasos para esta tarea. JSTL proporciona cuatro áreas básicas de funcionalidad. Estos son los siguientes:  principales : las tareas más comunes, estructurales, tales como iteradores y condicionales para el manejo de control de flujo  fmt : la internacionalización y el formato de mensaje de localización  sql : acceso a base de datos simple  xml : manejo de contenido XML Ahora usted puede implementar el código que recupera y muestra de forma dinámica datos de cada página. Ambas páginas requieren que se implementa una consulta SQL que utiliza la fuente de datos creada anteriormente en el tutorial. index.jsp Con el fin de mostrar de forma dinámica el contenido de la forma en index.jsp , necesita acceder a todos los nombre s de la reserva de mesa base de datos. 1. Pase el cursor del ratón sobre el elemento de informe DB en la paleta. El elemento de informe DB utiliza el <sql:query> etiqueta para crear una consulta SQL, a continuación, utiliza el <c:forEach> etiqueta para recorrer la consulta de resultados y la salida de la recuperada de datos. 2.- Coloca el cursor encima de la <% @ page ... %> declaración, a continuación, haga doble clic en el elemento del informe DB en la paleta. En el cuadro de diálogo que aparece, introduzca los siguientes datos:
  • 30. 29  Nombre de variable: los sujetos  Ámbito de aplicación: la página  Fuente de datos: jdbc / IFPWAFCAD  Sentencias Query: SELECT de subject_id, el nombre del sujeto 3.-Haga clic en Aceptar. El siguiente contenido se genera en el archivo index.jsp. 4.-Ejecutar el proyecto para ver cómo se muestra en un navegador. Haga clic derecho en el nodo del proyecto en la ventana de proyectos y seleccione Ejecutar. Cuando seleccione Ejecutar, el IDE implementa el proyecto en el servidor GlassFish, la página de índice se compila en un servlet, y la página de bienvenida se abre en el navegador por defecto. El código generado por el elemento de informe DB crea la siguiente tabla en la página de bienvenida.
  • 31. 30 5.- Como puede ver, el elemento de informe DB le permite probar rápidamente su conexión a la base de datos, y le permite ver los datos de la tabla de la base de datos en el navegador. Los pasos siguientes demuestran cómo integrar el código generado en el código HTML en la lista desplegable que creó anteriormente en el tutorial. 6.- Examinar los datos de columna en el código generado. Dos <c:forEach> etiquetas se utilizan, una es anidado dentro del otro. Esto hace que el contenedor JSP (es decir, el servidor GlassFish) para realizar un bucle en todas las filas de la tabla, y para cada fila, recorre todas las columnas. De esta manera, los datos de toda la tabla se muestra. 7.-Incorporar los <c:forEach> etiquetas en el formulario HTML de la siguiente manera. El valor de cada elemento se convierte en el subject_id , y el texto de salida se convierte en el nombre , según consta en la base de datos. <form action="response.jsp"> <strong>Select a subject:</strong> <select name="subject_id"> <c:forEach var="row" items="${subjects.rowsByIndex}"> <c:forEach var="column" items="${row}"> <option value="<c:out value="${column}"/>"><c:out value="${column}"/></option> </c:forEach> </c:forEach> </select> <input type="submit" value="submit" name="submit" /> </form>
  • 32. 31 8.-Eliminar la tabla que se generó a partir del elemento de informe DB. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <%-- Document : index Created on : Dec 22, 2009, 7:39:49 PM Author : nbuser --%> <sql:query var="subjects" dataSource="jdbc/IFPWAFCAD"> SELECT subject_id, name FROM Subject </sql:query> <table border="1"> <!-- column headers --> <tr> <c:forEach var="columnName" items="${subjects.columnNames}"> <th><c:out value="${columnName}"/></th> </c:forEach> </tr> <!-- column data --> <c:forEach var="row" items="${subjects.rowsByIndex}"> <tr> <c:forEach var="column" items="${row}"> <td><c:out value="${column}"/></td> </c:forEach> </tr> </c:forEach> </table> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 9.- Guarde los cambios Tenga en cuenta que no es necesario volver a implementar su proyecto. De manera predeterminada, la compilación en ahorrar está habilitada para su proyecto. Esto significa que al modificar y guardar un archivo, el archivo se compila automáticamente y desplegado y no es necesario volver a compilar todo el proyecto. Usted puede activar y desactivar la compilación en ahorrar para su proyecto en la categoría de Compilación de la ventana Propiedades del proyecto.
  • 33. 32 response.jsp La respuesta de la página ofrece los detalles para el consejero que se corresponde con el tema elegido en la página de index.jps. La consulta que cree debe seleccionar el registro consejero cuya counselor_id coincide con el counselor_idfk del expediente objeto seleccionado. 1. Coloca el cursor encima de la <% @ page ... %> declaración, « En el cuadro de diálogo que aparece, introduzca los siguientes datos: o Nombre de variable: counselorQuery o Ámbito de aplicación: la página o Fuente de datos: jdbc / IFPWAFCAD o Sentencias Query: SELECT * FROM reserva, Consejero DONDE Counselor.counselor_id = Subject.counselor_idfk Y = Subject.subject_id? <sql:param value="${param.subject_id}"/> 2.- Hacemos clic en Aceptar. El siguiente contenido se genera en el archivo response.jsp. <% @ Taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql"%> <% - Documento: respuesta Creado el: 22 de diciembre de 2009, 08:52:57 PM Autor: nbuser -%> <sql:query var="counselorQuery" dataSource="jdbc/IFPWAFCAD"> SELECT * FROM reserva, Consejero DONDE Counselor.counselor_id = Subject.counselor_idfk Y Subject.subject_id =? <sql:param value="${param.subject_id}"/> </ Sql: query> <% @ Page contentType = "text / html" pageEncoding = "UTF-8"%> <DOCTYPE HTML PUBLIC "- / / W3C / / DTD HTML 4.01 Transitional / / EN" "Http://www.w3.org/TR/html4/loose.dtd"> 4.- Use un <c:set> etiqueta para establecer una variable que corresponde al primer registro (es decir, fila) de la de resultados que devuelve la consulta. <sql:query var="counselorQuery" dataSource="jdbc/IFPWAFCAD"> SELECT * FROM reserva, Consejero DONDE Counselor.counselor_id = Subject.counselor_idfk Y Subject.subject_id =? <sql:param value="${param.subject_id}"/> </ Sql: query> <c:set var="counselorDetails" value="${counselorQuery.rows[0]}"/>
  • 34. 33 Aunque el conjunto de resultados que devuelve la consulta debe contener solamente un único registró, este es un paso necesario porque la página necesita tener acceso a los valores del registro con las declaraciones. Recordemos que en index.jsp , que fueron capaces de acceder a los valores del conjunto de resultados simplemente utilizando un <c:forEach> etiqueta. Sin embargo, el <c:forEach> etiqueta opera mediante el establecimiento de una variable para las filas contenidas en la consulta, lo que le permite extraer los valores mediante la inclusión de la variable de fila en las declaraciones. taglib Directiva para la JSTL núcleo de la biblioteca de la parte superior del archivo, por lo que el <c:set> etiqueta se entiende. <% @ Taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <% @ taglib prefix = "sql" uri = "http://java.sun. com / jsp / JSTL / sql "%> En el código HTML, reemplace todos los marcadores de posición con EL código de las declaraciones que muestran los datos contenidos en el counselorDetailsvariable. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <link rel="stylesheet" type="text/css" href="style.css"> <title> $ {} counselorDetails.name </ title> </ Head> <body> <table> <tr> <th colspan="2"> $ {} counselorDetails.name </ th> </ Tr> <tr> Descripción <td> <strong>: </ strong> </ td> <td> <span style="font-size:smaller; font-style:italic;"> $ {} counselorDetails.description </ span> </ td> </ Tr> <tr> <td> Consejero <strong>: </ strong> </ td> <td> <strong> $ {} $ {counselorDetails.first_name counselorDetails.nick_name} $ {} counselorDetails.last_name </ strong> <br> <span style="font-size:smaller; font-style:italic;"> miembro <em> desde: $ {} counselorDetails.member_since </ em> </ span> </ td> </ Tr> <tr> <td> Detalles de Contacto <strong>: </ strong> </ td> <td> <strong> email: </ strong> <A href = "mailto: $ {} counselorDetails.email "> $ {} counselorDetails.email </ a> teléfono <br> <strong>: </ strong> $ {} counselorDetails.telephone </ td> </ Tr> </ Table> </ Body>
  • 35. 34 </ Html> Ejecución de la aplicación completa Usted ha completado la aplicación. Intente ejecutar de nuevo para ver cómo se muestra en un navegador. Tenga en cuenta que debido a compilar NetBeans 'en función de Ahorro, no tiene que preocuparse acerca de la compilación o por la reprogramación de la aplicación. Cuando se ejecuta un proyecto, usted puede estar seguro de que la implementación contiene los últimos cambios. Haga clic en el proyecto de ejecución, situado en la barra de herramientas principal. El index.jsp página se abre en el navegador predeterminado del IDE. Cuando index.jsp muestra en el explorador, seleccione un tema de la lista desplegable y haga clic en enviar. Ahora debe ser remitido a la response.jsp página, mostrando los detalles correspondientes a su selección.