Jetty Logo
Version: 9.4.5.v20170502
Contact the core Jetty developers at www.webtide.com

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 for sponsored feature development

Jetty

The Definitive Reference

Revision History
Revision 9.4.5.v20170502 2017-05-02 14:11:34

This documentation is produced and contributed to under the Eclipse Public License v1.0.


Table of Contents

I. Getting Started With Jetty
1. Introducing Jetty
What is Jetty?
What Version Do I Use?
Jetty and Java EE Web Profile
Finding Jetty in Maven
2. Using Jetty
Downloading Jetty
Running Jetty
Deploying Web Applications
3. An Introduction to Jetty Configuration
How to Configure Jetty
What to Configure in Jetty
II. Jetty Configuration Guide
4. Deploying to Jetty
Anatomy of a Web Application
Automatic Web Application Deployment
Configuring a Specific Web Application Deployment
Deployment Processing of WebAppContexts
Configuring Static Content Deployment
Hot Deployment
Deployment Architecture
Quickstart Webapps
5. Configuring Contexts
Setting a Context Path
Configuring Virtual Hosts
Temporary Directories
Serving a WebApp from a Particular Port/Connector
Creating Custom Error Pages
Setting Max Form Size
6. Configuring Jetty Connectors
Connector Configuration Overview
Configuring SSL/TLS
Setting Port 80 Access for a Non-Root User
7. Configuring Security
Using the $\{jetty.home} and $\{jetty.base} Concepts to Configure
Authentication
Limiting Form Content
Aliased Files and Symbolic links
Secure Password Obfuscation
JAAS Support
Spnego Support
8. Configuring JSP Support
Configuring JSP
III. Jetty Administration Guide
9. Starting Jetty
Startup Overview
Using start.jar
Managing Jetty Base and Jetty Home
Managing Server Classpath
Managing Startup Modules
Custom Modules
Managing XML Based Startup Configuration
Startup a Unix Service using jetty.sh
Startup via Windows Service
10. Session Management
Session Architecture
Session Configuration and Use Cases
Non-Clustered Session Management: Memory
Non-Clustered Session Management: File System
Clustered Session Management: JDBC
Clustered Session Management: MongoDB
Clustered Session Management: Inifinspan
Clustered Session Management: Google Cloud DataStore
11. Jetty Logging
Configuring Jetty Logging
Default Logging with Jetty’s StdErrLog
Configuring Jetty Request Logs
Jetty Logging Integrations (SLF4J, Log4j, Logback, JCL, JUL)
Centralized Logging using Logback
Jetty Dump Tool
12. Configuring JNDI
Quick Setup
Working with Jetty JNDI
Configuring JNDI
Using JNDI with Jetty Embedded
Datasource Examples
13. Annotations
Quick Setup
Working with Annotations
Using Annotations with Jetty Embedded
14. Java Management Extensions (JMX)
Using JMX with Jetty
Jetty JMX Annotations
Managing Jetty with JConsole and JMC
15. Application Layer Protocol Negotiation (ALPN)
Introducing ALPN
16. HTTP/2
Introducing HTTP/2
Enabling HTTP/2
Configuring HTTP/2
Configuring HTTP/2 Push
Configuring HAProxy and Jetty
17. FastCGI Support
FastCGI Introduction
Configuring Jetty for FastCGI
18. Provided Servlets, Filters, and Handlers
Default Servlet
Proxy Servlet
Balancer Servlet
CGI Servlet
Quality of Service Filter
Denial of Service Filter
Gzip Handler
Cross Origin Filter
Resource Handler
Debug Handler
Statistics Handler
IP Access Handler
Moved Context Handler
Shutdown Handler
Default Handler
Error Handler
Rewrite Handler
19. Jetty Runner
Use Jetty Without an Installed Distribution
20. Optimizing Jetty
Garbage Collection
High Load
Limiting Load
IV. Jetty Development Guide
21. Embedding
Jetty Embedded HelloWorld
Embedding Jetty
Embedded Examples
22. HTTP Client
Introduction
API Usage
Cookies Support
Authentication Support
Proxy Support
Pluggable Transports
23. Maven and Jetty
Using Maven
Configuring the Jetty Maven Plugin
Files Scanned by the Jetty Maven Plugin
Jetty Jspc Maven Plugin
24. Ant and Jetty
Ant Jetty Plugin
25. Handlers
Writing Custom Handlers
26. WebSocket Introduction
What Jetty provides
WebSocket APIs
Enabling WebSocket
27. Jetty Websocket API
Jetty WebSocket API Usage
WebSocket Events
WebSocket Session
Send Messages to Remote Endpoint
Using WebSocket Annotations
Using WebSocketListener
Using the WebSocketAdapter
Jetty WebSocket Server API
Jetty WebSocket Client API
28. Continuations
Introduction
Using Continuations
Common Continuation Patterns
29. Frameworks
Spring Setup
OSGI
Weld
Metro
V. Jetty Reference Guide
30. Architecture
Jetty Architecture
Jetty Classloading
Creating a Custom Protocol
31. Platforms, Stacks and Alternative Distributions
Many many options…​
Jelastic
CloudFoundry
Amazon Elastic Beanstalk
Fedora
Ubuntu
32. Jetty XML Reference
Jetty XML Syntax
Jetty XML Usage
jetty.xml
jetty-web.xml
jetty-env.xml
webdefault.xml
Jetty override-web.xml
33. Troubleshooting
Troubleshooting Zip Exceptions
Troubleshooting Locked Files on Windows
Preventing Memory Leaks
Troubleshooting Slow Deployment
Jetty Security Reports
Java WatchService
34. Debugging
Options
Enable remote debugging
Debugging With IntelliJ
Debugging With Eclipse
35. Contributing to Jetty
Community
Documentation
Source Control and Building
Coding Standards
Issues, Features, and Bugs
Contributing Patches
Reporting Security Issues
Releasing Jetty
Testing a Jetty Release
36. Upgrading Jetty
Upgrading from Jetty 9.3.x to Jetty 9.4.0

List of Figures

6.1. Certificate chain

List of Tables

1.1. Jetty Versions
1.2. JavaEE7 Web Profile
1.3. Java EE 6 Web Profile
2.1. Contents
2.2. Contents
4.1. Default Configuration classes
4.2. JNDI Configuration classes
4.3. Annotation Configuration classes
6.1. Connector Configuration
8.1. Understanding Apache JspServlet Parameters
12.1. DataSource Declaration Conventions
15.1. ALPN vs. OpenJDK versions
16.1. HTTP/2 Configuration Properties
26.1. WebSocket connection states
29.1. Bundle Name Mapping
29.2. Jars Required for JSP
29.3. Jars Required for Glassfish JSTL
29.4. Jars Required for Apache JSTL
29.5. Jars Required for Annotations
29.6. Extra Jars Required for Websocket
30.1. Default System Classes
30.2. Default Server Classes
33.1. Resolved Issues

See an error or something missing? Contribute to this documentation at Github!(Generated: 2017-05-02)