【问题标题】:configure tomcat to serv index.html配置 tomcat 服务 index.html
【发布时间】:2015-02-12 10:27:52
【问题描述】:

我正在寻找一种方法让 tomcat 在其中一个子目录中为我的应用程序自动显示 index.html。

当我尝试访问时

http://mydomain.tld/myapp/docs
http://mydomain.tld/myapp/docs/

我收到“404 文件未找到”错误。但是当我加载

http://mydomain.tld/myapp/docs/index.html

效果很好。

我当前的 web.xml 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                             http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <display-name>Foo</display-name>
    <description>Bar</description>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
    </welcome-file-list>



    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/docs/*</url-pattern>
    </servlet-mapping>

</web-app>

我在这里缺少什么?为什么 tomcat 不磨练&lt;welcom-file-list /&gt;

编辑

奇怪的是,如果我创建一个没有 web.xml 或 servlet(只是静态内容)的应用程序,这会正常运行。所以tomcat确实知道怎么做。

【问题讨论】:

    标签: tomcat web.xml static-content


    【解决方案1】:

    你需要包含子目录:

    <welcome-file>docs/index.html</welcome-file>
    

    【讨论】:

    • 可能因为 /docs/* 上的 servlet 映射而无法正常工作。你真的需要那个映射吗?它的目的是什么?
    • 不确定我是否理解您的问题.../&lt;app-name&gt;/docs/ 是我希望它为其提供 index.html 的 URL。问题的全部意义在于正确地提供服务。那么需要吗?简而言之?是的。
    猜你喜欢
    • 2018-03-18
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    相关资源
    最近更新 更多