<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta name="copyright" content="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" />
<meta name="DC.rights.owner" content="(C) Copyright 2000, 2006" />
<meta content="public" name="security" />
<meta content="index,follow" name="Robots" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta content="concept" name="DC.Type" />
<meta name="DC.Title" content="Project Explorer view and Web development" />
<meta content="Project Explorer view, overview, Web perspective, project explorer view, version control management, turning on and off, Web development" name="DC.subject" />
<meta content="Project Explorer view, overview, Web perspective, project explorer view, version control management, turning on and off, Web development" name="keywords" />
<meta content="XHTML" name="DC.Format" />
<meta content="ccwebvw" name="DC.Identifier" />
<meta content="en-us" name="DC.Language" />
<link href="../../org.eclipse.wst.doc.user/common.css" type="text/css" rel="stylesheet" />
<title>Project Explorer view and Web development</title>
</head>
<body id="ccwebvw"><a name="ccwebvw"><!-- --></a>


<h1 class="topictitle1">Project Explorer view and Web development</h1>


<div>
<div class="section"><div class="p">The Project Explorer view provides the following notable features: <ul>
<li><img src="../images/nwin.gif" alt="For Windows" /> You can drag and drop files from Windows<sup>®</sup> Explorer or the desktop into
the Navigator view.</li>

<li>View filtering is supported by selecting <span><span class="uicontrol">Filters</span></span> from
the Navigator view <span><span class="uicontrol">Menu</span></span> button. Resources
can be filtered by name, project type or content type. Files beginning with
a period are filtered out by default.</li>

<li>The status line shows the full path of the selected resource.</li>

<li>Dragging a .java file from the Navigator view into a JSP file will insert
a usebean tag, the same behavior that is exhibited when a .class file is dragged
into a JSP file.</li>

<li>Errors and warnings on resources (including Java™, HTML/JSP, and Links Builder errors
and warnings) are indicated with a red error <img src="../images/nshowerr.gif" alt="Error icon" /> or yellow warning <img src="../images/nwarning.gif" alt="Warning icon" /> next to the resource with the error, as well as
the parent containers up to the project. This applies for all project types,
not only Web projects.</li>

<li>Items available from the <span><span class="uicontrol">New</span></span> cascading
menu in the project pop-up menu are context sensitive.  All menus will have <span><span class="uicontrol">Project</span></span> and <span><span class="uicontrol">Other</span></span> options.</li>

</ul>
</div>
</div>

<div class="section"><h4 class="sectiontitle">Organization of the Project Explorer view</h4><p>The Project
Explorer view shows a custom view of all Web projects. The following are some
of the notable top-level objects that appear beneath the project node (based
on default folder names).</p>
<div class="p"><strong>Web content folder</strong> - This folder contains
items to be published to the server. By default, this folder will be named <strong>WebContent</strong> for
newly created static and dynamic Web projects. <div class="note"><span class="notetitle">Note:</span> You can change the name
in the creation wizard Web facet page.</div>
<ul>
<li><strong>META-INF</strong> - 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.</li>

</ul>
<ul>
<li><strong>WEB-INF</strong> - The directory where supporting Web resources for a Web
application are kept (for example: .xmi files, .xml files, and web.xml.) </li>

</ul>
 </div>
 </div>

</div>


</body>
</html>