BACK INDEX
EXIT
NEXT

Getting Started

Introduction

So you want to skip all the preliminary reading and just get Jetty up and going? No problem, but we do recommend that once you've satisfied the urge to play around with it in your environment that you go back and visit the tutorial, particularly if you're so enthused that you want to contribute to Jetty!


Firstly, if you haven't already done it, you need to download Jetty using one of the methods provided on the download page. Once successfully downloaded, follow the links for  running the demonstrations provided with Jetty.



Running the Jetty demonstrations

The installation includes the ability to serve the Jetty web site pages locally as a demonstration of Jetty's capabilities.  The demonstrations include various servlets, JSP integration, SSL integration and a web application.

There are 4 ways to run it:
Of the above options, the easiest is to use the start.jar method.Alternatively, if you have Ant installed, you can use it to run the demonstration content. The scripts handle all the housekeeping tasks associated with getting a server started, and are provided as Unix shell scripts and as (unmaintained) Window bat files (you should treat them as examples, and feel free to brew your own). Finally, you can manually configure your environment and run the server by hand.


Quick start with start.jar

Starting Jetty

The start.jar file in the Jetty distribution may be run with

  java -jar start.jar  ...
For example
  java -jar start.jar etc/admin.xml etc/demo.xml
On some systems with graphical file browsers, it may be possible to start jetty by double clicking on this jar file. For more details see
  $JETTY_HOME/src/org/mortbay/start/README.txt
or
  http://jetty.mortbay.org/javadoc/org/mortbay/start/Main.html
If jetty is not being started from the current directory, then the jetty.home property should be set:
  java -Djetty.home=C:\jetty -jar start.jar  ...
If JSPs do not work with this start method, you may want to clearly specify the location of the JDK so the compiler can be accessed:
  java -Djava.home=C:\j2sdk1.4.1 -jar start.jar  ...
If an extra classpaths are needed, they can be added with the jetty.class.path property:
  java -Djetty.class.path=/usr/share/java -jar start.jar  ...
If no configuration file is provided, start.jar will use etc/admin.xml and etc/jetty.xml

Stopping Jetty

Programs started with the start.jar mechanism may be stopped with the stop.jar:

   java -jar stop.jar
This connects via a local port to stop the server. The default port can be set wi th the STOP.PORT system property (a port of < 0 disables the stop mechanism). If the STOP.KEY system property is set, then a random key is generated and written to stdout. This key must be passed to the stop.jar. eg
  [540] java -DSTOP.PORT=9999 -DSTOP.KEY -jar start.jar
  1rukbu7owi3uo
  17:39:49.082 EVENT  Starting Jetty/4.2.10pre0
  ...


  [526] java -DSTOP.PORT=9999 -DSTOP.KEY=1rukbu7owi3uo -jar stop.jar 


 Unix shell script

You must already have a Java environment installed and configured (ie you must have the $JAVA_HOME environment variable set).

Then,  set up the fundamental Jetty evironment variable $JETTY_HOME. This must point to the directory into which you installed Jetty:
  export JETTY_HOME=<jetty install directory>
Running a simple server

To verify Jetty on your system, type the following command to start a very simple one-page server:
  $JETTY_HOME/bin/jetty.sh run

Use your browser to go to the following location to see the sample page:
  http://localhost:8080
If the script doesn't work for you, either try the Ant version, or follow the manual instructions .

Running the Jetty demonstrations

