miércoles, 1 de octubre de 2008

Servlets en Windows

Para tener Servlets, es necesario que instalemos Apache Tomcat. Es la solución más sencilla, ya que Apache, por defecto, no trata aplicaciones Java. Y, aunque esto es posible, hay que hacer bastantes modificaciones en su configuración para conseguirlo.

Así, para un usuario novato en el manejo de Servlets, aquí comento cómo trabajar con éstos desde cero en Windows. Sigamos los siguientes pasos:

1. Maquina Virtual de Java (JRE)
http://www.java.com/en/download

2. Librerías de desarrollo Java (JDK)
http://java.sun.com/javase/downloads
Añadimos a la variable de entorno Classpath el directorio lib del directorio jdk.
set CLASSPATH="<"directorio de instalación de jdk">"\lib;%CLASSPATH%
Añadimos a la variable de entorno Path el directorio bin del directorio jdk.
set PATH="<"directorio de instalación de jdk">"\bin;%PATH%

3. Necesitamos instalar Apache Tomcat.
http://tomcat.apache.org

4. Librería javax.servlet
http://www.java2s.com/Code/Jar/jboss-5.0.0.Beta2/Downloadjavaxservletjar.htm
Descomprimimos el fichero jar/zip en el directorio lib de jdk para que la librería sea localizable desde cualquier clase java en otro directorio.

5. Mínima estructura de directorios y ficheros para un servlet en Tomcat.
5.1. Crear en el directorio webapps un directorio para los ficheros del servlet. Por ejemplo, "miservlet".
5.2. Dentro de éste irán los ficheros fuente del servlet. Por ejemplo "MiServlet.java".
Además, también dentro de éste, crear un directorio WEB-INF.
5.3. Dentro de WEB-INF creamos un directorio classes donde irán los ficheros .class.
Además, creamos un fichero llamado web.xml que servirá de descriptor de despliegue para registrar nuestro servlet en el contenedor Tomcat.
Su contenido debe ser tal que así:

"<"?xml version="1.0" encoding="ISO-8859-1"?">"
"<"!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">"MiServlet"<"/servlet-name">"
"<"servlet-class">"MiServlet"<"/servlet-class">"
"<"/servlet">"
"<"servlet-mapping">"
"<"servlet-name">"MiServlet"<"/servlet-name">"
"<"url-pattern">"MiServlet"<"/url-pattern">"
"<"/servlet-mapping">"

"<"/web-app">"

6. Compilar el servlet.
Compilar los ficheros fuente desde el intérprete de comandos (cmd) con el comando javac .java. Por ejemplo, javac MiServlet.java.
A continuación, mover el fichero .class al directorio WEB-INF\classes. Por ejemplo, el fichero MiServlet.class.

7. Reiniciar Tomcat.
Para acceder al servlet desde el navegador es necesario reiniciar el servidor Tomcat.
Panel de control -> Herramientas administrativas -> Servicios -> Apache Tomcat.
Una vez hecho, accedemos al servlet desde siguiendo el siguiente formato en la URL:
http://localhost:8080/"<"directorio del servlet dentro de webapps">"/"<"nombre asignado entre las etiquetas url-pattern del fichero web.xml">".
Por ejemplo, http://localhost:8080/miservlet/MiServlet.