java - Tomcat 7 上的 URL 丢失应用程序名称

标签 java url tomcat tomcat7

我有一个在 Tomcat 7 上运行的 Java 应用程序。我希望我的应用程序的名称包含在 URL 中。例如:

http://localhost:8080/MyApp

我构建了 WAR、部署,并且应用程序可以正确访问。然而,我所有的<a><form>标签不会将应用程序名称添加到 URL 中。也就是说,做类似的事情:

<a href="/myPage">Click Me</a>

不起作用。链接最终如下所示:

http://localhost:8080/myPage

而不是

http://localhost:8080/MyApp/myPage

有没有办法配置 Tomcat 将应用程序名称添加到链接等上?如前所述,我不想从 URL 中删除应用程序名称(即使其成为根)。我知道有一些解决方法(例如手动将上下文路径添加到 URL 上,使用 <c:url> 等。但我想知道是否可以告诉 Tomcat 这样做。我认为这是询问的地方,因为请求无法访问我的应用程序。如果重要的话,我正在使用 Spring MVC 和 Maven。

最佳答案

I know there are some work arounds (like manually adding the context path onto the URL, using <c:url>, etc.

这些都不是解决方法。这些都是解决方案。您只是犯了一个错误,总是假设 Web 应用程序在域根目录上运行。最简单的解决方案 -imo- 是使用 HTML <base> 。另请参阅here .

But I am wondering if Tomcat can be told to do this. I figure this is the place to ask, since the request isn't getting to my application.

没有。这不是 servletcontainer 的责任。两者都不是JspServlet也不DefaultServlet做这个。这是网络应用程序自己的责任(以及服务器管理员在适用的情况下)。

关于java - Tomcat 7 上的 URL 丢失应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6970461/

相关文章:

Android,如何在 WebView 中获取重定向事件?

java - 在应用程序服务器上部署 Web 应用程序。数据库访问凭证

java - 在tomcat中创建war文件并创建web-inf

java - HttpServletRequest 读取大型帖子正文 - 无法读取所有数据,等待所有 block

Java json 解析

java - 为什么要创建一个单例 Java 类的两个实例?

java - 在 hadoop 中实现 parallel-for

apache - 从 PLEX URL 中删除/web

java - 如果里面有什么问题吗?

jquery - 为什么带 www 的 url 和不带 www 的 url 对于 JSON 请求的行为不同