Pregunta

en web.xml configuro mi archivo de bienvenida a un jsp dentro de web.xml

<welcome-file>WEB-INF/index.jsp</welcome-file>

dentro de index.jsp luego reenvío a un servlet

<% response.sendRedirect(response.encodeRedirectURL("myServlet/")); %>

sin embargo, la aplicación intenta encontrar el servlet en la siguiente ruta

applicationName/WEB-INF/myServlet

el problema es que web-inf no debería estar en la ruta. Si muevo index.jsp fuera de web-inf, entonces el problema continúa, pero ¿hay otra manera de solucionar esto?

¿Fue útil?

Solución

<% response.sendRedirect(response.encodeRedirectURL("/myServlet/")); %>`

ya que el jsp se sirve desde el directorio WEB-INF, la url del servlet también se resuelve desde esa ruta relativa. agregar un / antes resolverá la url desde la raíz de contexto

Otros consejos

Tal como lo entiendo, WEB-INF es una carpeta especial que contiene la configuración y las clases utilizadas por sus JSP, no debe incluir el código destinado a la publicación directa.

De todos modos, ¿has probado / myServlet?

¿Has intentado hacerlo con la ruta absoluta?

response.sendRedirect(response.encodeRedirectURL("/myServlet/"));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top