Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Jetty/Tutorial/Jetty HelloWorld"
Line 5: | Line 5: | ||
=== Downloading the Jars === | === Downloading the Jars === | ||
− | + | Jetty is decomposed into many [[/Jetty/Reference/Dependencies|jars and dependencies]] so that a minimal foot print can be achieved by selecting the minimal set of jars. Typically it is best to use something like maven to manage jars (see [[/Jetty/Tutorial/Developing_with_Jetty_and_Maven|Jetty and Maven tutorial]]), but for this tutorial, we will use an aggregate jar that contains all of the jetty classes in one jar. | |
− | + | The jetty aggregate-all jar and the servlet api jar can be manually downloaded using [http://www.gnu.org/software/wget/ wget] or similar command (eg [http://curl.haxx.se/ curl]) or a browser. Use wget as follows: | |
− | + | ||
− | + | ||
<source lang="bash"> | <source lang="bash"> | ||
Line 64: | Line 62: | ||
javac -cp servlet-api-2.5.jar:jetty-all-7.0.1.v20091125.jar HelloWorld.java | javac -cp servlet-api-2.5.jar:jetty-all-7.0.1.v20091125.jar HelloWorld.java | ||
</source> | </source> | ||
− | |||
=== Running the Handler and Server === | === Running the Handler and Server === | ||
Line 77: | Line 74: | ||
}} | }} | ||
== Next Steps == | == Next Steps == | ||
− | + | * Follow the examples in [[/Jetty/Tutorial/Embedding Jetty]] tutorial to better understand the jetty APIs | |
+ | * Consider using [[/Jetty/Tutorial/Developing_with_Jetty_and_Maven|Jetty and Maven]] to manage your jars and dependencies. | ||
+ | * Review other options to [[/Jetty/Howto/Develop|Develop with Jetty]] |
Revision as of 19:23, 15 February 2010
Contents
Introduction
To develop against the Jetty API's you need Jetty jars on your classpath. This can be done with maven and/or IDE tools like m2eclipse. However, this tutorial shows you the simplest possible approach to building and running a Jetty server.
Details
Downloading the Jars
Jetty is decomposed into many jars and dependencies so that a minimal foot print can be achieved by selecting the minimal set of jars. Typically it is best to use something like maven to manage jars (see Jetty and Maven tutorial), but for this tutorial, we will use an aggregate jar that contains all of the jetty classes in one jar.
The jetty aggregate-all jar and the servlet api jar can be manually downloaded using wget or similar command (eg curl) or a browser. Use wget as follows:
mkdir jettyTutorial cd jettyTutorial wget -U none http://repo1.maven.org/maven2/org/eclipse/jetty/aggregate/jetty-all/7.0.1.v20091125/jetty-all-7.0.1.v20091125.jar wget -U none http://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
Writing a HelloWorld Example
The /Jetty/Tutorial/Embedding Jetty tutorial contains many examples of writing against the Jetty API. For this tutorial, we will use a simple HelloWorld handler with a main method to run the server. In and editor, edit the file HelloWorld.java and add the following content:
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import java.io.IOException; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; public class HelloWorld extends AbstractHandler { public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("<h1>Hello World</h1>"); } public static void main(String[] args) throws Exception { Server server = new Server(8080); server.setHandler(new HelloWorld()); server.start(); server.join(); } }
Compiling the HelloWord example
The following command will compile the HelloWorld class:
javac -cp servlet-api-2.5.jar:jetty-all-7.0.1.v20091125.jar HelloWorld.java
Running the Handler and Server
The following command will run the HelloWorld example:
java -cp .:servlet-api-2.5.jar:jetty-all-7.0.1.v20091125.jar HelloWorld
You can now point your browser at [1] to see the hello world page.
Next Steps
* Follow the examples in /Jetty/Tutorial/Embedding Jetty tutorial to better understand the jetty APIs * Consider using Jetty and Maven to manage your jars and dependencies. * Review other options to Develop with Jetty