gusval [arroba] elo.utfsm.cl
El modelo inicial para desarrollar el sistema de contactos con exalumnos constaba del uso de Servlets y JSP, sin embargo este modelo fue descartado y actualmente se esta desarrollando mediante el uso de Servlets, JSP y EJB, esta actualmente en desarrollo y para las finalidades de este ramo he optado por trabajar con servlets, mostrando su funcionamiento y la forma de acceder a una base de datos, en este caso Mysql.
La aplicación consiste en 3 códigos simples que acceden a una base de datos cumpliendo las tareas de insertar registros, borrar registros y mostrar las tablas. El Contenedor Web es Tomcat en modo StandAlone (abajo se explica la instalación y configuración básica).
La dirección donde se muestra el funcionamiento es http://miIp:8080/agendita
INSTALANDO
EL TOMCAT (forma estandar)
Lo
primero que tenemos que hacer es bajar el Tomcat de la página oficial de Apache
( http://jakarta.apache.org/site/binindex.cgi ).
Una vez descargado, copiamos el archivo al directorio donde vayamos a instalar Tomcat. El direcotorio donde se descomprima a partir de ahora lo llamaré directorio $CATALINA_HOME, por seguir la documentación oficial de Tomcat ( CATALINA_HOME = directorio de instalación de Jakarta-Tomcat)
*(en debian basta con agregar el (o los) repositorios
deb http://apt.leapster.org/tomcat ./
deb-src
http://apt.leapster.org/tomcat ./
y instalar con apt)
Ahora se debe setear la variable JAVA_HOME al sistema, apuntando al directorio donde esta instalado java (Para que el Tomcat sepa donde buscar el java). Después ir al directorio $ CATALINA_HOME/bin. En este directorio están los scripts para arrancar (startup.sh) y parar (shutdown.sh) el Tomcat. También estan los ejecutables para Windows (los .exe y los .bat)
Arranque:
ejecutar el script startup.sh y accedr a http://localhost:8080/.
Si todo ha ido bien, deberías ver la página principal de Tomcat (puede que el
Tomcat tarde un poco en arrancar. Si inicialmente no se conecta al puerto 8080,
darle a recargar en vuestro navegador y probad de nuevo)
Ejemplo
CREANDO UN SERVLET
Ahora vamos a crear un
Servlet de ejemplo. Primero tenemos que añadir al CLASSPATH de java las
bibliotecas de Servlets que nos proporciona el Tomcat. Para eso añadimos el
directorio $CATALINA_HOME/common/lib/servlet-api.jar a la variable de entorno
anteriormente mencionada (ojo, no escribáis $CATALINA_HOME, sustituirlo por el
directorio donde tengáis instalado el Tomcat). Una vez preparado todo, pasamos
a escribir nuestro ejemplo, que será el típico HolaMundo. El código concreto
es:
import java.io.*;
import
javax.servlet.*;
import
javax.servlet.http.*;
public
class HolaMundo extends HttpServlet
{
public void
doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,
IOException
{
response.setContentType("text/html");
PrintWriter out =
response.getWriter();
out.println("");
out.println("");
out.println("Prueba");
out.println("");
out.println("
¡Hola mundo! ");
out.println("");
}
}
Bueno, grabar el código en un fichero HolaMundo.java y compilarlo.
Ahora se debe montar la estructura de directorios propia de un Servler, acorde
a la especificación oficial de SUN. Dicha estructura es la siguiente:
*
Nombre_de_la_aplicación (el que uno quiera, en este caso Prueba)
o
META-INF (no se usa en este ejemplo)
o
WEB-INF (Aquí incluimos el archivo web.xml)
+
classes (para guardar los archivos compilados)
+
src (opcional, para guardar las fuentes)
+
lib (contendrá los .jar externos.)
Luego se copiaa el archivo
HolaMundo.class al directorio classes También podemos copiar HolaMundo.java a
src, pero es opcional. Posteriormente tenemos que crear el archivo web.xml, que
dijimos antes. Este archivo es el que describe a nuestra aplicación. En nuestro
caso debe ser el siguiente:
<?xml version="1.0"
encoding="ISO-8859-15"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,
Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>prueba</servlet-name>
<servlet-class>HolaMundo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>prueba</servlet-name>
<url-pattern>hola</url-pattern>
</servlet-mapping>
</web-app>
En servlet-name indicaremos el nombre de nuestra
aplicación y lo haremos coincidir con el directorio donde la tenemos guardada
(aquel cuyo contenido estamos creando ahora). En servet-class ponemos la clase
principal de nuestra aplicación y en url-pattern la dirección desde la cual
accederemos al servlet. Para más información consultar la documentación
oficial.
Bueno, copiamos nuestra aplicación al directorio
$CATALINA_HOME/webapps/ y reiniciamos el Tomcat (usando los scripts shutdown.sh
y startup.sh comentados antes). Para comprobar que todo va bien accedemos a
http://localhost/prueba/hola (Si habéis usado otro url-pattern u otro
servlet-name la dirección general es http://localhost/$servlet-name/$url-pattern).
Si todo ha ido bien, deberíamos ver el !Hola Mundo¡
EL MANAGER DE TOMCAT
El manager es una aplicación para administración del
motor Tomcat que usa una interfaz vía web. En principio y por razones de seguridad no podemos acceder al
manager hasta que creemos un usuario de Tomcat con derecho de administrador.
Para crearlo debemos modificar el archivo de configuración de usuarios de
Tomcat, que se encuentra en $CATALINA_HOME/conf/tomcat-users.xml. A dicho
archivo le tendremos que añadir las siguientes lineas:
<role rolename="manager"/>
<user username="root" password="xxxxxxx" roles="manager"/>
si se desean mas privilegios para un usuario, se separan
por “coma”, por ejemplo roles=”manager,otrorol,etc”
Una vez añadido el usuario, se
reinicia tomcat y accedemos, desde
nuestro navegador a la dirección http://localhost:8080/manager/html ,
introducimos los datos (username/password) del usuario recién creado y
aparecerá ante nosotros la interfaz del manager. Dicha interfaz consta de 5
partes:
o
Message: Aquí se nos mostrará el resultado de las ordenes que le vayamos dando
al manager. Pueden ser OK o FAILED.
o
Manager: Aquí tenemos 4 opciones. La primera recarga la lista de aplicaciones
instaladas actualmente (dicha lista está justo debajo, ahora la veremos con más
detenimiento), las dos siguientes nos permiten el acceso a la documentación del
manager y la última nos permiten ver el estado del motor de Tomcat.
o
Applications: Aquí tenemos la lista de aplicaciones web que está ejecutando
Tomcat. Podemos parar (stop), iniciar (start), recargar (reload) o borrar
(undeploy) la aplicación.
o Deploy: Desde aquí podemos subir aplicaciones directamente al tomcat
o Server information: Información del servidor.