在web.xml中我将我的欢迎文件设置为web.xml中的jsp

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

在index.jsp中,然后转发到servlet

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

然而,应用程序尝试在以下路径中找到servlet

applicationName/WEB-INF/myServlet

问题是web-inf不应该在路径中。如果我将index.jsp移出web-inf,那么问题就出现了,但还有另外一种方法可以解决这个问题吗?

有帮助吗?

解决方案

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

因为jsp是从WEB-INF目录提供的,所以servlet url也是从该相对路径解析的。添加/ before将解析上下文根目录中的URL

其他提示

据我了解,WEB-INF是一个包含JSP使用的配置和类的特殊文件夹,您不应该将用于直接服务的代码放在其中。

无论如何,你试过/ myServlet吗?

您是否尝试过使用绝对路径?

response.sendRedirect(response.encodeRedirectURL("/myServlet/"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top