<?xml version="1.0" encoding="UTF-8"?>
<?NLS type="org.eclipse.help.contexts"?>
<!-- /*******************************************************************************
 * 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
 *******************************************************************************/ -->
<contexts>
<context id="org.eclipse.jst.servlet.ui.webw1000">
<description> Use this page to name your Web project and specify the file system location (the place where the resources you create are stored.) When the Use default check box is selected, the project will be created in the file system location where your workspace resides. To change the default file system location, clear the checkbox and locate the path using the <b>Browse</b> button. To configure additional options, select the <b>Next</b> button.
In the Target Runtime field, select the server where you want to deploy the Web project. if a server is not already defined, click <b>New</b> to select a server runtime environment. 
Click <b>Add project to EAR</b> to add the project to an enterprise application project. The default EAR project name is the name of the Web project appended with EAR.</description>
<topic label="Creating a dynamic Web project" href="../org.eclipse.wst.webtools.doc.user/topics/twcreprj.html"/>
</context>

<context id="org.eclipse.jst.j2ee.ui.webw2100">
<description>Presets are used to define a default set of facet versions that will configure a project for a particular type of development. Select one or more facets for the dynamic Web project. To change the version of the facet, click the facet version and select a verson from the drop-down list.
Web module. Click Show Runtimes to view the available runtimes and runtime compositions.</description>
<topic label="Creating a dynamic Web project" href="../org.eclipse.wst.webtools.doc.user/topics/twcreprj.html"/>
</context>

<context id="org.eclipse.jst.j2ee.ui.webw2200">
<description>The context root is the top-level directory of your application when it is deployed to a Web server. 
The Content directory folder is the mandatory location of all Web resources, for example Web pages, style sheets or graphics. 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 Java source directory 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.
</description>
<topic label="Creating a dynamic Web project" href="../org.eclipse.wst.webtools.doc.user/topics/twcreprj.html"/>
</context>
</contexts>
