【问题标题】:Tomcat context path issueTomcat上下文路径问题
【发布时间】:2016-04-03 11:03:37
【问题描述】:

我将应用程序部署在 webapps/testing1 文件夹下的 tomcat 中。

http://localhost:8080/testing1/index.html

这个 html 页面有锚标记,href 为“/login”

当我点击锚点时,它需要 localhost:8080/login 而不是 localhost:8080/testing1/login

我没有对 tomcat conf xmls 进行任何更改。如何使所有路径以斜杠开头将转到应用程序上下文?

建议将不胜感激。

【问题讨论】:

  • 你使用什么框架?春天?球衣?
  • 简单的 java web 应用程序。只是一个 web.XML + login servlet + index.html 而已。
  • 你并不清楚你能做什么,不能做什么。只需将其设为相对路径(链接到“登录”而不是“/登录”)即可立即解决此问题。但这是您要问的问题,还是这个问题真的是关于自动使所有链接改变它们的方式,包括在静态 html 文件中?
  • 我可以这样做,但基本上我希望所有路径都与上下文相关,而不是浏览器地址中的路径。例如:如果我将 index.html 保存在任何子文件夹中,我不想更改页面内的路径。它应该始终从我的应用程序的上下文根中获取页面。因此我想知道如何将斜杠 (/) 设置为我的应用程序文件夹?
  • 尝试使用href="./login"

标签: java tomcat


【解决方案1】:

通过声明链接href="/login",您可以在您的主机上将该链接设为绝对链接。如果您想在您的应用程序中登录,您必须预先添加上下文路径 (request.getContextPath ()) 或使用相对链接 (href="login")

【讨论】:

    【解决方案2】:

    如果您在 Tomcat 中成功部署了上下文并且它是启动成功。然后Application直接从WEB-INF文件夹中访问web.xml。

    它使用<url-pattern><servlet-class> 来识别servlet 来访问servlet。

    如果您担心从 servlet 访问 HTML 文件,您可以直接从上下文路径访问它们。

    如果文件存在于CONTEXT/html/file1.html,您可以使用html/file1.html 访问它

    如果文件存在于CONTEXT/file2.html,您可以使用file2.html 访问它

    【讨论】:

      【解决方案3】:

      您必须为 href 值指定 . 前缀。

      <a href="./login"> 这样 URL 将是 localhost:8080/testing1/login

      【讨论】:

        猜你喜欢
        • 2010-09-08
        • 2011-01-02
        • 1970-01-01
        • 2011-02-06
        • 1970-01-01
        • 1970-01-01
        • 2017-08-08
        • 1970-01-01
        • 2017-05-05
        相关资源
        最近更新 更多