<?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, 2011 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/. Contributors: IBM Corporation - initial API and implementation" />
<meta name="DC.rights.owner" content="(C) Copyright 2000, 2011" />
<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 scheme="URI" name="DC.Relation" content="../topics/twinstprf.html" />
<meta scheme="URI" name="DC.Relation" content="../topics/tcreate.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.server.ui.doc.user/topics/tomcat.html" />
<meta scheme="URI" name="DC.Relation" content="../topics/thttppreview.html" />
<meta scheme="URI" name="DC.Relation" content="../topics/tj2eepreview.html" />
<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, select <span class="uicontrol">Server</span> and
click <span class="uicontrol">Next</span>.</li>

</ul>

</li>

<li class="stepexpand" id="twcrtins_wst__step2"><a name="twcrtins_wst__step2"><!-- --></a><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.</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) 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>

<li class="substepexpand"><span>There is a brief description about the server selected
from the server type list.</span></li>

</ol>

</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" id="twcrtins_wst__step5"><a name="twcrtins_wst__step5"><!-- --></a><span>(Optional) In the <span class="uicontrol">Server name</span> field,
type a label to identify this server entry in the Servers view.</span>
  By default, this field is completed with the following naming
convention: <em>server type</em> at <em>host name</em>, for example <kbd class="userinput">Tomcat
v6.0 Server at localhost</kbd>.</li>

<li class="stepexpand" id="twcrtins_wst__step6"><a name="twcrtins_wst__step6"><!-- --></a><span>The <span class="uicontrol">Server runtime environment</span> list
is available, when you select a server from the server type list that
contains a runtime environment entry in the Runtime Environments preferences
page (<span class="menucascade"><span class="uicontrol">Window</span> &gt; <span class="uicontrol">Preferences</span>
 &gt; <span class="uicontrol">Server</span> &gt; <span class="uicontrol">Runtime Environments</span>
</span>).</span>  In the <span class="uicontrol">Server runtime environment</span> list,
select the runtime environment of an application server for compiling,
testing, or running your application. To modify the server runtime
environment, select the <span class="uicontrol">Configure runtime environments</span> link.
To add a new server runtime environment, select the <span class="uicontrol">Add</span> link.
For more details about runtime environments, see the <em>Defining the
server runtime environments preferences</em> link at the bottom of
this topic. <p>If the <span class="uicontrol">Server runtime environment</span> list
is not available, continue to the next page of the New Server wizard
where it is going to prompt you for the installation directory of
the server. After you complete this New Server wizard, the workbench
automatically adds a runtime environment entry in the Runtime Environments
preference page.</p>
</li>

<li class="stepexpand" id="twcrtins_wst__step7"><a name="twcrtins_wst__step7"><!-- --></a><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>  See the links at the end of this
topic, as there might be documentation available when continuing through
this wizard for creating the server you have selected in the server
type list.</li>

<li class="stepexpand" id="twcrtins_wst__step8"><a name="twcrtins_wst__step8"><!-- --></a><span>After completing the New Server wizard, by click <span class="uicontrol">Finish</span>,
the new server appears in the Servers view.</span></li>

</ol>

</div>

<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="../../org.eclipse.jst.server.ui.doc.user/topics/tomcat.html">...Apache Tomcat server</a></strong><br />
</li>
<li class="ulchildlink"><strong><a href="../topics/thttppreview.html">...HTTP Preview server</a></strong><br />
</li>
<li class="ulchildlink"><strong><a href="../topics/tj2eepreview.html">...J2EE Preview server</a></strong><br />
</li>
</ul>

<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/tcreate.html" title="">Creating, editing, and deleting servers</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="../topics/twinstprf.html" title="Using the Preferences page, you can direct the workbench to use a specific runtime environment of an application server for compiling, testing, or running your application.">Defining the server runtime environments preferences</a></div>
</div>
</div>

</body>
</html>