domingo, 2 de septiembre de 2007

Virtualizacion de un servidor de servlets II

Como siguiente paso a realizar nos queda comprobar que los elementos de compilación y ejecución de servlets funciona. Para ello vamos a desarrollar un programa de ejemplo , el típico 'Hola mundo' de toda la vida.

El código de este programa es el siguiente:

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("");
}
}


Como se puede ver es un programa muy sencillo.

Lo primero será configurar correctamente el el fichero /etc/profile entre otras cosas para poder trabajar más comodamente, para ello añadimos al PATH la ruta de la máquina java que en nuestro caso es /opt/SDK/jdk/bin .

Compilamos el programa utilizando la clase classpath adecuada, en este caso es el fichero /opt/SDK/lib/j2ee.jar
javac HolaMundo.java -classpath /opt/SDK/lib/j2ee.jar

Debemos crear la estructura de directorio adecuada para poder instalar el programa,la estructura es la siguiente (suponiendo que estamos en el directorio de trabajo ):
./WEB-INF
./WEB-INF/src/ En este directorio se pone el código fuente del programa, en este caso HolaMundo.java
./WEB-INF/lib/ Aquí ponemos los paquetes necesarios extras, en nuestro caso se queda vacio
./WEB-INF/classes/ El fichero HolaMundo.class va a quedarse aquí.
./WEB-INF/web.xml Este es el fichero de configuración
./META-INF

El fichero web.xml va a contener la siguiente información:

<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>



Después creamos un paquete war con todo esto, para hacer eso ejecutamos la siguiente instrucción desde el directorio de trabajo.
jar cvf fichero.war .

Una vez realizado esto abrimos el navegador y ponemos la siguiente dirección:
http://localhost:4848
Entramos con nuestro usuario y password , elegimos la opción de aplicaciones web y hacermos un deploy de nuestro fichero war.

Para ejecutar nuestra aplicación debemos escribir en nuestro navegador favorito:
http://localhost:8080/HolaMundo/hola