<?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, 2008 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, 2008" />
<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="task" name="DC.Type" />
<meta name="DC.Title" content="Creating a server" />
<meta name="abstract" content="You can create a server to identify the runtime environment that you want to use for testing your project resources. The term creating a server defines creating a pointer from the workbench to an existing installation of an application server." />
<meta name="description" content="You can create a server to identify the runtime environment that you want to use for testing your project resources. The term creating a server defines creating a pointer from the workbench to an existing installation of an application server." />
<meta content="servers, creating, creating a pointer" name="DC.subject" />
<meta content="servers, creating, creating a pointer" name="keywords" />
<meta content="XHTML" name="DC.Format" />
<meta content="twcrtins_wst" 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>Creating a server</title>
</head>
<body id="twcrtins_wst"><a name="twcrtins_wst"><!-- --></a>


<h1 class="topictitle1">Creating a server</h1>



<div><p><span id="shortdesc"><a name="shortdesc"><!-- --></a>You can create a server to identify the runtime
environment that you want to use for testing your project resources. The term <em>creating
a server</em> defines creating a pointer from the workbench to an existing
installation of an application server</span>.</p>

<div class="section" id="twcrtins_wst__context"><a name="twcrtins_wst__context"><!-- --></a>To create a server:</div>

<a name="twcrtins_wst__steps"><!-- --></a><ol id="twcrtins_wst__steps">
<li class="stepexpand" id="twcrtins_wst__step1"><a name="twcrtins_wst__step1"><!-- --></a><span>Select any of the following options:</span>
<ul>
<li>In the Servers view (<span class="menucascade"><span class="uicontrol">Window</span> &gt; <span class="uicontrol">Show
View</span> &gt; <span class="uicontrol">Servers</span></span>), right-click
and select <span class="menucascade"><span class="uicontrol">New</span> &gt; <span class="uicontrol">Server</span>
</span>.</li>

<li>In the menu bar, click <span class="uicontrol">File &gt; New &gt; Other</span>.
Expand the <span class="uicontrol">Server</span> folder and then select  <span class="uicontrol">Server</span>.</li>

</ul>

</li>

<li class="stepexpand" id="twcrtins_wst__step2"><a name="twcrtins_wst__step2"><!-- --></a><span>Click  <span class="uicontrol">Next</span>.</span> The New
Server wizard opens. This wizard defines a new server, that contains information
required to point to a specific runtime environment for local or remote testing,
or for publishing to an application server.</li>

<li class="stepexpand" id="twcrtins_wst__step3"><a name="twcrtins_wst__step3"><!-- --></a><span>In the <span class="uicontrol">Server's host name</span> field,
you can provide the fully qualified DNS name or IP address of the host machine
that where the server is running. By default, this field is pre-filled with
the default address: <kbd class="userinput">localhost</kbd></span></li>

<li class="stepexpand"><span>In the <span class="uicontrol">Select the server type</span> list, select
the type of server or test environment where you want to publish or test your
resources.</span>
<ol type="a">
<li class="substepexpand"><span>(Optional) Refer to the <span class="uicontrol">Description</span> section
for brief details about the server you have selected.</span></li>

<li class="substepexpand"><span>(Optional) In the text field under the <span class="uicontrol">Select the
server type</span> label, you can replace the text <kbd class="userinput">type filter
text</kbd> with keywords to filter the list of available application
servers.</span> The following are examples of filter keywords:<dl>
<dt class="dlterm"><kbd class="userinput">Apache</kbd></dt>

<dd>Filters the list of available servers where the vendor is Apache</dd>


<dt class="dlterm"><kbd class="userinput">WebSphere</kbd></dt>

<dd>Filters the list of available servers where the name is WebSphere</dd>


<dt class="dlterm"><kbd class="userinput">ejb</kbd></dt>

<dd>Filters the list of available servers that support ejb modules.</dd>


<dt class="dlterm"><kbd class="userinput">web</kbd></dt>

<dd>Filters the list of available servers that support Web modules</dd>


<dt class="dlterm"><kbd class="userinput">5.0</kbd></dt>

<dd>Filters the list of available servers that are at version, 5.0 or supports
JEE 5 specification level.</dd>


<dt class="dlterm"><kbd class="userinput">1.2</kbd></dt>

<dd>Filters the list of available servers that supports J2EE 1.2 specification
level or any servers that may have a version-level of 1.2.</dd>

</dl>
</li>

</ol>

</li>

<li class="stepexpand"><span>Click <span class="uicontrol">Next</span> and follow the instructions in
the wizard to specify the details of the server that you want to create.</span>
</li>

<li class="stepexpand"><span>Click  <span class="uicontrol">Finish</span>.</span> The new server
appears in the Servers view under the  <span class="uicontrol">Server</span> column.
</li>

</ol>

</div>


</body>
</html>