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