web.xml和相对路径

时间:2020-03-06 15:01:26  来源:igfitidea点击:

在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中移出,问题就解决了,但是还有另一种方法可以解决这个问题吗?

解决方案

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

无论如何,我们是否尝试过/ myServlet?

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

由于jsp是从WEB-INF目录提供的,因此servlet URL也是从该相对路径解析的。在前面添加一个/将会从上下文根解析URL

我们是否尝试过绝对路径?

response.sendRedirect(response.encodeRedirectURL("/myServlet/"));