在我的tomcat webapps目录中,我有各种带有servlet的项目..
说命名测试,啤酒等
当我输入localhost时,我的问题与web.xml或内容无关:8080 / folderName我必须能够正确查看内容吗?但它不适用于所有文件夹,有些人说资源未找到, 示例我的测试文件夹在浏览器中打开,我的啤酒文件夹没有,我在添加或修改文件夹后重新启动浏览器和tomcat,为什么会发生这种情况,请解释
答案 0 :(得分:1)
我亲爱的朋友有一个tomcat遵循的特定进程/配置/规则,以呈现任何Web内容。这不是一些神奇的事情。 Tomcat有一种在/ webapp目录中读取Web部署的方法。 当我们输入一些URL在浏览器上tomcat执行以下操作:
实施例
网址:http://localhost:8080/foldername/xyz
在http://localhost:8080,that为foldername / xyz之后,tomcat占用了URL的一部分。 所以这里的第一部分是foldername意味着/ webapps文件夹中存在的文件夹的名称。 因此,阅读这个tomcat会进入该文件夹。后期tomcat受到一个名为web.xml的文件的支配。在我们的例子中,从/ foldername / ie / xyz开始的所有映射都存在于web.xml中。
在您的情况下,如果您键入http://localhost:8080/foldername/,则tomcat知道浏览器引用webapps / foldername但不知道哪个资源html / jsp / servlet转发请求以便能够生成响应。
因此它提供了资源未找到的异常。
如果要运行上述URL(http://localhost:8080/foldername),则需要在web.xml文件中配置<welcome-file-list>
标记。
因此,对于使用上述URL工作的文件夹,只需打开他们的web.xml文件,您就会找到<welcome-file-list>
标记。
答案 1 :(得分:0)
实际上这就是发生的事情
我有一个文件夹测试,里面有一些文件(NO WEB-INF),tomcat在输入localhost时列出了它的内容:8080 / test
我的其他文件夹啤酒有一个错误的WEB-INF web.xml配置
所以以下内容对我来说很清楚
如果没有WEB-INF文件夹和web.xml,tomcat将只列出目录的内容,但是当你有一个WEB-INF和web.xml并且它们出了问题时它甚至都没有列出目录内容。 只是我对它的理解。 谢谢!