If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!

Para nuestras pruebas en casa no hay problema en escribir una url como http://localhost:8080/Mufly-0.2.1/MuflyMain.html, que es justamente la url principal de Mufly, pero si queremos darle un aspecto más profesional y amigable para el usuario hay que evitar el tener que teclear todo eso. Para ello debemos configurar dos opciones.
Cambiar la página inicial del tomcat para que cargue un contexto determinado
La respuesta la tenemos en las FAQ de Tomcat aunque un poco escondida. Ahí nos indican que en $TOMCAT_HOME/etc/web.xml se encuentra una lista con los archivos que cargará el servidor en caso de que existan y el orden en que lo hará.
El primer paso por tanto es renombrar o eliminar los archivos index.html, index.htm e index.jpg. Y posteriormente crear un archivo estático index.html con el contenido que nos indican, en mi caso sería:
<html>Con esto conseguimos que escribiendo en el navegador la url http://localhost:8080, el servidor Tomcat nos redireccione automáticamente a http://localhost:8080/Mufly-0.2.1/. Pero aún así no es suficiente.
<head>
<meta http-equiv="refresh" content="0;URL=Mufly-0.2.1/">
</head>
<body>
</body>
</html>
Definir la página por defecto de un contexto
Cuando se carga un contexto tenemos que indicar explícitamente la página que queremos cargar. En la mayoría de las ocasiones el usuario no la conoce, y tampoco tiene que hacerlo. La solución pasa por configurar en el archivo web.xml del contexto la página por defecto. En mi caso el archivo es $TOMCAT_HOME/webapps/Mufly-0.2.1/WEB-INF/web.xml y simplemente he añadido lo siguiente:
<welcome-file-list>
<welcome-file>MuflyMain.html</welcome-file>
</welcome-file-list>
En teoría con esto ya está configurado, simplemente reiniciamos el servidor y debería funcionar pero en mi caso no funcionaba. Las redirecciones o no funcionaban bien o no cargaban la página que yo quería. Me acordé de cuando trabajaba con tomcat hace un par de años, que cada vez que subíamos un .war o hacíamos algún cambio similar había que borrar el directorio de trabajo porque sino los archivos no se desplegaban correctamente ni se leían los cambios. Así que dicho y hecho:
ivan@doraemon:~/apache-tomcat-6.0.18/bin$ ./catalina.sh stopY ahora ya sí, simplemente poniendo en la url del navegador http://localhost:8080 llegamos a la página principal de la aplicación.
Using CATALINA_BASE: /home/ivan/apache-tomcat-6.0.18
Using CATALINA_HOME: /home/ivan/apache-tomcat-6.0.18
Using CATALINA_TMPDIR: /home/ivan/apache-tomcat-6.0.18/temp
Using JRE_HOME: /usr
ivan@doraemon:~/apache-tomcat-6.0.18/bin$ cd ..
ivan@doraemon:~/apache-tomcat-6.0.18$ cd work
ivan@doraemon:~/apache-tomcat-6.0.18/work$ rm -rf *
ivan@doraemon:~/apache-tomcat-6.0.18/work$ cd ..
ivan@doraemon:~/apache-tomcat-6.0.18$ cd bin
ivan@doraemon:~/apache-tomcat-6.0.18/bin$ ./catalina.sh start
Using CATALINA_BASE: /home/ivan/apache-tomcat-6.0.18
Using CATALINA_HOME: /home/ivan/apache-tomcat-6.0.18
Using CATALINA_TMPDIR: /home/ivan/apache-tomcat-6.0.18/temp
Using JRE_HOME: /usr
8 comentarios:
perfecto me a funcionado
Me alegro de que te haya sido útil :-)
Saludos, Iván.
Muchas gracias =D, me sirvio mucho tu post
Atte. @Borixca
Gracias a ti por compartirlo :-)
Hola Ivan muchas gracias me ha funcionado, nada mas que ocupo agregar otra pagina para agregarla a la redireccion que sintaxis utilizo?
¿Quieres decir que quieres redireccionar a otra página distinta?
Gracias Iván por compartir tu conocimiento,.
ahora para evitar colocar el puerto 8080 en la barra de direcciones? localhost:8080
Donde es que tengo que crear el archivo html?, cual sería la carpeta principal, webapps, conf, docs.
Donde?
Publicar un comentario