动态 Web 项目和应用程序

需要为 Web 项目中的 Web 应用程序创建和维护资源。有两种类型的 Web 项目:动态和静态。动态 Web 项目除了可以包含静态资源(例如,图像和 HTML 文件)外,还可包含动态 J2EE 资源,例如,servlet、JSP 文件、过滤器和相关联的元数据。静态 Web 项目只能包含静态资源。当创建 Web 项目时,可以包括级联样式表和 JSP 标记库(适用于动态 Web 项目),以便可以使用一组更丰富的项目资源来开始进行开发。

动态 Web 项目总是嵌入在企业应用程序项目中。如果尚不存在企业应用程序(EAR)项目,则用来创建动态 Web 项目的向导还将创建一个企业应用程序(EAR)项目。向导还将更新指定企业应用程序项目的 application.xml 部署描述符,以将 Web 项目定义成模块元素。如果要导入 WAR 文件而不是创建一个新的动态 Web 项目,则“WAR 导入”向导需要您指定 Web 项目,该项目也需要 EAR 项目。

如果只想创建基于内容的静态 Web 应用程序(它不包含任何动态文件,例如,JSP 文件或 servlet),则 J2EE 约定可能需要额外开销。在这种情况下,如果只需要最基本的 Web 项目,则可能需要使用静态 Web 项目类型,请参阅静态 Web 项目。注意,可以通过从“项目”菜单中选择转换为动态 Web 项目来将静态 Web 项目转换为动态 Web 项目。

J2EE 模型(更具体地说,是 Sun Microsystems Java Servlet 2.3 规范)定义 Web 应用程序目录结构,该目录结构指定 Web 内容文件、类文件、类路径、部署描述符和支持元数据的位置。Web 项目层次结构反映出通过项目创建的 Web 应用程序的层次结构。在工作台中,可以使用新建 Web 项目向导来创建新的 Web 项目。

主项目文件夹包含与 Web 应用程序相关的所有开发对象。Web content 文件夹包含创建 Web 应用程序所需的项目的元素。此文件夹结构映射至由 Sun Microsystems 定义的 Web 应用程序归档(WAR)结构。下列缺省元素位于 Web 项目文件夹层次结构中:
注: 在“项目资源管理器”视图中,会将 Web 项目过滤到文件夹节点中以定制 Web 资源的显示以便在开发期间易于管理。有关已过滤结构的信息,请参阅项目资源管理器视图
Web 部署描述符
标准 Web 应用程序部署描述符(web.xml 文件)。
JavaSource
包含类、Bean 和 servlet 的项目的Java™ 源代码。将这些资源添加到 Web 项目中时,会自动对它们进行编译,并且生成的文件会添加到 WEB-INF/classes 目录中。除非在创建 WAR 文件时指定了选项,否则,不会将源目录的内容打包在 WAR 文件中。
注: 虽然指定给文件夹的缺省名称为 JavaSource,但是可以通过“项目资源管理器”视图或通过“首选项”页(可以通过选择窗口 > 首选项 > Web 工具 > 新建 J2EE 项目获得)来更改该名称。
imported_classes 文件夹
此文件夹可以在 WAR 导入期间创建,它包含不具有伴随源的类文件。imported_classes 文件夹是一个 Java 类文件夹;Java 类文件夹也可以使用 Web 项目 Java 构建路径属性页创建。
WebContent 文件夹
所有 Web 资源(包括 HTML、JSP 和图形文件等等)的指定位置。如果不是将这些文件放在此目录(或此目录下面的子目录结构)中,则在服务器上执行应用程序时这些文件将不可用。Web content 文件夹表示将部署至服务器的 WAR 文件的内容。不在 Web content 文件夹下的任何文件都被认为是处于开发状态的资源(例如,.java 文件、.sql 文件和 .mif 文件),并且在对项目进行单元测试或发布项目时不会部署这些文件。
注: 虽然对该文件夹给出的缺省名称为 WebContent,但您可以在“项目资源管理器”中通过右键单击该文件夹并选择重命名或从项目的“属性”对话框的 Web 页面中来更改该名称。在动态 Web 项目中,更改文件夹名称将会更新 Java 构建输出目录。可以通过选择窗口 > 首选项 > Web 工具 > 新建 J2EE 项目来更改创建新的 Web 项目时要应用的缺省文件夹名的首选项。
META-INF
此目录包含 MANIFEST.MF 文件,此文件用来映射存在于同一企业应用程序项目的其他项目中的从属 JAR 文件的类路径。此文件中的条目会将运行时项目类路径和 Java 构建设置更新为包括所引用的 JAR 文件。
theme
用于级联样式表和其他与样式相关的对象的建议目录。
WEB-INF
根据 Sun Microsystems Java Servlet 2.3 规范,此目录包含 Web 应用程序的支持 Web 资源,包括 web.xml 文件以及 classes 和 lib 目录。
/classes
此目录用于 servlet、实用程序类以及 Java 编译器输出目录。应用程序类装入器使用此目录中的类来装入类。此目录中的文件夹将映射包名和类名,如 /WEB-INF/classes/com/mycorp/servlets/MyServlet.class 中所示。

不要直接将任何 .class 文件放入此目录中。当 Java 编译器编译 Java 资源目录中的 Java 源文件时,会自动将 .class 文件放入此目录中。Java 编译器运行时,它会删除直接放入此目录中的任何文件。

/lib
Web 应用程序引用的支持 JAR 文件。放在此目录中的 .jar 文件中的所有类都可用于 Web 应用程序。
Libraries
Web 应用程序引用的支持 JAR 文件。此文件夹反映了 lib 文件夹的内容。另外,“Web 库项目”(它们是并不真正驻留在 Web 项目中,但是与工作空间中其他地方的 Java 项目相关联的“虚拟”JAR 文件)包括在此文件夹中。当导出应用程序的 WAR 文件时,Web 库项目与您的项目打包在一起。
注: 除非从 WEB-INF/lib 文件夹中删除了实际的 JAR 文件,否则,Java 构建路径上的库条目将保留在该处。如果您除去库路径条目但是不除去 JAR 文件,则会自动将库条目重新添加至该路径。
相关概念
Web 资源
Web 归档(WAR)文件
相关任务
创建动态 Web 项目
创建 JavaServer Pages(JSP)文件

反馈