To run the more sophisticated demonstrations, execute the following command (if you are still running the previous example, don't forget to kill it first):
 $JETTY_HOME/bin/jetty.sh demo
Use your browser to go to the following location:
http://localhost:8080

Select the Demonstrations link to explore the servlets provided. Here is page you should see.



Windows .bat file


NOTE:  Due to problems with the servlet security model, it is vital that Windows users use the exact case for drive letters, URLs and filenames.

To run the demonstrations under Windows, ensure that your Java environment is set up, then set the fundamental Jetty evironment variable %JETTY_HOME%. This must point to the directory into which you installed Jetty:
  set JETTY_HOME=<jetty install directory>
Running a simple server

To verify Jetty on your system, type the following command to start a very simple one-page server:
  %JETTY_HOME%\bin\jetty.bat
Use your browser to go to the following location:
  http://localhost:8080

If you have problems:
 If you still cannot get the bat file to work, then try the Ant option, or set it up manually.

Running the Jetty demonstrations

To run the more sophisticated servlet demonstrations, execute the following command (if you are still running the previous example, don't forget to kill it first):
  %JETTY_HOME%\bin\jetty.bat demo
Use your browser to go to the following location:
http://localhost:8080
Select the Demonstrations link to explore the servlets provided. Here is page you should see.




Ant Quick Start

You must have Ant already installed to use this method. The following examples assume the current directory is $JETTY_HOME.

Running a simple server

To verify Jetty on your system, type the following command to start a very simple one-page server:

Unix:         ant run
Windows:  ant.bat run
To view the demo, use your browser to browse to http://localhost:8080

Running the Jetty demonstrations

To run the more sophisticated servlet demonstrations, execute the following command (if you are still running the previous example, don't forget to kill it first):

Unix:         ant demo
Windows:  ant.bat demo
To view the demonstrations, use your browser to go to http://localhost:8080 and select the Demonstrations link to explore the servlets provided. This is the page you should see.

Running with JMX enabled

To run Jetty with JMX instrumentation, execute:

Unix:        ant demo.jmx
Windows: ant.bat demo.jmx

Use your browser to visit the JMX agent view by browsing to > http://localhost:8082


Manual configuration and execution

Configuration


Jetty requires a Java 1.2 environment to be installed.

If you are using jdk1.4, you should use the path (or non-unix equivalent):
  CLASSPATH=\
    $JETTY_HOME/lib/org.mortbay.jetty.jar:\
    $JETTY_HOME/lib/javax.servlet.jar:\
    $JETTY_HOME/ext/jasper-runtime.jar:\
    $JETTY_HOME/ext/jasper-compiler.jar:\
    $JETTY_HOME/ext/xercesImpl.jar
For jdk1.2 or jdk1.3 us the following classpath, you need to use the alternative jetty jars and add the XML support. Thus the classpath to use is:
  CLASSPATH=\
    $JETTY_HOME/lib/org.mortbay.jetty-jdk1.2.jar:\
    $JETTY_HOME/lib/javax.servlet.jar:\
    $JETTY_HOME/ext/jasper-runtime.jar:\
    $JETTY_HOME/ext/jasper-compiler.jar:\
    $JETTY_HOME/ext/xercesImpl.jar:\
    $JETTY_HOME/ext/xml-apis.jar:\
    $JETTY_HOME/ext/xmlParserAPIs.jar
To use SSL you will also need to add the the jars below: (see here for more details):
         $JETTY_HOME/ext/jnet.jar  (not needed for JDK1.4.1) 
         $JETTY_HOME/ext/jcert.jar
         $JETTY_HOME/ext/jsse.jar

To use JMX the classpath must also include:
    $JETTY_HOME/ext/mx4j.jar
    $JETTY_HOME/ext/mx4j-tools.jar 
For java >=1.5 you will also need to add -Djavax.management.builder.initial=mx4j.server.MX4JMBeanServerBuilder to the command line to avoid a clash with the internal jmx implementation.

To run JSP with the JDK compiler, you will also need to add the JDK tools.jar jar, and the ant.jar file from jakarta-ant 1.5 or later.

Execution

The execution examples are illustrated using Unix-style commands and environment variable specifications - adapt these as necessary to your environment.

To run a Jetty server, the steps are:

         cd $JETTY_HOME
         java org.mortbay.jetty.Server <xml configuration file>

The <xml configuration file> specifies the operation of the Jetty server.  Some examples of these can be found in the $JETTY_HOME/etc directory.

For example, the simple one-page server mentioned in the Quick Start sections can be started by the following command:
cd $JETTY_HOME
java org.mortbay.jetty.Server etc/jetty.xml

The servlet demonstration server is run by the following:
cd $JETTY_HOME
java org.mortbay.jetty.Server etc/admin.xml etc/demo.xml


BACK INDEX
EXIT
NEXT