Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Simone Bordet ce928e5ff1
Reorganized and refactored JettyHomeTester to introduce JPMSTester. (#11228)
* Renamed module "jetty-home-tester" to "jetty-testers".
* Moved JettyHomeTester to module jetty-testers.
* Introduced JPMSTester, refactoring common code with JettyHomeTester.
* Changed File-based APIs in favor of Path APIs.
* Introduced ProcessWrapper to simplify process forking.
* Refactored tests to follow refactoring changes.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-01-24 18:56:27 +01:00
.github Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2024-01-02 10:39:25 -06:00
.mvn Allow build-cache globs to function on windows 2024-01-02 15:10:04 -06:00
build Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2024-01-15 06:37:38 -06:00
documentation Reorganized and refactored JettyHomeTester to introduce JPMSTester. (#11228) 2024-01-24 18:56:27 +01:00
javadoc Results of: mvn spotless:apply 2024-01-03 10:40:38 -06:00
jetty-core Issue #11253 - Cleanup ComplianceViolation behavior to allow Cookie / URI / MultiPart compliance to also receive listener events. (#11254) 2024-01-24 08:24:05 -06:00
jetty-ee8 Issue #11263 - Reduce usage of glob lib/foo/*.jar in modules (#11264) 2024-01-16 10:46:58 -06:00
jetty-ee9 Issue #11253 - Cleanup ComplianceViolation behavior to allow Cookie / URI / MultiPart compliance to also receive listener events. (#11254) 2024-01-24 08:24:05 -06:00
jetty-ee10 Issue #11253 - Cleanup ComplianceViolation behavior to allow Cookie / URI / MultiPart compliance to also receive listener events. (#11254) 2024-01-24 08:24:05 -06:00
jetty-home Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2024-01-16 11:11:49 -06:00
jetty-integrations Issue #11263 - Reduce usage of glob lib/foo/*.jar in modules (#11264) 2024-01-16 10:46:58 -06:00
logos Issue #4572 - Mechanical Change to use org.slf4j 2020-03-16 15:48:25 -05:00
tests Reorganized and refactored JettyHomeTester to introduce JPMSTester. (#11228) 2024-01-24 18:56:27 +01:00
.gitattributes Updating attributes 2020-09-25 09:48:38 -05:00
.gitignore Initial Dependency Update Reports 2023-03-08 15:12:28 -06: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
CODE_OF_CONDUCT.md Fixes #10107 (#10109) 2023-07-14 13:43:40 -05:00
CONTRIBUTING.md Improvements to the contribution guide. 2023-08-01 19:41:55 +02:00
Jenkinsfile Jetty 12.0.x use coverage report rather than the non anymore maintained jacoco plugin (#10864) 2023-12-06 00:48:01 +01:00
Jenkinsfile-dependency-report Jetty 12.0.x publish dependency report (#9504) 2023-03-16 13:06:05 +10:00
Jmh_Jenkinsfile Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-07-09 12:57:26 +10:00
KEYS.txt Updated GPG key 2023-10-11 08:42:53 +02:00
LICENSE Issue #5784 - Fixing LICENSE file 2020-12-10 15:45:35 -06:00
NOTICE.txt Merge `jetty-11.0.x` into `jetty-12.0.x` - July 14 (#10108) 2023-07-14 20:21:11 -05:00
README.md Jetty 12.0.x use Maven build cache for PRs and branches except jetty-12.0.x main branch (#9871) 2023-08-22 02:46:46 +02:00
SECURITY.md Merge `jetty-11.0.x` into `jetty-12.0.x` - July 14 (#10108) 2023-07-14 20:21:11 -05:00
VERSION.txt Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2023-12-19 15:53:10 -06:00
header-template.txt Happy no year 2023-02-15 15:22:32 +11:00
pom.xml Reorganized and refactored JettyHomeTester to introduce JPMSTester. (#11228) 2024-01-24 18:56:27 +01:00

README.md

Eclipse Jetty

Eclipse Jetty is a lightweight, highly scalable, Java-based web server and Servlet engine. Jetty's goal is to support web protocols (HTTP/1, HTTP/2, HTTP/3, WebSocket, etc.) 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 asynchronous web server that has a long history as a component oriented technology, and can be easily embedded into applications while still offering a solid traditional distribution for webapp deployment.

Webapp Example

$ mkdir jetty-base && cd jetty-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 jetty-base && cd jetty-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 Jetty Example

Server server = new Server(port);
server.setHandler(new MyHandler());
server.start();

Embedded Servlet Example

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

Building Jetty from Source

$ git clone https://github.com/eclipse/jetty.project.git
$ cd jetty.project
$ mvn -Pfast clean install # fast build bypasses tests and other checks

For more detailed information on building and contributing to the Jetty project, please see the Contribution Guide.

Documentation

Jetty's documentation is available on the Eclipse Jetty website.

The documentation is divided into three guides, based on use case:

  • The Operations Guide targets sysops, devops, and developers who want to install Eclipse Jetty as a standalone server to deploy web applications.

  • The Programming Guide targets developers who want to use the Eclipse Jetty libraries in their applications, and advanced sysops/devops that want to customize the deployment of web applications.

  • The Contribution Guide targets developers that wish to contribute to the Jetty Project with code patches or documentation improvements.

Commercial Support

Expert advice and production support of Jetty are provided by Webtide.