| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE html |
| PUBLIC "-//IETF//DTD HTML 4.0//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html><head> |
| <!-- /******************************************************************************* |
| * Copyright (c) 2000, 2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ --> |
| <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css"/> |
| <title>Dynamic Web projects and applications</title> |
| </head> |
| <body id="ccwebprj"><a name="ccwebprj"><!-- --></a> |
| <h1 class="topictitle1">Dynamic Web projects and applications</h1> |
| <div><p>There are two types of Web projects: dynamic and <a href="ccstatic.html">static</a>. Dynamic web projects can contain dynamic J2EE |
| resources such as servlets, JSP files, filters, and associated metadata, in |
| addition to static resources such as images and HTML files. Static web projects |
| only contains static resources. When you create Web projects, you can include |
| cascading style sheets and JSP tag libraries (for dynamic Web projects), so |
| that you can begin development with a richer set of project resources.</p> |
| <p>Dynamic Web projects are always imbedded in Enterprise Application projects. |
| The wizard that you use to create a dynamic Web project will also create an |
| Enterprise Application (EAR) project if it does not already exist. The wizard |
| will also update the <span class="filepath">application.xml</span> deployment descriptor |
| of the specified Enterprise Application project to define the Web project |
| as a module element. If you are importing a WAR file rather than creating |
| a dynamic Web project new, the WAR Import wizard requires that you specify |
| a Web project, which already requires an EAR project. </p> |
| <p>J2EE conventions may represent extra overhead if you only want to create |
| a static, content-based Web application, which contains no dynamic files, |
| such as JSP files or servlets. In this case, when you need only the most basic |
| Web project, you might want to use the <em>static</em> Web project type (see <a href="ccstatic.html">Static Web projects</a>). Note that |
| static Web projects can be converted to dynamic Web projects by selecting <strong>Convert |
| to a Dynamic Web Project</strong>, from the Project menu.</p> |
| <p>The J2EE model, and more specifically, the <cite>Sun Microsystems Java™ Servlet |
| 2.3 Specification</cite>, defines a Web application directory structure that |
| specifies the location of Web content files, class files, class paths, deployment |
| descriptors, and supporting metadata. The Web project hierarchy mirrors that |
| of the Web application created from a project. In the workbench, you can use |
| the <span>New Web Project</span> wizard to create a new Web project.</p> |
| <div class="p">The main project folder contains all development objects related to a Web |
| application. The Web content folder contains the elements of the project necessary |
| to create a Web application. This folder structure maps to the Web application |
| archive (WAR) structure defined by Sun Microsystems.. The following default |
| elements are located in the Web project folder hierarchy: <div class="note"><span class="notetitle">Note:</span> In the Project |
| Explorer view, Web projects are filtered into folder nodes to customize the |
| display of Web resources for easy management during development. For information |
| on the filtered structure, see <a href="ccwebvw.html">Project |
| Explorer view</a>.</div> |
| <dl><dt class="dlterm">Web Deployment Descriptor</dt> |
| <dd>The standard Web application deployment descriptor (the <span class="filepath">web.xml</span> file).</dd> |
| <dt class="dlterm">JavaSource</dt> |
| <dd>Contains the project's Java source code for classes, beans, and |
| servlets. When these resources are added to a Web project, they are automatically |
| compiled and the generated files are added to the WEB-INF/classes directory. |
| The contents of the source directory are not packaged in WAR files unless |
| an option is specified when a WAR file is created. <div class="note"><span class="notetitle">Note:</span> Though the default |
| name given to the folder is JavaSources, you can change the name through the |
| Project Explorer view or through the Preferences page available by selecting <span class="menucascade"><b>Window</b> > <b>Preferences</b> > <b>Web |
| Tools</b> > <b>New J2EE Project</b></span>.</div> |
| </dd> |
| <dt class="dlterm">imported_classes folder</dt> |
| <dd>This folder may be created during a WAR import, and contains class files |
| that do not have accompanying source. The <b>imported_classes</b> folder |
| is a Java classes |
| folder; Java classes folders can also be created using the Web |
| project <b>Java Build Path</b> properties page.</dd> |
| <dt class="dlterm">WebContent folder</dt> |
| <dd>The mandatory location of all Web resources, including HTML, JSP, graphic |
| files, and so on. If the files are not placed in this directory (or in a subdirectory |
| structure under this directory), the files will not be available when the |
| application is executed on a server. The Web content folder represents the |
| contents of the WAR file that will be deployed to the server. Any files not |
| under the Web content folder are considered development-time resources (for |
| example, .java files, .sql files, and .mif files), and are not deployed when |
| the project is unit tested or published. <div class="note"><span class="notetitle">Note:</span> Though the default name given |
| to the folder is <span class="filepath">WebContent</span>, you can change the name |
| in the Project Explorer by right-clicking the folder and selecting <b>Rename</b> or |
| from the Web page of the project's Properties dialog. In a dynamic Web project, |
| changing the folder name will update the Java build output directory. You can change |
| the preference for the default folder name to be applied when creating new |
| Web projects by selecting <span class="menucascade"><b>Window</b> > <b>Preferences</b> > <b>Web Tools</b> > <b>New J2EE Project</b></span>.</div> |
| </dd> |
| <dt class="dlterm">META-INF</dt> |
| <dd>This directory contains the <span class="filepath">MANIFEST.MF</span> file, which |
| is used to map class paths for dependent JAR files that exist in other projects |
| in the same Enterprise Application project. An entry in this file will update |
| the run-time project class path and Java build settings to include the referenced |
| JAR files.</dd> |
| <dt class="dlterm">theme</dt> |
| <dd>The suggested directory for cascading style sheets and other style-related |
| objects.</dd> |
| <dt class="dlterm">WEB-INF</dt> |
| <dd>Based on the <cite>Sun Microsystems Java Servlet 2.3 Specification</cite>, this |
| directory contains the supporting Web resources for a Web application, including |
| the <span class="filepath">web.xml</span> file and the classes and lib directories.</dd> |
| <dt class="dlterm">/classes</dt> |
| <dd>This directory is for servlets, utility classes, and the Java compiler |
| output directory. The classes in this directory are used by the application |
| class loader to load the classes. Folders in this directory will map package |
| and class names, as in: <samp class="codeph">/WEB-INF/classes/com/mycorp/servlets/MyServlet.class</samp>.<p>Do |
| not place any .class files directly into this directory. The .class files |
| are placed in this directory automatically when the Java compiler |
| compiles Java source files that are in the <span class="filepath">Java Resources</span> directory. |
| Any files placed directly in this directory will be deleted by the Java compiler |
| when it runs.</p> |
| </dd> |
| <dt class="dlterm">/lib</dt> |
| <dd>The supporting JAR files that your Web application references. Any classes |
| in .jar files placed in this directory will be available for your Web application</dd> |
| <dt class="dlterm">Libraries</dt> |
| <dd>The supporting JAR files that your Web application references. This folder |
| mirrors the content of the lib folder. In addition, Web Library Projects, |
| which are "virtual" JAR files that do not physically reside in the Web project, |
| but are associated with Java projects elsewhere in your workspace, |
| are included in this folder. They are packaged with your project when you |
| export the application's WAR file.</dd> |
| </dl> |
| <div class="note"><span class="notetitle">Note:</span> A library entry on the Java build path will remain there unless |
| the actual JAR file is deleted from the WEB-INF/lib folder. If you remove |
| a library path entry but not the JAR file, the library entry will be re-added |
| to the path automatically.</div> |
| </div> |
| </div> |
| <div><div class="relconcepts"><strong>Related concepts</strong><br> |
| <div><a href="cwebresources.html">Web resources</a></div> |
| <div><a href="cwwarovr.html">Web archive (WAR) files</a></div> |
| </div> |
| <div class="reltasks"><strong>Related tasks</strong><br> |
| <div><a href="twcreprj.html">Creating a dynamic Web project</a></div> |
| <div><a href="tjcrejsp.html">Creating JavaServer Pages (JSP) files</a></div> |
| </div> |
| </div> |
| </body></html> |