我正在寻找一种让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不会尊重<welcom-file-list />
?
修改
奇怪的是,如果我创建一个没有web.xml
或servlet(只是静态内容)的应用程序,这种行为是正确的。所以tomcat确实知道如何做到这一点。
答案 0 :(得分:0)
您需要包含子目录:
<welcome-file>docs/index.html</welcome-file>