Problemas con el web.xml

borjamary
01 de Febrero del 2005
No lo consigo configurar ese fichero para poder acceder a mis servlets desde una pagina web usando Tomcat 5.0.28

Me podeis ayudar?

Ken
01 de Febrero del 2005
Necesitar mapearlos... o sea, que un servlet se corresponda con una URL válida. Efectivamernte, se hace en el web.xml

Dentro del elemento <webapp> defines un elemento <servlet> que asociará un "nombre" al servlet (o sea, le da un nombre a la instancia de la clase que hereda de HttpServlet o similar):

<servlet>
<servlet-name>nombreDelServlet</servlet-name>
<servlet-class>nombreDelClass</servlet-class>
</servlet>

El nombreDelServlet es el que tú quieras, y el del class tiene que ser el nombre COMPLETAMENTE CUALIFICADO de la clase que es el servlet (o sea, que si está dentro de un paquete llamado misservlets y la clase se llama MiPrimerServlet, la entrada que has de poner es "misservlets.MiPrimerServlet".

Vale, ya hemos informado a Tomcat de que tenemos un Servlet y le hemos dado un nombre de referencia. Ahora queremos asociar un mapeo, o sea, que cuando pongamos una URL concreta, se entienda que nos referimos al servlet. Suele mapearse con la ruta servlets/MiPrimerServlet y similares. Usaremos las entradas <servlet-mapping> en el web.xml (Debajo de la entrada <servlet> una vez la hayamos cerrado)

<servlet-mapping>
<servlet-name>nombreDelServlet</servlet-name>
<url-pattern>/servlet/nombreDelServlet</url-pattern>
</servlet-mapping>

Obviamente, el nombreDelServlet es el mismo que definimos en el elemento <servlet>.

Se han de definir primero todos los <servlet> uno detrás de otro, y luego los <servlet-mapping> uno detrás de otro.

Juega con las configuraciones a ver... Espero haberte ayudado. Un saludo!

Ken

borjamary
01 de Febrero del 2005
Genial, muchas gracias, me has ayudado mucho.
Por ahora mi aplicacion es pequeña y tengo pocos servlets. Hay que hacer todo esto para cada servlet que vaya haciendo¿? No hay una forma de resurmirlos?