【问题标题】:How to get a welcome page from Tomcat root, rather than webapp context?如何从 Tomcat 根目录而不是 webapp 上下文获取欢迎页面?
【发布时间】:2011-06-16 23:47:07
【问题描述】:

在 Tomcat 7 中,我希望在访问 localhost:8080/ 时加载我的欢迎页面 (index.html)。现在,我必须转到 webapp 上下文 localhost:8080/MyWebApp。

Tomcat 中是否有一个文件夹来放置不属于 webapp 的页面?我很困惑这是如何工作的......

编辑:我注意到 Eclipse 中服务器的 web.xml 有一个名为“default”的 servlet,它映射到“/”...我想知道我是否必须在这里更改一些东西?

EDIT2:我发现了这个:http://wiki.apache.org/tomcat/HowTo#How_do_I_override_the_default_home_page_loaded_by_Tomcat.3F

但是,我的 ROOT 文件夹中已经有一个 index.html,并且仍然从根 URL 获得 404。如果我在不使用 Eclipse 的情况下启动服务器,它可以工作。这里发生了什么?当您通过它启动服务器时,Eclipse 究竟做了什么?显然它不会复制我安装的 ROOT 文件夹。

【问题讨论】:

    标签: eclipse tomcat servlets indexing


    【解决方案1】:

    您缺少来自“webapps”的 ROOT 文件夹 - 可能它在安装其他应用程序时被删除。 ROOT 文件夹包含用于 tomcat 的“欢迎”页面的配置文件。您可以将它从另一个 tar 文件复制到 ../webapps 文件夹中,这样就可以了。

    【讨论】:

    • 将 ROOT 符号链接到您的 webapp 文件夹做得很好,并增加了一点灵活性。
    【解决方案2】:

    在 Apache Tomcat 中,所有网站都部署为单独的 Web 应用程序。您可以使用 Tomcat 配置管理器验证这一点,您可以在其中启动/停止/重新加载某些 Web 应用程序。

    我相信您希望将欢迎页面放在路径 tomcat/webapps/index.html 中 - 位于此处的所有文件,而不是位于子文件夹的 webapp 中的所有文件都应作为 url 的根目录查看。

    只有在 tomcat 中的 webapps 之上的任何东西都可以防止 web 浏览。也许您可以尝试将文件放在 index.html 中,并设置一个以 ../ 开头的链接以指示“转到树中的上一级目录”以获取此所需文件,或者尝试列出 url 根目录以查看您实际上处于哪种环境中。

    希望这至少有助于澄清一些事情。

    【讨论】:

    • 是的,忘记补充了,关于默认的tomcat索引页面。
    • 也许我应该提到我正在使用 Eclipse,所以我没有明确的 webapps 文件夹 - 我有一个动态 Web 项目和一个服务器项目。
    • 哦,我明白了,你仍然必须以某种方式将 Eclipse 链接到你的 Tomcat 文件夹,才能运行服务器并查看你的 webapp 等等,因为毕竟 Eclipse 只是一个 Java IDE(真的很棒而且虽然很强大,但是是的)
    • 我尝试将 index.html 放入我的 Tomcat 安装 webapps 文件夹中,但没有成功。无论如何这都是有问题的,因为我的 Eclipse 项目在 SVN 上,我必须将 Tomcat 的 webapps 文件夹中的页面添加到我的存储库中 - 不是很优雅。
    【解决方案3】:
    猜你喜欢
    • 2020-07-23
    • 2016-07-11
    • 2019-12-09
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2011-06-17
    相关资源
    最近更新 更多