getServletContext.getContextPath()和request.getContextPath()可能不同吗?

问题描述 投票:0回答:1

我不知道当getServletContext.getContextPath()request.getContextPath()返回不同的字符串时的情况。

[HttpServletRequest.getContextpath() javadoc:

在这种情况下,此方法将返回请求使用的实际上下文路径 并且可能与ServletContext.getContextPath()方法返回的路径。的ServletContext.getContextPath()返回的上下文路径应为被视为应用程序的主要或首选上下文路径。

[ServletContext.getContextPath() javadoc:

[[servlet容器可能通过多个上下文路径匹配上下文。在这种情况下,HttpServletRequest.getContextPath()将返回

实际上下文请求使用的路径[>,并且可能与返回的路径不同此方法

。此方法返回的上下文路径应为被视为应用程序的主要或首选上下文路径。当我的应用程序位于Tomcat的webapps/ROOT文件夹中时,两个方法都返回“”(空字符串)。 [在所有其他情况下,如果我的应用程序位于myapp.war中(放入Tomcat的webapps文件夹中,则这两个方法均按预期返回“ / myapp”。 [当我将my.warmymy.war放入Tomcat的webapps文件夹时,Tomcat看到了两个不同的Web应用程序,因此我无法对此

“ servlet容器可能通过多个上下文路径与上下文匹配的情况进行建模]]]。 >

我无法将我的WAR称为my.warmy/my.war,因为Windows和Unix上的文件名均不允许使用“ /”。

我无法弄清楚getServletContext.getContextPath()和request.getContextPath()返回不同的字符串的情况。 HttpServletRequest.getContextpath()javadoc:...

tomcat servlets java-ee contextpath
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.