private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery
Embedding Jetty
Quick Start
Quick Start - Handlers
The following code implements an anonymous hello handler and starts a jetty server with it:
Quick Start - Servlets
Here is a simple example of embedding Jetty using a Hello world servlet:
Setting up the classpath
To run Jetty you need only the following jars on the classpath:
- servlet-api-2.5-6.x.jar
- jetty-util-6.x.jar
- jetty-6.x.jar
This gives you the capability to handle HTTP with handlers, servlets and webapplications.
Additional features such as JSP and AJP require additional jars (normally found in subdirectories of $JETTY_HOME/lib).
Java Server Pages
JSP2.1
| Remember! You need to use J2SE5 (aka jdk 1.5) if you wish to use JSP2.1. |
This is the jsp version mandated by servlet specification 2.5. You will need these jars:
- ant-1.6.5.jar
- core-3.1.1.jar
- jsp-2.1.jar
- jsp-api-2.1.jar
JSP2.0
JSP 2.0 is used with version 2.4 of the servlet specification. Depending on the functionality you require, you may be able to use this version rather than the newer JSP2.1
These are the dependencies when JSP 2.0 is used:
- ant-1.6.4.jar
- jasper-compiler-5.5.15.jar
- jasper-runtime-5.5.15.jar
- jsp-api-2.0.jar
- commons-el-1.0.jar
- jcl104-over-slf4j-1.0-rc5.jar
- slf4j-simple-1.0-rc5.jar
- xmlParserAPIs-2.6.2.jar
- xercesImpl-2.6.2.jar
Code
The jetty configuration files (eg jetty.xml) have an xml syntax that is a straightforward mapping of the java API. Take a look at the files in etc/ for some hints on what calls to make in your own code. Here's the minimal code to set up a Jetty server and webapp:
For More Information
There are several examples of embedding Jetty in the distribution in the examples/embedded directory. Also take a look at the Tutorial on Embedding Jetty.