Tomcat, JSP, Servlets

Mauricio Nuñez mauricio en chile.com
Mie Ene 18 18:09:10 CLST 2006


El mié, 18-01-2006 a las 15:59 -0300, orlando.alvarez en col-alborada.cl
escribió:
> Hola:
>     Alguien me podria dar un link donde pueda encontrar info paso a paso para
> configurar Tomcat para que sirva JSPs y Servlets. He encontrado algunas, pero
> no
> se que hago mal, ya que de repente sirve paginas JSP, despues no, se borran
> solas las variables JAVA_HOME, CLASS_PATH, etc. No se como usar ni configurar
> el
> Tomcat para los Servlets. Como se pueden dar cuenta, soy muy novato en esto,
> pero con muchas ganas.
>     Todo esto para Linux, obviamente.
> Gracias
> 

1) Instalar JDK 5 ( De Sun o de Bea ) en /opt/jdk5.0 por ejemplo
2) Descargar Tomcat 
wget  ftp://www.ibiblio.org/pub/mirrors/apache/tomcat/tomcat-5/v5.5.15-beta/bin/apache-tomcat-5.5.15.tar.gz
wget http://www.signal42.com/mirrors/apache/tomcat/tomcat-5/v5.5.15-beta/bin/apache-tomcat-5.5.15.tar.gz

3) tar xzf apache-tomcat-5.5.15.tar.gz
4) cd apache-tomcat-5.5.15
5) cd bin
4) export JAVA_HOME=/opt/jdk5.0
5) .bin/startup.sh
6) cd webapps
7) cd ROOT

8) en esta carpeta (webapps/ROOT ) puedes crear archivos jsp y verlos en el browser en la direccion http://localhost:8080

cat - >> test.jsp << EOF
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ page session="false" %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Hola Mundo! desde: <%= request.getRemoteAddr() %>
</html>
EOF

9) Para servlets, vas a la carpeta webapps/ROOT/WEB-INF/classes , y creas los servlets. por ejemplo
mkdir -p com/chile/servlet/

cat - >> com/chile/servlet/HelloServlet.java << EOF
package com.chile.servlet.HelloServlet;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {


    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>Hola Mundo</body></html>");

    }
}
EOF

Compilamos : javac -classpath ../../../common/lib/servlet-api.jar com/chile/servlet/HelloServlet.java

De esta forma, en webapps/ROOT/WEB-INF/classes/com/chile/servlet/ queda el archivo HelloServlet.class

10) editamos web.xml, agregando lo siguiente:


<servlet>
  <servlet-name>HolaMundo</servlet-name>
  <servlet-class>com.chile.servlet.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>HolaMundo</servlet-name>
  <url-pattern>/hola/*</url-pattern>
</servlet-mapping>

Ojo que todos los <servlet>*</servlet> quedan antes que todos los <servlet-mapping>*</servlet-mapping>

11) Reinicia Tomcat para que tome el nuevo servlet creado.

12) Ingresamos a http://localhost:8080/hola/index y sera invocado el servlet ( En realidad, cualquier URL del tipo  /hola/* )



eso en resumen





Más información sobre la lista de distribución Linux