<?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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- /*******************************************************************************
 * Copyright (c) 2000, 2005 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>Project Explorer view in the J2EE perspective</title>
</head>
<body id="cjview"><a name="cjview"><!-- --></a>

<h1 class="topictitle1">Project Explorer view in the J2EE perspective</h1>
<div><p>While developing J2EE applications in the J2EE perspective, the
Project Explorer view is your main view of your J2EE projects and resources.</p>
<div class="section"><h4 class="sectiontitle">Project Explorer view</h4>The Project Explorer view provides
an integrated view of all project resources, including models of J2EE deployment
descriptors, Java™ artifacts, resources, Web services, databases,
and dynamic Web project artifacts.<p>You should use this view to work with
your J2EE deployment descriptors and their content. You can easily view an
enterprise application project and see all of the modules associated with
it. In addition, Java and resource content is provided for each J2EE
module.</p>
<dl><dt class="dlterm">Other Projects</dt>
<dd>Shows any non-J2EE module projects, such as Java projects. These Java projects
can be any of the following types: <ul><li>Utility projects for existing Enterprise Application projects in your
workspace</li>
<li>EJB Client JAR Projects, which include the client interface classes (remote,
home, local, or local home interfaces) for beans in EJB projects</li>
<li>Java projects
that are in your workspace but unrelated to your J2EE development</li>
</ul>
</dd>
<dt class="dlterm">Application Client Projects</dt>
<dd>Shows a hierarchical model of all application client modules.</dd>
<dt class="dlterm">Connector Projects</dt>
<dd>Shows a hierarchical model of all connector modules.</dd>
<dt class="dlterm">Dynamic Web Projects</dt>
<dd>Shows a hierarchical model of all dynamic Web modules.</dd>
<dt class="dlterm">Ejb Projects</dt>
<dd>Shows a hierarchical model of all EJB projects. Each EJB project contains
the following sub-folders for organizing the different types of beans and
the mappings: <ul><li><span class="uicontrol">Session Beans</span></li>
<li><span class="uicontrol">Entity Beans</span></li>
<li><span class="uicontrol">Message-Driven Beans</span></li>
<li><span class="uicontrol">Maps</span></li>
</ul>
</dd>
<dt class="dlterm">Enterprise Applications</dt>
<dd>Shows a hierarchical model of all enterprise application projects.</dd>
</dl>
</div>
</div>
<div></div>
</body>
</html>