如何访问WEB-INF下的index.html文件

时间:2017-06-05 07:56:05

标签: servlets web-inf welcome-file

在我在eclipse上构建的示例Web应用程序中,我尝试将index.html文件放在WEB-INF文件夹下,然后按如下所示更新部署描述符web.xml文件,以便在部署时加载它:

<welcome-file>WEB-INF/index.html</welcome-file>

但是当我尝试在Tomcat服务器中部署Web应用程序时,它不会加载index.html文件。但是,当我将index.html文件直接移动到应用程序的根目录时,即直接在WebContent文件夹下,index.html文件确实在浏览器中成功加载。

我想如果我必须在WEB-INF下放置默认的index.html文件,那么我需要编写一个servlet并将其保存为<load-on-startup>0</load-on-startup>
在我的web.xml文件中。 否则,Tomcat容器无法直接访问WEB-INF下的index.html。

如果我错过了什么,请随意添加。

1 个答案:

答案 0 :(得分:0)

这是不可能的。

Servlet 3.1规范

  

大多数WEB-INF节点都不是公共文档树的一部分   应用程序。除了打包的静态资源和JSP   驻留在METAINF/resources中的JAR文件的WEB-INF/lib   目录,WEB-INF目录中不包含其他文件   由容器直接提供给客户。

最佳做法是将文件index.html放入src/main/webapp

<强>参考

http://download.oracle.com/otn-pub/jcp/servlet-3_1-fr-eval-spec/servlet-3_1-final.pdf(第10-105页)

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html