Tomcat中WEB-INF文件夹的影响


我知道tomcat项目中的WEB-INF文件夹用来存放配置文件和库文件的,并且默认无法通过tomcat访问;

今天我用eclipse创建了新的项目,并在 Catalina\localhost 中配置了虚拟的路径,其 docBase 值就设定为存在WEB-INF的文件夹;然后通过浏览器访问虚拟路径下的 index.htm 文件,tomcat总是报 404 错误;我将WEB-INF文件夹移走后就可正常访问。

我想问的是,这个WEB-INF文件夹是如何影响tomcat访问虚拟地址的?为什么存在该文件夹后(其中的配置文件 web.xml 存在,但是没有内容)虚拟路径就不可访问?如果是 web.xml 文件影响的话,是如何影响的?

tomcat

压哭妹子拳 10 years, 4 months ago

WEB-INF目录是Servlet服务器的一个约定(war或webapp内根目录下的WEB-INF/),它里面的文件是不会自动发布到Web的,不允许外部访问。但是你可以用程序代码来间接发布文件。

Servlet还约定了名叫web.xml的配置文件要放在这个目录。

这样约定后Tomcat才知道你的配置放在哪,它好读取配置然后启动你的应用。要不然它只能满大街搜索你的配置文件了。

一具冰冷的鸭梨 answered 10 years, 4 months ago

Your Answer