2010-06-27 19 views
5

Estoy usando Eclipse y puedo hacer que cada uno de mis servlets trabaje de forma independiente (usando HTTP Client para probar) a través de Eclipse. Pero el verdadero trabajo es hacer que trabajen al mismo tiempo.Implementación de múltiples servlets en un solo servidor Tomcat

Estoy usando Tomcat, pero no tengo idea de cómo ejecutar los tres servlets al mismo tiempo. Todos están mapeados correctamente en el archivo web.xml. ¿Cómo implemento estos desde Eclipse?

Respuesta

10

Bueno, simplemente asigne los 3 en el web.xml y despliéguelos. A continuación, una muestra web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <servlet> 
    <servlet-name>Servlet1</servlet-name> 
    <servlet-class>com.acme.Servlet1</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>Servlet2</servlet-name> 
    <servlet-class>com.acme.Servlet2</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>Servlet3</servlet-name> 
    <servlet-class>com.acme.Servlet3</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Servlet1</servlet-name> 
    <url-pattern>/path1/*</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>Servlet2</servlet-name> 
    <url-pattern>/path2/*</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>Servlet3</servlet-name> 
    <url-pattern>/path3/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

Tenga en cuenta que las siguientes URL (suponiendo mycontext es el contexto):

  • http://hostname:port/mycontext/path1/foo
  • http://hostname:port/mycontext/path1/bar?aparam=avalue
  • http://hostname:port/mycontext/path1

coinciden con el patrón <url-pattern>/path1/*</url-pattern> (por lo que no es necesario que los asigne en/path1,/path1/*).

Si está utilizando Eclipse WTP, se puede registrar Tomcat como un servidor y desplegar su proyecto Web dinámica en él desde Eclipse (haga clic derecho en el proyecto y seleccione Ejecutar como> Ejecutar en servidor).

Fuera de Eclipse, tendrá que empaquetar su aplicación como .war (el formato estándar para una aplicación web) y desplegar esta guerra en Tomcat. Hay varias formas de hacerlo, pero la forma más directa es copiar la guerra en $TOMCAT_HOME/webapps.

+0

¡Es impresionante, y muy rápido! ¡Ni siquiera salí del sitio web todavía! De todos modos ... gracias ... Pude ejecutarlos todos desde Eclipse, pero los implementaré como un archivo web para Tomcat. ¡Gracias de nuevo! – arunjitsingh

1

si desea que los servlets que se inicien sin ninguna solicitud se envía al servidor de añadir
< load-on-startup > N < load-on-startup/>

donde N = 1 , 2,3 .... en el <servlet> mapeo

Cuestiones relacionadas