<?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>J2EE perspective</title>
</head>
<body id="cjpers"><a name="cjpers"><!-- --></a>
<h1 class="topictitle1">J2EE perspective</h1>
<div><div>The J2EE perspective includes workbench views that you can use
when developing resources for enterprise applications, EJB modules, Web modules,
application client modules, and connector projects or modules.</div><p>You can rearrange the location, tiling, and size of the views within the
perspective. You can also add other views to the J2EE perspective by clicking <span class="menucascade"><span class="uicontrol">Window</span> &gt; <span class="uicontrol">Show View</span></span> and
selecting the view.</p>
<p>The workbench provides synchronization between different views and editors.
This is also true in the J2EE perspective.</p>
<p>By default, the J2EE perspective includes the following workbench views:</p>
<dl><dt class="dlterm"><span class="uicontrol">Project Explorer</span></dt>
<dd>The Project Explorer view provides an integrated view of your projects
and their artifacts related to J2EE development. You can show or hide your
projects based on working sets. This view displays navigable models of J2EE
deployment descriptors, Java™ artifacts (source folders, packages,
and classes), navigable models of the available Web services, and specialized
views of Web modules to simplify the development of dynamic Web applications.
In addition, EJB database mapping and the configuration of projects for a
J2EE application server are made readily available.</dd>
<dt class="dlterm"><span class="uicontrol"> Outline</span></dt>
<dd>The Outline view in the J2EE perspective shows the outline of the file
that you are editing. For example, if you are using a tabbed deployment descriptor
editor, the Outline view shows the outline for the selected page's elements,
and if you are editing on the Source tab, the outline for the XML source is
displayed. If you are editing an enterprise bean in the Java editor,
the Outline view shows the outline for the Java class.</dd>
<dt class="dlterm"><span class="uicontrol">Tasks</span></dt>
<dd>The Tasks view lists the to-do items that you have entered.</dd>
<dt class="dlterm"><span class="uicontrol">Problems</span></dt>
<dd>The Problems view displays problems, warnings, or errors associated with
the selected project. You can double-click on an item to address the specific
problem in the appropriate resource.</dd>
<dt class="dlterm"><span class="uicontrol">Properties</span></dt>
<dd>The Properties view provides a tabular view of the properties and associated
values of objects in files you have open in an editor.</dd>
<dt class="dlterm"><span class="uicontrol">Status bar</span></dt>
<dd>The Status bar provides a description of the location of selected objects
in the Project Explorer views in the left side. When file and deployment descriptors
are open, the status bar shows the read-only state of the files and the line
and column numbers when applicable. Sometimes when long operations run, a
status monitor will appear in the status bar, along with a button with a stop
sign icon. Clicking the stop sign stops the operation when the operation can
be cancelled.</dd>
<dt class="dlterm"><span class="uicontrol">Servers</span></dt>
<dd>The Servers view shows all the created server instances. You can start
and stop each server from this view, and you can launch the test client.</dd>
<dt class="dlterm"><span class="uicontrol">Snippets</span></dt>
<dd>The Snippets view provides categorized pieces of code that you can insert
into appropriate places in your source code.</dd>
</dl>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/ph-j2eeapp.html" title="These topics deal with the Java 2 Platform, Enterprise Edition (J2EE).">J2EE Applications</a></div>
</div>
<div><strong>Related information</strong><div><a href="../../org.eclipse.platform.doc.user/concepts/cworkset.htm">Working sets</a></div>
</div></div></body>
</html>