<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2006, v.4002-->
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN"
 "task.dtd">
<!-- ArborText, Inc., 1988-2002, v.4002-->
<task id="twcreprj" xml:lang="en-us">
<title>Creating a dynamic Web project</title>
<shortdesc>You create and maintain the resources for your Web applications
in Web projects.</shortdesc>
<prolog><metadata>
<keywords><indexterm>Web projects<indexterm>creating dynamic projects</indexterm></indexterm>
<indexterm>Web applications<indexterm>resources</indexterm></indexterm></keywords>
</metadata></prolog>
<taskbody>
<context> <p> Unlike with <xref href="twcresta.dita" scope="peer"><desc></desc>static</xref> Web
projects,  dynamic Web projects enable you to create resources such as JavaServer
Pages and servlets.</p><p>To create a new dynamic Web project, complete the
following steps:</p></context>
<steps>
<step><cmd>Open the Java EE perspective.</cmd></step>
<step><cmd>In the Project Explorer, right click on Dynamic Web Projects, and
select <menucascade><uicontrol>New</uicontrol><uicontrol>Dynamic Web Project</uicontrol>
</menucascade> from the context menu. The New Dynamic Web Project wizard starts.</cmd>
</step>
<step><cmd>Follow the project wizard prompts.</cmd></step>
</steps>
<postreq><p><b>General Information</b></p><dl><dlentry>
<dt>Project Facets </dt>
<dd>A facet represents a unit of functionality in a Web project. For example,
the Dynamic Web Module facet enables the project to be deployed as a dynamic
Web module. A brief description of a project facet appears in the wizard when
you select it.  Note that in many instances, you can view the constraints
for a project facet by right clicking on the facet and selecting project constraints
from the pop up menu.  </dd>
</dlentry><dlentry>
<dt>Target Runtime</dt>
<dd>Use this field to define a new installed runtime environment. Runtimes
are used at build time to compile projects.</dd>
</dlentry><dlentry>
<dt>Enterprise Application project (EAR Project)</dt>
<dd>A new or existing Enterprise Application project (EAR Project) must be
associated with your new Web project to facilitate deployment. If you want
to override the default settings for the Enterprise Application project, you
can do so using the wizard. When your Web project is created at the end of
the wizard, the new Enterprise Application project is also created with the
name specified in the EAR project field. Note that the default is the name
of the web project appended with EAR (unless the ear project was selected
when you opened the wizard.)</dd>
</dlentry><dlentry>
<dt>Context Root</dt>
<dd>The context root is the Web application root, which is the top-level directory
of your application when it is deployed to the Web server. You can change
the context root after you create a project using the project Properties dialog,
which you access from the project's pop-up menu. The context root can also
be used by the links builder to ensure that your links remain ready to publish
as you move and rename files inside your project.</dd>
</dlentry></dl></postreq>
</taskbody>
</task>
