the that servlet refers para not name jaxrs jax ibmrestservlet for especificado context configurar clase servlets homescreen

servlets - that - Cambiar la página de inicio predeterminada en la ruta raíz a servlet con doGet



the servlet mapping refers to a servlet that is not defined (2)

Tengo un pequeño maven (indirectamente a través de Netbeans 8.1 y configuración tomcat)

Y cada vez que ejecuté el proyecto, abre el navegador con HelloWord en la raíz:

es decir, la página en http://localhost:8084/ es:

<html> <head> <title>Start Page</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h1>Hello World!</h1> </body> </html>

Intenté crear un servlet para reemplazarlo usando:

@WebServlet(name = "HomeServlet", urlPatterns = {"/"}) sin embargo, no funcionó como se esperaba.

Es decir, todavía mostraba el mismo mundo de saludo en: http://localhost:8084

Pero se metió con todos los archivos en la raíz, es decir, http://localhost:8084/foo.css estaba siendo manejado por este servlet también y obteniendo su respuesta.

Entonces, mi pregunta es (en realidad dos):

¿Cómo puedo cambiar el contenido de esta página a otra cosa?

O, como mínimo (si el primero es imposible): ¿Puedo usar un redireccionamiento permanente en la ruta de la raíz para evitar que el usuario vea esta página?

(es decir, código http 301) para mover al usuario a http://localhost:8084/home


Siempre que defina un <welcome-file>index.jsp</welcome-file> en la página de inicio de la página de aterrizaje, cuando la lance será index.jsp, es decir, la ruta del servlet será "/index.jsp". "( http: // localhost: 8084 / index.jsp ). Sin embargo, en el navegador que no se mostrará. En su clase de servlet puede hacer coincidir este patrón y redirigir a alguna otra página si es necesario.


¿Cómo puedo cambiar el contenido de esta página a otra cosa?

Abra el archivo JSP / HTML / XHTML subyacente en un editor de texto. Esta página se identifica mediante la entrada <welcome-file> en web.xml . Si es, por ejemplo, <welcome-file>index.jsp</welcome-file> , debe abrir el archivo /index.jsp en el contenido web de su proyecto en el editor de texto integrado de IDE.

O, como mínimo (si el primero es imposible): ¿Puedo usar un redireccionamiento permanente en la ruta de la raíz para evitar que el usuario vea esta página?

Esta pregunta está mal pensada. No desea redirigir al visitante hacia adelante y atrás todo el tiempo. Desea asignar su servlet en la raíz de la webapp. Para asignar un servlet en la ruta raíz, use el patrón de URL de cadena vacía "" lugar del patrón URL de servlet predeterminado "/" como en su intento.

@WebServlet("")

O si aún no está en Servlet 3.0 , esta es la forma antigua de web.xml .

<servlet-mapping> <servlet-name>yourHomeServlet</servlet-name> <url-pattern></url-pattern> <!-- Yes, empty string! --> </servlet-mapping>

Si aún sigue usando el patrón de URL de servlet predeterminado de "/" , debe asumir todas las responsabilidades del servlet por defecto incluido en el contenedor, como servir recursos estáticos como archivos CSS, agregar encabezados de caché del navegador, respaldar los resúmenes de descarga de archivos, etc. Consulte también el primer enlace relacionado a continuación para obtener detalles.

Al menos no hay necesidad de abusar de <welcome-file> para esto. Esto no representa el "archivo de la página de inicio", como muchos principiantes parecen esperar. Esto representa el "archivo predeterminado de la carpeta para servir cuando se solicita cualquier subcarpeta". Por lo tanto, no solo en / , sino también en /foo/ , /bar/ , etc.

Ver también: