jsp: enlazar MySQL con tomcat

Si tenemos una excepción del tipo:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/database

Significa que no tenemos instalado en tomcat el conector MySQL.

Para poder trabajar con MySQL desde «tomcat» es necesario instalar el MySQL Connector/J, para esto hay dos maneras:

La primera es instalar el paquete contenedor del conector que es libmysql-java, en consola:

sudo aptitude install libmysql-java

Y luego reiniciamos los servicios

Lamentablemente esto no me funciono :(

Lo que si me funciono es instalar de manera manual el conector:

  1. Descargar el archivo desde: dev.mysql.com/downloads/connector/j/
  2. Extraer los archivos.
  3. Copiar el archivo  mysql-connector-java-5.1.13-bin.jar en /usr/share/tomcat6/lib/
  4. Reiniciar los servicios.
  5. Disfrutar.

jsp: instalando componentes necesarios

Ya había trabajado con jsp en entorno windows, pero ahora con la migración a GNU/Linux, más propiamente Ubuntu 10.04, voy a mostrar un pequeño manual de como preparar e instalar lo que se necesita para trabajar con jsp:

  • Servidor tomcat
  • IDE: en este caso Netbeans 6.9
  • Java Development Kit (JDK): en este caso sun-java, aunque se puede trabajar con openjdk.

Empecemos entonces:

1. Instalar el jdk, en consola escribimos:

sudo aptitude install sun-java6-jdk

2. Instalar tomcat, igualmente en consola:

sudo aptitude install tomcat6

3. Instalar el administrador para tomcat6:

sudo aptitude install tomcat6-admin

4. Un paso extra es instalar algunos ejemplos:

sudo aptitude install tomcat6-examples

5. La configuración:

5.1. Tomcat: en consola:

sudo gedit /etc/default/tomcat6

Donde vemos la siguiente línea de código:

JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk

La reemplazamos con

JAVA_HOME=/usr/lib/jvm/java-6-sun

Ya que estamos usando el jdk de sun, si fuera el openkdj entonces dejamos esto como estaba.

5.2. Añadir administrador:

Existen dos maneras de hacerlo, para ser más específico en dos archivos:

La primera, en consola:

sudo gedit /usr/share/tomcat6/conf/tomcat-users.xml

La segundo, igualmente en consola:

sudo gedit /etc/tomcat6/tomcat-users.xml

La verdad de las dos maneras funciona igual, la diferencia esta en los permisos del segundo archivo, ya que solo puede ser leído por el usuario root (claro que esto se puede cambiar).

Ya sea abriendo el primer o segundo archivo el contenido es el mismo, entonces solo queda agregar el administrador, esto se hace añadiendo una línea de código entre los tags <tomcat-users> y </tomcat-users>, este sería un ejemplo de como tendría que ser la línea de código:

<user username=»nombre_administrador» password=»mi_password»  roles=»admin,manager» />

6. Levantar el servicio, en consola:

sudo /etc/init.d/tomcat6 start

o si ya estuviera levantado:

sudo /etc/init.d/tomcat6 restart

Si todo estuvo bien podemos ver lo siguiente yendo a la dirección local, es necesario aclarar que tomcat6 ocupa el puerto 8080, entonces en el browser:

http://localhost:8080

Y para el administrador:

http://localhost:8080/host-manager/html

Y los ejemplos:

http://localhost:8080/examples/

7. Para descargar el ide netbeans 6.9 nos dirigimos a:

http://netbeans.org/downloads/index.html

8. Una vez descargado el archivo, es necesario darle permisos de ejecución, en consola:

sudo chmod +x netbeans-6.9-ml-linux.sh

9. Instalar Netbeans, nuevamente en consola:

./netbeans-6.9-ml-linux.sh

Los pasos para la instalación de Netbeans son sencillos y no creo que sea necesario mostrarlos, cosas como la ruta de instalación, componentes, etc, etc.

Si todo salio correctamente ya podremos empezar con jsp, crear un archivo vacío y ejecutarlo.

10. En Netbeans nos vamos al menú File->New Project->Java Web->Web Application

Luego en clic en el botón Next, seguidamente será necesario insertar el nombre del proyecto:

Nuevamente clic en el botón Next, en la ventana siguiente mantenemos todos los datos como están, servidor tomcat y la versión de java

Luego clic en el botón Finish y ejecutamos la nueva aplicación con la tecla F6, si no nos abre la aplicación entonces nos vamos en el browser a la ruta de la aplicación (el nombre que se le dio al proyecto que en este caso fue WebApplication1):

http://localhost:8080/WebApplication1/