【问题标题】:URLs Losing Application Name on Tomcat 7URL 在 Tomcat 7 上丢失应用程序名称
【发布时间】:2011-08-07 02:58:26
【问题描述】:

我有一个在 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 中,使用 &lt;c:url&gt; 等。但我想知道是否可以告诉 Tomcat 这样做。我想这是要问的地方,因为请求没有进入我的应用程序。如果重要的话,我正在使用 Spring MVC 和 Maven。

【问题讨论】:

    标签: java url tomcat tomcat7


    【解决方案1】:

    我知道有一些变通方法(例如手动将上下文路径添加到 URL、使用 &lt;c:url&gt; 等。

    这些不是解决方法。这些是解决方案。你只是犯了一个错误,总是假设 webapp 在域根目录上运行。最简单的解决方案 -imo- 是使用 HTML &lt;base&gt;。另见here

    但我想知道是否可以告诉 Tomcat 这样做。我想这是要问的地方,因为请求没有到达我的应用程序。

    没有。这不是 servletcontainer 的责任。 JspServletDefaultServlet 都不会这样做。这是 webapp 自己的责任(以及 serveradmin 在适用的情况下)。

    【讨论】:

    • 好的。好像没有办法了我想我会坚持使用 标签( 对我来说一直很奇怪)。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 2019-09-07
    • 2017-07-17
    相关资源
    最近更新 更多