微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Spring MVC上下文路径集在哪里?

我不确定如何设置上下文路径.
当我在autodeploy中重命名tomcat中的.war文件时,网页会按预期转到localhost:8080 / newDirectory,但是出于某种原因,在基于Spring页面调用pageContext.request.contextpath时,它仍会返回旧的上下文路径.

我试图通过设置覆盖上下文路径:

在server.xml中,但它不起作用.

我的问题是,Spring从哪里读取它的上下文路径?我用了Maven,我确实看到了

在pom.xml中,这是否意味着我需要将artifactId重命名为newDirectory?

我还尝试添加< context path =“/ newDirectory”...>在/meta-inf/context.xml中(由于我的server.xml更改,现在我知道它将被忽略).

提前感谢您的回答.

最佳答案
每个PageRequest都将获取当前的HttpServletRequest对象并获取当前请求的上下文路径并附加您的.jsp(即使在更改时访问此资源的上下文路径,它也会起作用).

例如,

如果你有一个war文件作为MyCompany.war并且有一个带有${pageContext.request.contextpath} /MyJspPage.jsp的页面.

Then your context path is http://abc/MyCompany and it works as http://abc/MyCompany/MyJspPage.jsp.

假设您将war文件更改为OurCompany.war,

then your context path changes to http://abc/OurCompany and Jsp will work as http://abc/OurCompany/MyJspPage.jsp.

这意味着上下文路径将自动更改为应用程序的名称(War文件名),而不会发生任何更改.

在您的情况下,在使用newDirectory重命名war文件名后,您的Web服务器将部署newDirectory应用程序,但Web服务器中仍然存在newDirectory应用程序.我认为您应该从webapp删除旧应用程序,然后通过重新加载newDirectory应用程序进行检查.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