El documento describe los pasos para instalar y configurar las aplicaciones necesarias para el desarrollo de aplicaciones web dinámicas con Java, incluyendo Apache, Tomcat, MySQL y Java. Explica cómo descargar e instalar cada aplicación, configurar las variables de entorno de Java, e instalar Apache y Tomcat.
2. CAPÍTULO 1. INTRODUCCIÓN Y CONFIGURACIÓN DE LA INSTALACIÓN
Esta es la primera parte en la cual veremos la instalación y configuración de los productos de libre distribución más populares
para la generación de contenido dinámico: Apache, Tomcat, Mysql y Java.
Pero antes de esto vamos a ver algo más.
BREVE INTRODUCCIÓN DE JAVA, APACHE, MYSQL Y SOFTWARE LIBRE.
Es momento de explorar la historia de de cada uno de estos tres componentes y sobre como trabajan conjuntamente para
ayudarnos a crear sitios Web dinámicos y profesionales.
¿Qué es el Open Source?
JAVA, Apache y MySQL son todos partes de un grupo de programas denominados Open Source. El movimiento del Open
Source es básicamente la colaboración de los mejores programadores del mundo. Al permitir el intercambio de información
contribuyen al desarrollo de un software de mejor calidad que el que tienen los grandes monopolios. Todos ayudan a
colaborar para que esto sea así empezando por el programador que realiza software por gusto personal, los usuarios que
reportan los posibles errores y las empresas que hacen frente al monopolio aportando el software que ellos ya tienen bien
probado.
Como trabajan conjuntamente Apache, MySQL y Java
La creación de sitios Web dinámicos permite al usuario tener páginas personalizadas según la ubicación geográfica en la que
se encuentren, según el navegador que utilicen y sobre todo permite al usuario una mejor interacción con el servidor, ya que
el sitio no siempre se verá igual tanto en forma como contenido y esto es posible gracias a la combinación de:
Apache: Es el servidor HTTP, realiza análisis de archivos y el pasa los resultados al navegador. Proporciona el Servidor Web.
Java: Aquí generamos el contenido dinámico, es decir la creación de páginas HTML, de acuerdo a las características
solicitadas.
MySQL: Aquí tenemos la información que será consultada por JAVA. Es el motor de Base de Datos.
1.1 INSTALACIÓN DE APACHE
Vamos a iniciar nuestro recorrido por este fascinante mundo de la programación de páginas de contenido dinámico instalando
el servidor Web más utilizado en el mundo: Apache. Vamos a ver entre otras cosas los siguientes temas:
1. Nombramos los requisitos del sistema para ejecutar Apache en Windows.
2. Instalamos Apache en Windows.
3. Iniciamos, paramos y reiniciamos Apache.
Antecedentes
Aunque Apache se ha estado trasladado a la plataforma Windows durante mucho tiempo, desde Apache 2.0 se puede sacar
partido de las llamadas al sistema Windows nativas. Todas las versiones anteriores de Apache utilizaban una capa de
abstracción POSIX que disminuía el rendimiento cuando se ejecutaba Apache en Windows. Ahora Apache puede, por fin,
competir con otros servidores nativos de Web como el servidor Microsoft IIS y el servidor Netscape Enterprise.
En este capitulo, conocerá los requisitos del sistema para ejecutar Apache bajo plataformas Windows conocidas, como son
Windows XP, Windows 2000, Windows NT y Windows 9x/ME; también aprenderá a instalar Apache y a configurarlo de modo
que pueda prepáralo y ejecutarlo rápidamente.
INSTALACIÓN Y CONFIGURACIÓN DE APACHE
Requisitos del sistema
Apache exige que tenga activado TCP/IP en su sistema Windows. Debería asegurarse de que tiene la última versión del
TCP/IP (Winsock) para su plataforma Windows. Los usuarios de Windows 2000 con TCP/IP activado pueden instalar Apache
sin ningún otro requisito específico para Windows. Los usuarios de Windows NT 4.0 tienen que tener instalados los paquetes
con los últimos servicios. El servidor Windows 2003 Server es la plataforma ideal para ejecutar un servidor Web de Apache en
grado de producción. Windows XP es el que se utilizará en nuestro caso.
También necesita tener al menos la versión 1.10 del Microsoft Installer, o una versión superior para instalar Apache. Windows
2000 y Windows ME tienen integrado el Microsoft Installer. Para el resto de las versiones de Windows, debe consultar los
manuales o visitar el sitio Web de Microsoft.
Cargar Apache para Windows
Apache para Windows se puede cargar desde la distribución de la fuente o la distribución binaria. A diferencia de la mayoría
de las plataformas Unix, Windows no contiene capacidades de desarrollo como un compilador estándar de C, GCC. De modo
que las únicas personas que realmente pueden compilar Apache son los desarrolladores de Windows que tienen herramientas
de desarrollo como el Microsoft visual Studio.
Para la mayor parte de la gente, la distribución binaria es la única opción disponible. Aunque podemos encontrar gcc en
Windows, la fuente de Apache no se compila con la versión Windows de gcc.
El sitio oficial para bajar los archivos binarios de Apache para Windows es http://httpd.apache.org/download.cgi.
3. Figura 1.1. Licencia
Las distribuciones binarias se Llaman httpd version-win32-no srcrnumber.msi (por ejemplo, apache_2.2.4-win32-x86-
no_ssl.msi). Las distribuciones de la fuente se Llaman httpd_version_win32_wint_src.msi. Baje la última distribución binaria
estándar estable. En este caso damos clic en Win32 Binary (MSI Installer): apache_2.2.4-win32-x86-no_ssl.msi
NOTA: Si es un desarrollador de Windows que pretende bajar y compilar una distribución-fuente de Apache, entonces puede
bajar la versión comprimida de la distribución fuente en lugar de la versión msi. Necesitará un programa para descomprimirlo
como PKUNZIP de PKWARE, WinZip o el propio que traen ya incluidos Windows XP para extraer los archivos de la fuente; que
tiene líneas MS-DOS. No baje las distribuciones fuente que terminen en tar.gz o .tar.Z porque son paquetes Unix con líneas
para las plataformas Unix.
Instalar binarios de Apache
Haga doble clic en el archivo apache_version-win32-x86-no_ssl.msi y aparecerá la siguiente ventana:
Figura 1.2. Ejecuntando el instalador
En la que damos clic en Ejecutar y comenzará la descarga del Microsoft Installer y la instalación de Apache.
4. Figura 1.
3. Inicio de la instalación
Haga clic en Next para comenzar la instalación. Le hará una serie de preguntas, que se discuten a continuación.
1. Lea y acepte la licencia que se muestra en la figura. Debe hacer clic en la casilla "I accept the terms in the license
agreement" para activar el botón Next. Haga clic en Next pasar a la pantalla siguiente.
Figura 4. Licencia
2. Aparecerá una pantalla parecida a la que se muestra en la figura 1.1. Esta pantalla mostrará la última información
(README). Navegue por esta información y cuando este preparado, haga clic en Next para continuar.
Figura 5 La nota Read This First
3. La siguiente pantalla es parecida a la de la figura 1.2, y le pide que introduzca el nombre de dominio de la red, el nombre
del servidor y la dirección de correo electrónico del administrador. Por defecto, el programa de instalación determina los
nombres basándose en las opciones actuales de Windows. Modifique los valores por defecto por los valores adecuados. No
cambie el nombre del servidor o el nombre del dominio sin tener realmente las configuraciones de DNS y de red apropiadas
para el host. En otras palabras, no puede elegir de forma arbitraria un nombre de dominio o el nombre del host del servidor.
Esta información debe ser valida para el host en el que ha instalado Apache. Haga clic en Next para continuar.
5. Figura 6 . Información sobre su servidor
4. Decida si quiere instalar Apache utilizando la instalación Typical (o completa, con todas las características del programa
instaladas, utilizando mucho espacio en el disco) o Custom (personalizado, en el que se seleccionan los programas y archivos
que se instalan), tal y como muestra en la figura 1.4. Le recomiendo que elija la instalación personalizada porque le permite
saber lo que se va a instalar. Siempre tiene la opción de elegirlo todo en la instalación personalizada hasta llegar a la
completa.
Figura 7. Elegir el método de configuración
5. Si decide utilizar la instalación personalizada, vera una pantalla parecida a la que se muestra en la figura 1.5. Se muestran
tres opciones. Puede hacer clic en cada una de las opciones para decidir si desea o no instalarla.
Figura 8. Personalizar Apache para su sitio
Por ejemplo, si hace clic en la opción Apache httpd Server, obtendrá un menú de opciones como el que se muestra en la
figura 1.6.
6. Figura 1.9. El menú de opciones de instalación
Ha de decidir si instala la característica (httpd Apache server, en este caso) en el disco duro o en un driver de la red. Si el
espacio del disco es un problema y no quiere la documentación online, puede decidir no instalar la documentación haciendo
clic en esa opción para no seleccionar esa característica. Por defecto, Apache se instala en el directorio C:Archivos de
programaApache Software Foundation. Para cambiar esto, haga clic en el botón Change e introduzca un directorio distinto en
la siguiente ventana de dialogo, entonces haga clic en OK para volver a esta pantalla. Haga clic en Next para continuar.
6. El programa de instalación muestra una pantalla que indica que esta preparado para instalar Apache.
Figura 1.10. Iniciamos el proceso de instalación
Haga clic en Next y espere mientras se instala Apache.
Figura 1.11. Finalizamos el proceso de instalación
Cuando se completa la instalación, haga clic en Finish para que termine el programa de instalación.
Por defecto, el programa de instalación inicia Apache, por lo que debe ser capaz de ver el sitio Web por defecto de su
sistema, utilizando un navegador
7. Figura 1.12. El sitio Web por defecto instalado en su sistema Windows
1.2 INSTALACIÓN Y CONFIGURACIÓN DE JAVA 1.6
Vamos a utilizar la tecnología java jdk para el desarrollo de aplicaciones Web, por eso es muy importante tener bien instalado
y configurado java, para ello vamos a realizar los siguientes pasos.
1.- Descargamos java desde el sitio de sun: http://java.sun.com/ , elegimos la última versión que en este caso es JDK 6
Update 5. En la sección de descargas, elegimos Java SE:
Buscamos el archivo (p.e. jdk-6u3-windows-i586-p.exe )
Damos clic en download y aceptamos la licencia:
Y elegimos la última versión disponible:
Le indicamos la ruta en donde se almacenara el archivo en nuestro PC e iniciamos la descarga.
2.- Una vez terminada la descarga del archivo iniciamos el proceso de instalación.
a) Damos doble clic al archivo recién descargado
8. Y nos debe de aparecer la siguiente ventana:
E inmediatamente después:
En la que aceptamos el contrato dando clic en Accept, una vez hecho lo anterior nos aparece la ventana:
En la que dejamos las herramientas por defecto y solo damos clic en Next.
Con esto iniciamos el proceso de instalación:
9. En unos instantes nos aparecerá una segunda ventana
En la que damos clic en siguiente para indicar que elegimos la opción por defecto para JRE.
Nos aparece la instalación del JRE y finalmente
10. Una vez que haya terminado la instalación damos clic en Finísh para posteriormente iniciar el proceso de la configuración de
las variables de entorno.
CONFIGURACION DE LAS VARIABLES DE ENTORNO
Por el momento ya tenemos instalado java en nuestro sistema pero no es posible que podamos compilar un programa desde
cualquier ruta o directorio.
Ya que si en este momento entramos al modo ms-dos, no podremos ejecutar aun java, para ello damos clic en inicio –Z
ejecutar y tecleamos cmd, nos aparecerá una ventana con fondo negreo y tecleamos:
Javac -version
3.- Como vimos que no reconoció a java entonces, en este paso le vamos a indicar a Windows que reconozca a java como
nuestro compilador desde cualquier ruta en la que nos encontremos para ello vamos a configurar dos variables de entorno
importantes el PATH y el CLASSPATH. Por le momento lo haremos únicamente para PATH, ya después veremos como agregar
el CLASSPATH cada una de las librerías que iremos necesitando.
a) Damos clic en Inicio y buscamos Mi PC en la que damos clic con el botón derecho, con esto nos aparecerá la siguiente
ventana:
En la que seleccionamos la pestaña o ficha Opciones avanzadas y elegimos el botón Variables de Entorno.
11. En la que buscamos PATH en la parte de Variables de Sistema
Ahí damos clic en el botón modificar y agregamos hasta el final de la linea la ruta en donde se instalaron los programas para
compilar y ejecutar javac.exe y java.exe los cuales se encuentran en C:Archivos de programaJavajdk1.6.0_05bin.
Debemos de agregar lo siguiente:
;C:Archivos de programaJavajdk1.6.0_05bin, tal como se ve en la figura siguiente:
NOTA: Cuando agregamos el valor de la variable path no debe de llevar espacios después del ;
NOTA: hay que tener cuidado en no borrar el valor de la variable path, y para ello nos desplazamos con las flechas hacia la
derecha y agregar nuestra ruta.
Ahora vamos dando clic en Aceptar Aceptar Aceptar en cada una de las ventanas abiertas para establecer los nuevos valores.
12. 4.- Para ver que podemos realizar programas en Java entramos a ventana del sistema. Para lograrlo le damos clic en Inicio-
>Ejecutar y tecleamos:
cmd
Nos aparece una ventana al estilo MS DOS, en la cual tecleamos:
javac –version
Y debe de aparecer algo parecido a:
5.- Ahora vamos a realizar un ejemplo sencillo pero que demuestra que java esta funcionando:
Con nuestro editor de texto o en nuestro caso con notepad.exe
Damos clic en inicio -> ejecutar
Y teclemos
cmd
Con esto nos envía a la ventana de comandos en la que tecleemos
Notepad hola.java
Al mensaje que aparece le decimos que si
Y tecleamos el siguiente programa en java:
class hola
{
public static void main(String[] args)
{
System.out.print ("Hola mundo java!!");
}
}
Ahora para compilar el programa tecleamos>
javac hola.java
y para ejecutar nuestra aplicacin teclemos
java hola
sin la extensión.
Y si no tuvimos ningún problema veremos una ventana similar a la siguiente:
13. 1.3 INSTALACIÓN Y CONFIGURACIÓN DE TOMCAT 6
Como tomcat fue desarrollado en Java, es necesario que se tenga bien instalado y configurado java para que podamos
continuar con la instalación y configuración de tomcat. Una vez teniendo presente lo anterior procederemos a la instalación
de tomcat.
Para ello seguiremos los siguientes pasos:
1.- entramos a la página de apache tomcat http://tomcat.apache.org/ y descargamos la última versión estable, que en
nuestro caso es la versión 6. En la pagina http://tomcat.apache.org/download-60.cgi buscamos el archivo Windows Service
Installer, guardamos en el disco duro un archivo llamado apache-tomcat-6.0.14.exe.
2.- Instalación de tomcat, procederemos a realizar la instalación con el asistente típico de Windows.
Damos doble clic en el archivo recién descargado
Con ello nos mostrará el asistente para la instalación de tomcat
En la que damos clic en siguiente para que nos muestre la ventana de la Licencia
14. Damos clic en el botón I Agree para aceptar la Licencia.
Ahora en la ventana que nos aparece seleccionamos la instalación completa (Full) y activamos las casillas que no estén
deshabilitadas o incompletas, tal como se ve en la siguiente ventana:
Damos clic en siguiente y seleccionamos la ruta de la instalación
Ahora damos clic en siguiente para que nos pida el puerto sobre el que se ejecutara tomcat que por defecto es el 8080 el cual
dejamos y también nos solicita un usuario y contraseña para el administrador de tomcat.
15. Damos clic en siguiente y nos pide la ruta o directorio del jre de java, el cual obtiene automáticamente y si no le indicamos y
en nuestro caso fue C:Archivos de programaJavajre1.6.0_03.
Y por ultimo procedemos a iniciar la instalación dando clic en install.
NOTA: Si fuese necesario descargar archivos adicionales tomcat lo hara y para ello debemos de estar conectados a Internet.
16. Al dar clic en finish inicia la instalación del servicio.
Ahora nos deja un icono en la barra de notificaciones con el que podamos realizar de manera directa con el servidor de
apache tomcat, tal como iniciar o detener el servicio.
3.- Para probar que Tomcat este funcionando adecuadamente nos vamos al navegador y en dirección tecleamos lo siguiente:
http://localhost:8080
Con lo que deberemos de ver algo similar a lo siguiente:
Si seguimos los pasos anteriores entonces al introducir la URL http://localhost deberíamos ver la web de bienvenida de
Apache, al introducir http://localhost:8080 la de Tomcat, y con http://localhost/servlets-examples Apache enviará la petición
a Tomcat.
17. 1.4 INSTALACIÓN Y CONFIGURACIÓN DE MYSQL
En esta parte vamos a:
• Descargar e instalar MySQL
• Dar seguridad básica a MySQL
• Trabajar con los privilegios del sistema para el usuario
Para instalar MySQL necesitaremos que nuestra computadora este configurada y ejecutándose de manera adecuada los
protocolos TCP/IP
Descarga e Instalación de mysql
Vamos a ingresar a la página de mysql
http://dev.mysql.com/downloads/
Como primer paso descargaremos el archivo desde la siguiente ubicación:
http://dev.mysql.com/downloads/mysql/5.0.html
Y posteriormente nos muestra todos los enlaces para la descarga:
Figura 1. Licencia
En esta sección solo veremos la instalación manual y por eso descargaremos el archivo que tiene el mayor tamaño (Without
installer unzip in C: de 50.0M).
Seleccionamos un servidor espejo
http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/mysql-noinstall-5.0.51a-win32.zip
y descargamos un archivo:
mysql-noinstall-5.0.51a-win32.zip
Una vez descargado el archivo procedemos a descomprimir el archivo que descargamos en una carpeta temporal que nos da
por defecto “mysql-noinstall-5.0.51a-win32” al que después renombramos y copiamos en la unidad c:
C:mySQL
De tal manera que quede como se ve en la figura siguiente:
18. Figura 1. Licencia
Establecer las variables de entorno para MySQL
C:mysqlbin
Configuración del servidor de base de datos mySQL
1.- Copia el archivo c:mySQLmy-huge.ini hacia la carpeta C:WINDOWS, renombra por my.ini y modifica las líneas
siguientes:
Inmediatamente después de la sección
[mysqld]
Agrega las líneas siguientes:
# set basedir to your installation path
basedir=C:/mysql
# set datadir to the location of your data directory
datadir=D:/BaseDatos/data
basedir indica en donde se encuentran los archivos de mysql y datadir las bases de datos que en este caso están en otra
unidad.
Creamos la carpeta BaseDatos en la unidad D de nuestro disco duro (de preferencia en otra partición aunque puede hacerlo
en la unidad C: si así lo prefiere). Ahora vamos a mover la carpeta data que se encuentra en C:mySQLdata hacia la
unidad D:BaseDatosdata.
19. Figura 1. Licencia
Prueba de la instalación de mysql
Ahora para probar la instalación de mysql vete a inicio->Ejecutar y teclea cmd y en la ventana que aparece teclea lo
siguiente
cd c:mySQLbin
Para ejecutar mysql como un servicio:
mysqld —install
Aparecerá el mensaje siguiente:
Service successfully installed.
Y para iniciar el servidor de mysql lo podemos hacer con
NET START MySQL
Nos muestra entonces el siguiente mensaje:
El servicio de MySQL está iniciándose.
El servicio de MySQL se ha iniciado con éxito.
Y para parar el servicio:
NET STOP MySQL
Mostrándonos lo siguiente:
El servicio de MySQL está deteniéndose.
El servicio de MySQL fue detenido con éxito.
Configurando la instalación de MySQL
Después de hacer la prueba de instalación nos queda configurar nuestro servidor adecuadamente para eso, si es que no está
el servicio lo volvemos a levantar con:
NET START MySQL
Ahora teclea lo siguiente:
mysql -u root
Nos solicitará un password y tan solo damos ENTER para que nos envíe al prompt de mysql
Por defecto en Windows se crea un usuario con todos los privilegios y para cambiar esto teclea lo siguiente desde el prompt
de mysql:
Ahora vamos a establecer la base de datos mysql como la actual
mysql> use mysql;
nos aparecerá el mensaje:
Database changed
Después vamos a ver cuantas cuentas tenemos dadas de alta:
mysql> select user, password from user;
20. Y nos da como resultado lo siguiente:
Como vemos en los resultados se trata de dos cuentas, la de root por lo que cualquiera que se identifique como root en el
sistema tendrá acceso a todo en MySQL y en caso de que tuvieramos una cuenta vacía la eliminamos con:
mysql> DELETE FROM user WHERE Host=’localhost’ AND User=’’;
Con lo que obtenemos el siguiente mensaje:
Query OK, 1 row affected (0.03 sec)
Nos podemos salir del prompt de mysql tecleando quit o exit.
Y para que surtan efecto los cambios de usuario tecleamos lo siguiente:
mysqladmin reload
si nos marca error entonces probamos con (sin password únicamente tecleando ENTER)
mysqladmin: reload failed; error: 'Access denied; you need the RELOAD privilege for this operation'
mysqladmin -u root –p reload
Ahora Cambiar el password del superusuario
Para cambiar el password de mysql, debes de tener el servicio de mysql ejecutándose.
mysqladmin -u root password tu_nuevo_password
Para que mysql registre el cambio de password entonces (ahora si tecleamos el nuevo password):
mysqladmin -u root -p reload
y digitamos el password anteriormente tecleado
Para cambiar ver el estado actual se teclea lo siguiente:
mysqladmin -u root -p status
dándonos la información siguiente:
Uptime: 1718 Threads: 1 Questions: 23 Slow queries: 1 Open tables: 6 Queries per second
avg: 0.013
Para detener el servicio de mysql se teclea lo siguiente:
mysqladmin -u root -p shutdown
el parámetro –p es para que nos solicite el password
Porque de lo contrario nos marcaría un error de acceso denegado
Cambiando el password de root mediante mysql
Si no tenemos levantado el servicio de MySQL entonces lo hacemos con el siguiente comando:
net start mysql
y ahora estando en la ruta C:mysqlbin>
Vamos a entrar al prompt de mySQL, y tecleamos el password anteriormente asignado a root:
mysql -h localhost -u root -p
Dentro del intérprete de comandos de MySQL, indique con el comando use mysql que utilizará la base de datos mysql:
mysql> use mysql ;
Solicite con el mandato show tables que se muestren las tablas de la base de datos mysql:
mysql> show tables;
Que muestra:
21. Con el comando select host,user,password from user se mostrará el contenido de la tabla user de la base de datos actual:
mysql> select host,user, password from user;
Esto hará que se vea, entre otras muchas cosas, lo siguiente:
Como se podrá observar, el usuario root ya tiene asignada una clave de acceso, pero se puede asignar una nueva clave de
acceso del siguiente modo:
mysql> update user set Password=PASSWORD('nuevo_password') where user='root';
Query OK, 0 rows affected (0.02 sec)
Rows matched: 1 Changed: 0 Warnings: 0
Utilice de nuevo el comando select * from user y vuelva observar el campo que correspondería al de la clave de acceso del
usuario root:
mysql > select * from user;
Deberá aparecer ahora un criptograma en el campo que corresponde a la clave de acceso del usuario root.
+-------------------------+----------+------------------+--------------+
| Host | User | Password | Select_priv |
+-------------------------+----------+------------------+--------------+
| localhost | root |4593274b8e0d68j852| Y |
+-------------------------+----------+------------------+--------------+
Se recomienda realizar refresco de los privilegios a fin de que tomen efecto los cambios.
mysql > flush privileges;
Query OK, 0 rows affected (0.00 sec)
Para probar, solo hay que salir del intérprete de MySQL.
mysql > quit
Intente ingresar de nuevamente al intérprete de comandos de MySQL:
mysql
Notará que ya no se puede acceder como antes, y regresa un mensaje de error.
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
Ejecute ahora el mismo comando, pero especificando un usuario (-u root) y solicitando se pregunte por una clave de acceso
(-p):
mysql > mysql -u root -p
A continuación se le pedirá ingrese una clave de e acceso, tras lo cual obtendrá de nuevo acceso al intérprete de mandatos de
MySQL.
22. Autentificándose con mySQL
Para conectarnos al servidor de mysql debemos de seguir la siguiente sintaxis:
mysql -h <hostname> -u <username> -p
<hostname> Es el nombre del servidor
<username> Es el usuario con el que nos conectaremos al servidor
En nuestro caso sería asi:
mysql -h localhost -u root -p
o bien
mysql -u root -p
Con esto nos pediría el password:
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 5.0.18-log
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
Con esto ya estamos dentro del mysql y podemos ver si tenemos alguna base de datos tecleando desde el prompt el
comando:
mysql > SHOW DATABASES;
Nos deberá de mostrar algo similar a:
En mysql una línea de comando se termina con el carácter ;
Por ejemplo:
Si quiero mostrar las bases de datos que tengo en mysql en líneas distintas tecleo
mysql > SHOW
-> DATABASES;
NOTA: Debemos dejar un espacio después de teclear show para que funcione, ya que si no nos mandará un mensaje de
error.
MySql espera que tecleemos mas comandos cambiándonos el prompt del servidor de mysql> a ->
Si no queremos que mySQL ejecute un comando y para no eliminar toda la línea lo que debemos de hacer es teclear al final
del comando c asi como se ve aquí:
SHOW DATABASESc
Asegurando MySQL, aun cuando pareciera que ya es todo pero todavía nos queda eliminar la base de datos test.
Para eliminar en mysql la base de datos test tecleamos lo siguiente:
mysql> DROP DATABASE test;
Query OK, 0 rows affected (0.02 sec)
Para terminar la sesión en mysql teclear el comando quit.
mysql> quit
23. Bye
Regresándonos así al directorio actual.
C:MySQLbin>
Por el momento es hasta aquí tenemos lo necesario para empezar con MySQL.
24. CAPÍTULO 2. CONFIGURANDO LAS TECNOLOGÍAS WEB DE JAVA
En este capítulo vamos a configurar las tecnologías más representativas de Java: servlets, JSP y JSF.
Servlets
Una vez que ya tenga instalado Apache, Java y Tomcat el siguiente paso es poder desarrollar aplicaciones simples pero
funcionales para ello empezaremos con la configuración del CLASSPATH para que podamos compilar servlets en java y
ejecutarlas con tomcat.
1.- Vamos a entrar otra vez a la ventana de las variables de entorno Inicio-> Mi PC botón derecho -> propiedades ->
Opciones Avanzadas -> variables de Entorno -> Variables de sistema. Buscamos CLASSPATH y si no lo encontramos lo
agregamos. Para ello damos clic en el boton Nueva
Y en la ventana que nos aparece agregamos como Nombre de variable: CLASSPATH y Valor de Variable:
C:Archivos de programaApache Software FoundationTomcat 6.0libel-api.jar; C:Archivos de programaApache Software
FoundationTomcat 6.0libjsp-api.jar;
Que permitira compilar en java aplicaciones servlets y jsp
servlet-api.jar
jsp-api.jar
De tal manera que se vea así:
Con ello ya debemos de poder crear nuestros servlets o aplicaciones jsp.
2.- Nuestras aplicaciones por el momento se encontraran en la ruta o directorio siguiente:
C:Archivos de programaApache Software FoundationTomcat 6.0webapps
En la cual creamos la carpeta siguiente:
miServlet
Ahí crearemos una estructura de directorios tal como se ve en la figura siguiente:
Damos clic en Inicio->Ejecutar->cmd y nos cambiamos a la ruta siguiente:
C:Archivos de programaApache Software FoundationTomcat 6.0webappsmiServletWEB-INFclasses, con
25. cd "C:Archivos de programaApache Software FoundationTomcat 6.0webappsmiServletWEB-INFclasses"
Vamos a crear el código fuentes de java en el bloc de notas para ello tecleamos desde la línea de comandos:
notepad HolaMundo.java
Le decimos que si al mensaje que aparece y vamos a teclear el siguiente código:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HolaMundo extends HttpServlet {
public void init(ServletConfig conf)
throws ServletException {
super.init(conf);
}
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hola Mundo</h1>");
out.println("</body>");
out.println("</html>");
}
}
Y compilamos nuestro primer servlet con la siguiente instrucción:
javac HolaMundo.java
Y si no tenemos ningún problema debemos de ver algo similar a lo siguiente:
Con esto nos generó el archivo HolaMundo.class en el directorio classes
Por ahora ya tenemos hecho nuestro servlet de ejemplo en java y para ejecutarlo debemos de crear el archivo web.xml en la
carpeta miServlet/WEB-INF/ tal como se ve en la figura siguiente:
Y escribimos lo siguiente:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<description>
Ejemplo de un Servlet.
</description>
<servlet>
<servlet-name>HolaMundo</servlet-name>
<servlet-class>HolaMundo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HolaMundo</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
26. Entramos al navegador y teclemos la siguiente dirección:
http://localhost:8080/miServlet
JSP – Java Server Pages
Para crear un Aplicación JSP es mas fácil, tan solo es cuestión de crear carpetas y archivos tal como muestra aquí.
Primero vamos a crear una carpeta llamada miJSP y ahí creamos un archivo llamado HolaMundo.jsp,
Damos clic en Inicio->Ejecutar->cmd y nos cambiamos a la ruta siguiente:
cd "C:Archivos de programaApache Software FoundationTomcat 6.0webappsmiJSP"
notepad HolaMundo.jsp
Con el contenido siguiente:
<%
out.println("<h1>Hola Mundo</h1>");
%>
Debe quedar así:
Para ejecutarlo únicamente tecleamos la direccion que sigue:
http://localhost:8080/miJSP/HolaMundo.jsp
Con esto veremos el resultado siguiente:
JSF – Java Server Faces
Lamentablemente la configuración de este framework es más laboriosa y debemos de seguir los pasos con mucho cuidado
para que tengamos el éxito esperado.
También hay que tomar encuenta que son muchas las implementaciones que existen:
Sun (que es la que vamos a ver aqui)
Apache (myfaces)
A partir de este momento se supone que tenemos funcionando de manera adecuada todo lo anterior a excepción de JSF.
I.- DESCARGA Y CONFIGURACIÓN
DESCARGA DE JSF
27. Entramos a la página siguiente para su descarga:
https://javaserverfaces.dev.java.net/
En el enlace de descargas
https://javaserverfaces.dev.java.net/download.html
Pero podemos entrar directamente a:
https://javaserverfaces.dev.java.net/files/documents/1866/87641/mojarra-1.2_08-FCS-binary.zip
DESCOMPRIMIENDO Y COPIANDO LOS ARCHIVOS:
Guardamos el archivo descargado en nuestra computadora y descomprimimos el archivo nuestro disco duro en la unidad C:
c:mojarra-1.2_08-FCS-binary.zip
Debemos tener una mojarra-1.2_08-b06-FCS
NOTA: De preferencia sin espacios en la carpeta.
COPIANDO LOS ARCHIVOS DE WEBAPPS
Debemos de asegurarnos en copiar más archivos de Tomcat de ejemplo hacia la carpeta de Tomcat de librerías.
Los archivos jstl.jar y standar.jar que se encuentran en:
C:Archivos de programaApache Software FoundationTomcat 6.0webappsexamplesWEB-INFlib
28. Los copiamos hacia la carpeta lib de Tomcat (C:Archivos de programaApache Software FoundationTomcat
6.0lib).
CONSTRUYENDO LA APLICACIÓN
1.- Crea un directorio con el nombre de la aplicación Web, dentro de webapps de Tomcat:
Por ejemplo:
entrada
Dentro de C:Archivos de programaApache Software FoundationTomcat 6.0webapps
Creamos la carpeta entrada, quedando así:
C:Archivos de programaApache Software FoundationTomcat 6.0webappslogin
Y dentro del creamos los siguientes archivos y carpetas, tal como se muestra en la figura siguiente:
Vamos a copiar las librerías externas para jsf (jsf-api.jar, jsf-impl.jar) desde donde descomprimimos estos:
c:mojarra-1.2_08-FCS-binary
29. Hacia la carpeta lib de nuestra aplicación:
C:Archivos de programaApache Software FoundationTomcat 6.0webappsentradaWEB-INFlib
Como se ve en la figura:
Y el contenido de los demás archivos se lista a continuación:
index.html
<html>
<head>
<meta http-equiv="Refresh" content= "0; URL=index.faces"/>
<title>Iniciando Aplicación Web</title>
</head>
<body>
<p>Espere mientras la aplicación Web Inicia.</p>
</body>
</html>
index.jsp
<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<head>
<title>Aplicacion de JavaServer Faces</title>
</head>
<body>
<h:form>
<h3>Introduce tu usuario y contraseña.</h3>
<table>
<tr>
<td>Usuario:</td>
<td>
<h:inputText value="#{usuario.nombre}"/>
</td>
</tr>
<tr>
<td>Contraseña:</td>
<td>
<h:inputSecret value="#{usuario.contrasena}"/>
</td>
</tr>
</table>
<p>
<h:commandButton value="Entrar" action="entrada"/>
</p>
</h:form>
</body>
</f:view>
</html>
bienvenido.jsp
<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<head>
<title>Una Simple Aplicacion con JavaServer Faces</title>
</head>
<body>
<h:form>
<h3>
Bienvenidos a JavaServer Faces,
<h:outputText value="#{usuario.nombre}"/>!
30. </h3>
</h:form>
</body>
</f:view>
</html>
faces-config.xml
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>entrada</from-outcome>
<to-view-id>/bienvenido.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>usuario</managed-bean-name>
<managed-bean-class>
org.edilberto.beanUsuario
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
beanUsuario.java
package org.edilberto;
public class beanUsuario
{
private String nombre;
private String contrasena;
// PROPERTY: nombre
public String getNombre() { return nombre; }
public void setNombre(String nuevoValor) { nombre = nuevoValor; }
// PROPERTY: contrasena
public String getContrasena() { return contrasena; }
public void setContrasena(String nuevoValor) { contrasena = nuevoValor; }
}
Este archivo se ubica en C:Archivos de programaApache Software FoundationTomcat 6.0webappsentradaWEB-
INFclassescomorgedilberto
Para posteriormente compilarlo debemos de abrir una ventana de comandos en Inicio->Ejecutar y tecleamos:
cmd
Obviamente deberemos de estar ubicados en :
31. C:Archivos de programaApache Software FoundationTomcat 6.0webappsentradaWEB-INFclasses
Nos cambiamos a esa carpeta:
Con el comando:
cd C:Archivos de programaApache Software FoundationTomcat 6.0webappsentradaWEB-INFclasses
Y después lo compilamos con:
javac org/edilberto/beanUsuario.java
Tal como se ve en la siguiente figura:
Esto nos generará un archivo .class llamado beanUsuario.class
REINICIANDO TOMCAT
Una vez que ya hayamos terminado nuestra aplicación vamos a hacer que Tomcat los reconozca:
En la barra de notificaciones de Windows ( la parte inferior izquierda ) aparece tomcat en ejecución
Damos doble clic y detenemos el servicio
Y volvemos a dar doble clic en para iniciar tomcat
EJECUTANDO LA APLICACION
32. Si hasta este momento no hemos tenido ningún problema es hora de probar que nuestra aplicación funciona adecuadamente,
y para tal fin abrimos nuestro navegador y tecleamos la dirección:
http://localhost:8080/entrada
Y vemos como automáticamente cambia a:
http://localhost:8080/login/index.faces
En la que tecleamos cualquier usuario y contraseña:
Y le damos clic en entrar, con esto nos lleva a la siguiente ventana:
33. CAPÍTULO 3. COMUNICACIÓN ENTRE JAVA Y MYSQL
Preparativos iniciales
Ahora vamos a ver como podemos hacer que Java se entere de la existencia de mysql o mejor dicho conectar a java con
mysql.
Para ello primero vamos a crear una base de datos de prueba así como un usuario que nos va a poder realizar las
operaciones necesarias sobre dicha base de datos.
Creación de una Base de Datos de Prueba
Primero vamos a crear la base de datos de prueba y para ello nos ubicamos en la ruta de mysql y tecleamos lo siguiente:
C:MySQLbin> mysqladmin -u root -p create miBaseDatos
Enter password: ******
Con esto creamos una base de datos llamada “miBaseDatos”, lo que se hizo con esto fue generar una carpeta con un archivo
como se ve en la figura:
Figura 1. Licencia
Creación de una cuenta para acceder desde Java a Mysql
Si no estamos en el prompt de mySQL entonces accedamos a él mediante:
mysql > mysql -u root -p
El usuario que vamos a crear puede acceder a la Base de Datos se llama webmaster para ello teclemos en el prompt
GRANT usage ON miBaseDatos.* TO webmaster@192.168.1.200 IDENTIFIED BY 'pmaster';
mysql> GRANT usage
-> ON miBaseDatos.*
-> TO webmaster@192.168.1.200
-> IDENTIFIED BY ‘pmaster’;
Query OK, 0 rows affected (0.00 sec)
La cuenta recién creada únicamente tiene derechos de lectura sobre la base de datos. Podemos darle los demás derechos a
esta cuenta como son crear tablas, actualizar, insertar y borrar registros con el siguiente comando:
GRANT create,select, insert, delete, update ON miBaseDatos.* TO webmaster@192.168.1.200;
mysql> GRANT create,select, insert, delete, update
-> ON miBaseDatos.*
-> TO webmaster@192.168.1.200;
Query OK, 0 rows affected (0.03 sec)
Ahora bien par ver que realmente esos son los privilegios del usuario webmaster:
show grants for webmaster@192.168.1.200;
Con el que nos aparecerá el siguiente mensaje:
+----------------------------------------------------------------------------+
| Grants for webmaster@192.168.1.200 |
+----------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'webmaster'@'192.168.1.200' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON ` miBaseDatos `.* TO 'webmaster'@'192.168.1.200' |
+----------------------------------------------------------------------------+
2 rows in set (0.02 sec)
Nos salimos del prompt con quit;
Creando una tabla para acceder desde Java
Ahora que ya tenemos la base de datos creada y el usuario es necesario introducir datos en el y para eso debes de copiar y
pegar el siguiente texto en la ruta D:BaseDatosdatamibasedatos y nombrar el archivo como miBaseDatos.dump.
CREATE TABLE Empleados ( idEmpleado tinyint(4) NOT NULL AUTO_INCREMENT,
34. Nombre varchar(50),
ApellidoPaterno varchar(45),
ApellidoMaterno varchar(45),
Direccion varchar(255),
Puesto varchar(50),
PRIMARY KEY (idEmpleado), UNIQUE id (idEmpleado));
INSERT INTO Empleados VALUES (1,'Juan','Perez','Gonzalez','Calle Jacarandas Mza. 4, Lte 45, Col.
Bondojito','Obrero Calificado');
INSERT INTO Empleados VALUES (2,'Pedro','Santiago','Mendez','Edif. 45, Depto 121, Col
Chapultepec','Supervisor');
INSERT INTO Empleados VALUES (3,'Francisco','Martinez','Munguia','Avenida Sn Juan de Aragon 324, Col
Madero, Int. 234','Cajero');
Ahora vamos a darle la orden desde la línea de comando del dos, en cuanto nos solicite el password tecleamos el que ya
habíamos definido anteriormente (pmaster):
C:MySQLbin>mysql -u webmaster -p miBaseDatos < “D:BaseDatosdatamibasedatosmiBaseDatos.dump”
Enter password: ***********
Con esto ya generamos la tabla Empleados en la base de datos miBaseDatos, utilizando las instrucciones sql tomadas del
archivo miBaseDatos.dump.
Ahora solo para asegurarnos de que todo está funcionando correctamente vamos a entrar a mysql con webmaster y vamos a
que tenemos datos en la tabla empleados:
C:MySQLbin>mysql -u webmaster -p
mysql> show databases;
Nota: No podemos ver la base de datos mysql porque no somos root
Ahora vemos que existan datos en la tabla empleados:
Use mibasedatos;
Y
select * from empleados;
+------------+-----------+-----------------+-----------------+--------------------------------------------
---------+-------------------
|idEmpleado| Nombre | ApellidoPaterno | ApellidoMaterno | Direccion| Puesto |
+--------- --+-----------+-----------------+-----------------+--------------------------------------------
---------+-----------------+
| 1 | Juan | Perez | Gonzalez | Calle Jacarandas Mza. 4, Lte 45, Col.
Bondojito | Obrero Calificado |
| 2 | Pedro | Santiago | Mendez | Edif. 45, Depto 121, Col Chapultepec
| Supervisor |
| 3 | Francisco | Martinez | Munguia | Avenida Sn Juan de Aragon 324, Col
Madero, Int. 234 | Cajero |
+------------+-----------+-----------------+-----------------+--------------------------------------------
-------+-------------------+
3 rows in set (0.00 sec)
Ahí ya se encuentra la información que queremos.
Descarga el conector de java para MySQL
1.- Entramos a la pagina de MySQL donde descargamos el conector para Windows
http://dev.mysql.com/downloads/connector/j/3.0.html
35. 2.- Una vez descargado lo descomprimimos en la ubicación actual y buscamos el archivo: mysql-connector-java-3.0.17-ga-
bin.jar
3.- Indicamos a Java de la existencia del conector. El punto importante aquí es que Java runtime environment encuentre el
conector cuando se ejecuten los programas. Para hacer esto existen varias posibilidades:
• La solución más simple es copiar el archivo mysql-connector-java-n.jar en el directorio de Instalación de Java jrelibext, ya
que de manera automática aquí es donde se verifica de la existencia de los archivos durante la ejecución de los programas de
java.
Entonces lo movemos a la siguiente ubicación: C:Archivos de programaJavajre1.6.0_07libext
• Otra alternativa es agregar la variable CLASSPATH. Esta variable contiene todos los directorios de las clases que deben ser
tomadas en cuenta por los programas de Java, cuando estos se ejecutan. Debemos de teclear punto y coma (;) el nombre del
directorio y el nombre del archivo .jar. CLASSPATH, en nuestro Caso seria:
.;c:ubicacionconector mysql-connector-java-n.jar
36. ABRIENDO LOS PUERTOS PARA LA CONEXION REMOTA
Estos pasos se usaran si es que en el servidor de base de datos van a estar conectándose usuarios remotos, programas
remotos o un Web Server remoto. En caso de que el servidor Web por ejemplo o los programas locales estén en el mismo
servidor de base de datos entonces en lugar de usar la IP únicamente usamos localhost.
Lo primero que debo de hacer es ubicarme en el servidor de base de datos de MySQL y ver cual es la IP, de preferencia que
esta siempre sea estática para no estar cambiando en el programa cada vez que se cambie la ip.
Entramos a la línea de comandos y tecleamos
ipconfig
Nos da que es la ip
192.168.1.200
Ahora MySQL funciona en el puerto que esta configurado en el archivo de inicio c:windowsMy.ini que se en cuentra en la
línea
Port = 3306
El cual deberemos de abrir o permitir el acceso para el cortafuegos de Windows
Para eso hago lo siguiente:
Inicio -> Panel de Control y Centro de Seguridad
2.- Le damos un clic en Firewall de Windows
3.- Damos clic en excepciones y damos clic en Agregar puerto
Y teclear como nombre MySQL y puerto 3306
37. 4.- Damos clic en las ventanas en Aceptar para confirmar la apertura de este puerto
5.- Ahora vamos a hacer un ping al servidor de base de datos (para saber la ip del servidor ipconfig /all)
ping 192.168.1.200
Vemos que hay respuesta
Respuesta desde 192.168.1.200: bytes=32 tiempo<1m TTL=128
6.- Hacer un Telnet al puerto 3306
telnet 192.168.1.200 3306
Vemos que se conecta y después se vuelve a perder la conexión. Ya estamos listos
PROBAR QUE ESTE FUNCIONANDO JAVA CON MySQL
1.- Entramos al la ventana de ms-dos, inicio->ejecutar-> cmd y creamos con el bloc de notas el archivo siguiente
javamysql.java:
import java.sql.*;
public class javamysql
{
public static void main(String args[])
{
try
{
//Cargar clase de controlador de base de datos
Class.forName("com.mysql.jdbc.Driver");
//Crear el objeto de conexion a la base de datos
Connection conexion = DriverManager.getConnection("jdbc:mysql://192.168.1.200/miBaseDatos","webmaster",
"pmaster");
//Crear objeto Statement para realizar queries a la base de datos
Statement instruccion = conexion.createStatement();
//Un objeto ResultSet, almacena los datos de resultados de una consulta
ResultSet tabla = instruccion.executeQuery("SELECT * FROM empleados");
System.out.println("CodigotNombre");
while(tabla.next())
System.out.println(tabla.getInt(1)+"t"+tabla.getString(2)+"t"+tabla.getString(3)+"t"+tabla.getString(4)
+"t"+tabla.getString(5)+"t"+tabla.getString(5));
}
catch(ClassNotFoundException e){ System.out.println(e); }
catch(SQLException e){ System.out.println(e); }
catch(Exception e){ System.out.println(e); }
}
}
2.- compilamos con
38. javac javamysql.java
y ejecutamos con
java javamysql
Y debe de verse algo similar a lo siguiente:
Y eso es todo por el momento!!!
Comentarios dudas y sugerencias con mark75mx@yahoo.com.mx