Tras ver como funciona nuestro primer servlet, el siguiente paso que vamos a dar, para conocer un poco mas estas herramientas es controlar las rutas de acceso por medio de web.xml.
Estoy de acuerdo que la introducion de anotaciones, ha hecho nuestra vida mas sencilla, pero no evita el tener que utilizar web.xml, no solo para los mappings de las clases, si no , tambien para la carga de parametros en las mismas.
Definiendo web.xml
Este fichero se encuentra en el directorio del proyecto -> WebContent ->WEB_INF
Y el primer conjunto de nombres, dentro de «<welcome-file-list>» se trata de la pagina que queremos mostrar cuando alguien invoque la direccion web, sin concretar pagina. Podemos crear tantas entradas «<welcome-file> como deseemos, y nuestro servidor las recorrera secuencialmente hasta encontrar con una que exista.
Si no utilizamos anotaciones, o si queremos añadir parámetros de arranque al servlet, podemos indicárselos en el fichero web.xml
Para cada uno de los Servlet que formen parte de nuestra aplicación, podemos realizar entradas en web.xml con el siguiente formato:
La información de cada servlet estará entre las etiquetas <servlet> y </servlet>
Con la etiqueta <servlet-name> podemos indicar un nombre con el que reconoceremos el servlet dentro de web.xml
Con la etiqueta <servlet-class> definimos la clase que implementa el servlet. Se deberá indicar también el package al que pertenece la clase.
Para cada atributo que queramos inicializar, crearemos un paquete <init-param> compuesto por el nombre del atributo en nuestra clase <param-name> y el valor que deseemos cargar en <param-value>
Si no hemos utilizado la anotación @WebServlet podemos utilizar la etiqueta <servlet-mapping> para indicar la URL a la que responde una clase.
Teniendo en cuenta que <servlet-name> de <servlet> ha de ser idéntico al de <servlet-mapping> e indicando en <url-pattern> la ruta a la que responderá el servlet.
En este ejemplo, tenemos un servlet llamado Pruebas, implementado por la clase PruebasServlet y que será llamado cuando en el navegador se escriba /poraqui
Si teneis que trabajar con «servlet-mapping», os recomiendo que tengais mucho cuidado con la escritura de nombres, ya que esa va a ser una de las mayores fuentes de problemas que vais a tener