Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Simone Bordet 8c10ea8a9b
Fixes #10912 - Document Request listeners (#10920)
* Fixes #10912 - Document Request listeners

* Documented Request listeners and updated javadocs.
* Removed code in HttpChannelState.onIdleTimeout() that was automatically complete the Handler callback.
* Invoking failure listeners only once (although HttpChannelState.onFailure() may be called multiple times).
* Made sure that in ChannelCallback.succeeded() the last stream send uses the ChannelResponse as Callback, like it is done in Response.write().
* Moved Request listeners tests from various test classes into RequestListenersTest.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-11-28 12:56:17 +01:00
.github Revert "Fix dependabot.yml" 2023-11-15 13:29:30 -06:00
.mvn Jetty 12 merge from 11 and fix JAAS ldap login test (#10857) 2023-11-06 15:27:40 +11:00
build Jetty 12 merge from 11 and fix JAAS ldap login test (#10857) 2023-11-06 15:27:40 +11:00
documentation Fixes #10912 - Document Request listeners (#10920) 2023-11-28 12:56:17 +01:00
javadoc disable duplicate finder for javadoc as it is plenty of unzipped sources 2023-11-15 16:04:36 +10:00
jetty-core Fixes #10912 - Document Request listeners (#10920) 2023-11-28 12:56:17 +01:00
jetty-ee8 Jetty 12 add duplicate classes finder plugin to avoid sames classes with different content coming from different jars (#10767) 2023-11-07 06:37:41 +01:00
jetty-ee9 Align Core, ee9 and ee10 `AbstractTest` and fix ee9 H3 tests (#10929) 2023-11-27 17:14:31 +01:00
jetty-ee10 Fix jetty 12.0.x transient timeouts (#10844) 2023-11-23 15:25:03 +01:00
jetty-home Updating to version 12.0.4-SNAPSHOT 2023-10-26 22:47:29 -05:00
jetty-integrations Jetty 12 add duplicate classes finder plugin to avoid sames classes with different content coming from different jars (#10767) 2023-11-07 06:37:41 +01:00
logos Issue #4572 - Mechanical Change to use org.slf4j 2020-03-16 15:48:25 -05:00
tests upgrade those versions as Intellij fail because of this (#10924) 2023-11-27 19:19:39 +10: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 no need to annotate PRs with analysis results (#10901) 2023-11-16 08:10:16 -06: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-10-30 14:50:00 -05:00
header-template.txt Happy no year 2023-02-15 15:22:32 +11:00
pom.xml Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'. 2023-11-19 22:09:10 +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.