Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Greg Wilkins 60a08f5349
Rename Handler Nested & Collection (#9305)
There is now a Handler interface hierarchy:
 + Container is a Handler that has 1 or more contained Handlers.
 + Wrapper is a Container with only 1 handler and a setHandler method.
 + Collection is a Container with n handlers and a addHandler method

class are now:
 + Abstract implements Handler
 + AbstractContainer extends Abstract implements Container
 + BaseWrapper extends AbstractContainer implements Wrapper
 + Sequence extends AbstractContainer implements Collection

 Lots of other associated cleanups
2023-02-06 12:15:35 +11:00
.github Small cleanup of codeql-analysis 2022-12-14 13:50:37 -06:00
.mvn Enable errorprone and spotbugs for java 17 (#7604) 2022-02-17 10:12:01 +10:00
build Review and normalized all Maven module <name> for consistency. 2023-01-27 19:09:30 +01:00
documentation Rename Handler Nested & Collection (#9305) 2023-02-06 12:15:35 +11:00
javadoc Removing jetty-unixsocket-* references (doesn't exist in Jetty 12) 2023-01-30 15:02:55 -06:00
jetty-bom Removing jetty-unixsocket-* references (doesn't exist in Jetty 12) 2023-01-30 15:02:55 -06:00
jetty-core Rename Handler Nested & Collection (#9305) 2023-02-06 12:15:35 +11:00
jetty-ee8 Removed jetty-ee8/test-ee10-sessions since no tests are present for ee8. 2023-01-27 22:42:18 +01:00
jetty-ee9 Rename Handler Nested & Collection (#9305) 2023-02-06 12:15:35 +11:00
jetty-ee10 Rename Handler Nested & Collection (#9305) 2023-02-06 12:15:35 +11:00
jetty-home Review and normalized all Maven module <name> for consistency. 2023-01-27 19:09:30 +01:00
jetty-integrations Review and normalized all Maven module <name> for consistency. 2023-01-27 19:09:30 +01:00
jetty-p2 Updating to version 11.0.14-SNAPSHOT 2022-12-07 15:04:55 -06:00
logos Issue #4572 - Mechanical Change to use org.slf4j 2020-03-16 15:48:25 -05:00
tests Rename Handler Nested & Collection (#9305) 2023-02-06 12:15:35 +11:00
.gitattributes Updating attributes 2020-09-25 09:48:38 -05:00
.gitignore Ignore eclipse generated checkstyle files 2022-05-03 18:28:05 +02:00
.lgtm.yml Bump java_version to 17 2022-12-14 13:48:52 -06:00
CODE_COVERAGE.md http-spi test improvement (#62) 2016-05-04 10:56:56 +10:00
CONTRIBUTING.md Testing gpg signature setup 2019-09-25 12:42:32 -05:00
Jenkinsfile retry failing tests one more time (#9274) 2023-02-01 17:53:29 +10:00
Jenkinsfile-autobahn Jetty-12 Restructure 2022-05-03 15:50:54 +02:00
Jmh_Jenkinsfile Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-07-09 12:57:26 +10:00
KEYS.txt add GPG key and developer tag 2020-11-04 17:25:11 +01:00
LICENSE Issue #5784 - Fixing LICENSE file 2020-12-10 15:45:35 -06:00
NOTICE.txt Issue #4568 - update to use jakarta.servlet 5.0.0 2020-03-31 14:54:59 +10:00
README.md updated README 2022-08-13 09:20:26 +10:00
SECURITY.md Update security handling bugzilla to gitlab (#8104) 2022-06-03 06:08:02 -05:00
VERSION.txt Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-12-17 10:29:34 +11:00
header-template.txt Issue #5784 - Cleaning up source header template 2020-12-10 15:46:28 -06:00
pom.xml Merge branch 'jetty-11.0.x' into jetty-12.0.x-merg 2023-02-05 16:34:58 +10:00

README.md

Eclipse Jetty Canonical Repository

This is the canonical repository for the Jetty project, feel free to fork and contribute now!

Submitting a patch or pull request?

Make sure you have an Eclipse Contributor Agreement (ECA) on file.

Project description

Jetty is a lightweight highly scalable java based web server and servlet engine. Our goal is to support web protocols like HTTP, HTTP/2 and WebSocket in a high volume low latency way that provides maximum performance while retaining the ease of use and compatibility with years of servlet development. Jetty is a modern fully async web server that has a long history as a component oriented technology easily embedded into applications while still offering a solid traditional distribution for webapp deployment.

Webapp Example

$ mkdir base && cd base
$ java -jar $JETTY_HOME/start.jar --add-modules=http,ee10-deploy
$ cp ~/src/myproj/target/mywebapp.war webapps
$ java -jar $JETTY_HOME/start.jar 

Multiple Versions Webapp Example

$ mkdir base && cd base
$ java -jar $JETTY_HOME/start.jar --add-modules=http,ee10-deploy,ee8-deploy
$ cp ~/src/myproj/target/mywebapp10.war webapps
$ cp ~/src/myproj/target/mywebapp8.war webapps
$ echo environment: ee8 > webapps/mywebapp8.properties
$ java -jar $JETTY_HOME/start.jar 

Embedded Example

Server server = new Server(port);
ServletContextHandler context = new ServletContextHandler(server, "/");
context.addServlet(MyServlet.class, "/*");
server.start();

Documentation

Project documentation is available on the Jetty Eclipse website.

Building

To build, use:

  mvn clean install

Eclipse Jetty will be built in jetty-home/target/jetty-home.

The first build may take a longer than expected as Maven downloads all the dependencies.

The build tests do a lot of stress testing, and on some machines it is necessary to set the file descriptor limit to greater than 2048 for the tests to all pass successfully.

It is possible to bypass tests by building with mvn clean install -DskipTests.

Professional Services

Expert advice and production support are available through Webtide.com.