3

这是来自Java EE6 教程

Web 模块具有特定的结构。Web 模块的顶级目录是应用程序的文档根目录。文档根是 XHTML 页面、客户端类和档案以及静态 Web 资源(例如图像)的存储位置。

文档根目录包含一个名为 WEB-INF 的子目录,其中可以包含以下文件和目录

但是在这里,WEB-INF 目录似乎不是文档根目录。此外,当您使用 NetBeans 创建 JSF 项目时,文件夹结构将如下所示:

ProjectName
|
|
--src
|
|
--web
   |
   |
   --WEB-INF

这意味着 web 目录又不是文档根目录?

那么哪个是正确的?

因为在 Java EE6 Tutorial 中,正文继续:

文档根目录包含一个名为 WEB-INF 的子目录,其中可以包含以下文件和目录类: 包含服务器端类的目录:servlet、企业 bean 类文件、实用程序类、JavaBeanscomponents

但是根据 Netbeans 和上面的教程,服务器端类在不同的目录中?

请帮忙解决这个困惑?

4

1 回答 1

6

EE 规范讨论了最终战争文件的目录结构。您在问题中提出的目录结构是 IDE 如何在其项目结构中排列不同的文件。他们是两个不同的东西。

为了回答你的问题,war中的文档根目录是WEB-INF目录的父目录。不同的IDE项目结构的文件根目录不同,但大多数情况下也是WEB-INF目录的父目录。在 netbeans 的情况下,它是web文件夹。在标准的 Eclipse Web 项目中,它是WebContent目录。在 Maven 世界中,它是src/main/webapp目录。尽管在 IDE 中这些都是可配置的。

于 2013-03-01T23:53:37.367 回答