Version: 9.4.21.v20190926 |

Jetty and Java EE Web Profile
Previous | Chapter 1. Introducing Jetty Home | Next

##### 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 and Java EE Web Profile

Jetty implements aspects of the Java EE specification, primarily the Servlet Specification. Recent releases of the Java EE platform have introduced a Web Profile, recognizing that many developers need only a subset of the many technologies under the Java EE umbrella.

While Jetty itself does not ship all of the Web Profile technologies, Jetty architecture is such that you can plug in third party implementations to produce a container customized to your exact needs.

### Java EE 7 Web Profile

In the forthcoming Java EE-7 specification, the Web Profile reflects updates in its component specifications and adds some new ones:

Table 1.2. JavaEE7 Web Profile

JSR | Name | Included with jetty-9.1.x | Pluggable
--- | --- | --- | ---
JSR 340 | Servlet Specification API 3.1 | Yes |
JSR 344 | Java Server Faces 2.2 (JSF) | No | Yes, Mojarra or MyFaces
JSR 245 / JSR 341 | Java Server Pages 2.3/Java Expression Language 3.0 (JSP/EL) | Yes | Yes
JSR 52 | Java Standard Tag Library 1.2 (JSTL) | Yes | Yes
JSR 45 | Debugging Support for Other Languages 1.0 | Yes (via JSP) | Yes (via JSP)
JSR 346 | Contexts and Dependency Injection for the JavaEE Platform 1.1 (Web Beans) | No | Yes, Weld
JSR 330 | Dependency Injection for Java 1.0 | No | Yes as part of a CDI implementation, Weld
JSR 316 | Managed Beans 1.0 | No | Yes, as part of another technology
JSR 345 | Enterprise JavaBeans 3.2 Lite | No |
JSR 338 | Java Persistence 2.1 (JPA) | No | Yes, eg Hibernate
JSR 250 | Common Annotations for the Java Platform 1.2 | Yes | Partially (for non-core Servlet Spec annotations)
JSR 907 | Java Transaction API 1.2 (JTA) | Yes | Yes
JSR 349 | Bean Validation 1.1 | No | Yes as part of another technology eg JSF, or a stand-alone implementation such as Hiberate Validator
JSR 339 | Java API for RESTful Web Services 2.0 (JAX-RS) | No |
JSR 356 | Java API for Websocket 1.0 | Yes | No
JSR 353 | Java API for JSON Processing 1.0 (JSON-P) | No | Yes, eg JSON-P reference implementation
JSR 318 | Interceptors 1.2 | No | Yes as part of a CDI implementation

### Jetty EE 6 Web Profile

Here is the matrix of JSRs for Java EE 6 Web Profile, and how they relate to Jetty:

Table 1.3. Java EE 6 Web Profile

JSR | Name | Included with jetty-9.0.x | Pluggable
--- | --- | --- | ---
JSR 315 | Servlet Specification API 3.0 | Yes |
JSR 314 | JavaServer Faces 2.0 (JSF) | No | Yes, for example, Mojarra or MyFaces
JSR 245 | JavaServer Pages 2.2/Java Expression Language 2.2 (JSP/EL) | Yes | Yes
JSR 52 | Java Standard Tag Library 1.2 (JSTL) | Yes | Yes
JSR 45 | Debugging Support for Other Languages 1.0 | Yes (via JSP) | Yes (via JSP)
JSR 299 | Contexts and Dependency Injection for the Java EE Platform 1.0 (Web Beans) | No | Yes, Weld or OpenWebBeans
JSR 330 | Dependency Injection for Java 1.0 | No | Yes as part of a CDI implementation, Weld
JSR 316 | Managed Beans 1.0 | No | Yes, as part of another technology.
JSR 318 | Enterprise JavaBeans 3.1 | No | Yes, OpenEJB
JSR 317 | Java Persistence 2.0 (JPA) | No | Yes, Hibernate
JSR 250 | Common Annotations for the Java Platform | Yes | Partially (for non-core Servlet Spec annotations)
JSR 907 | Java Transaction API (JTA) | Yes | Implementations are pluggable, such as Atomikos, JOTM, Jencks (Geronimo Transaction Manager)
JSR 303 | Bean Validation 1.0 | No | Yes as part of another technology (JSF), or a stand-alone implementation such as Hiberate Validator

Previous | Top | Next
What Version Do I Use? | Home | Finding Jetty in Maven

See an error or something missing? Contribute to this documentation at Github!(Generated: 2019-09-26)