来自WEB-INF文件夹的web.xml欢迎文件

时间:2013-04-23 22:14:37

标签: java tomcat servlets web.xml

尝试从WEB-INF文件夹加载欢迎文件时,我得到了被请求的资源不可用错误,在我的web.xml中看起来像这样:

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

换句话说,html文件位于名为“html”的文件夹中的WEB-INF目录中......

那我该如何正确地做到这一点?所有这些路径都是如此复杂,我的意思是是否有某种路径引导或任何东西?因为我无法发展,因为当我无法找到某些东西时,我会陷入这些事情,因为我所写的路径的解释与我预期的不同......

4 个答案:

答案 0 :(得分:7)

WEB-INF目录中的文件无法直接访问。

请参阅URL

  

将私有文件放在根目录下的WEB-INF目录中。 WEB-INF下的所有文件都是私有的,不会提供给客户端。

答案 1 :(得分:4)

您无法直接访问WEB-INF文件夹下的文件。 Container将在WEB-INF / classes中查找类,而WEB-INF下的jsp文件可以包含在其他JSP中,但任何请求资源的浏览器都会得到404响应。

编辑:关于您的疑问,如果您有一个标准的Java EE Web应用程序,请在根文件夹下面:

/-
 |
 |-META-INF/
 |-WEB-INF/
 |-custom1/
 |-custom2/

前两个是必需的,但您可以创建额外的子文件夹(例如customX)。我个人创建一个自定义文件夹“资源”来分配html,css和js文件(在单独的子文件夹中)。如果我有特殊的JSP文件,不应该直接加入(只包括),我将它们放在WEB-INF /中。

答案 2 :(得分:0)

WEB-INF文件夹不能直接访问Web浏览器,因为此文件夹用于保存应用程序内部的文件,即类和配置文件等。欢迎页面不应包含任何特定或私人信息,因此可以与WEB-INF文件夹并行保存。所有静态html文件都可以放在与欢迎文件相同的层次结构中。为了更好地区分,我们可以创建子文件夹。

答案 3 :(得分:-2)

我要告诉你我如何获得wellcome文件,我喜欢这个

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

并且“index”位于“web”文件夹中,也许您应该只使用名称设置wellcome文件。

我希望这个可以帮助你;)