<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<!--

    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<head>
<style type="text/css">
	body{margin-top:0}
	body,td,p,div,span,a,ul,ul li, ol, ol li, ol li b, dl,h1,h2,h3,h4,h5,h6,li {font-family:geneva,helvetica,arial,"lucida sans",sans-serif; font-size:10pt}
	h1 {font-size:18pt}
	h2 {font-size:14pt}
	h3 {font-size:12pt}
	code,kbd,tt,pre {font-family:monaco,courier,"courier new"; font-size:10pt;}
	li {padding-bottom: 8px}
	p.copy, p.copy a {font-family:geneva,helvetica,arial,"lucida sans",sans-serif; font-size:8pt}
	p.copy {text-align: center}
	table.grey1,tr.grey1,td.grey1{background:#f1f1f1}
	th {color:#ffffff; font-family:geneva,helvetica,arial,"lucida sans",sans-serif; font-size:12pt}
	td.insidehead {font-weight:bold; background:white; text-align: left;}
	a {text-decoration:none; color:#3E6B8A}
	a:visited{color:#917E9C}
	a:hover {text-decoration:underline}
</style>
<title>GlassFish Server 5.1 - Features and Resources</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#594fbf" vlink="#1005fb" alink="#333366">
<table width="100%" border="0" cellspacing="4" cellpadding="2">
<tbody>
<tr><td align="right" valign="top"><a href="http://www.oracle.com">oracle.com</a></td></tr>
<tr><td align="left" valign="top" bgcolor="#587993"><font color="#ffffff"><b>GlassFish Server 5.1</b></font>&nbsp;</td></tr>
</tbody>
</table>  <h1>Features and Resources </h1>
<p>GlassFish Server 5.1 provides a server for the development and 
deployment of Java&trade; Platform Enterprise Edition (Java EE) 
and dynamic, scalable HTML5 applications. Key features include 
Servlet 4.0 to support HTTP/2, support for Java SE 8 and
updates to some important web standards.</p>
<p>This page contains the following topics:</p>
<ul><li><a href="#key-features">Key Features</a></li>
<li><a href="#resources">Resources</a></li></ul>
<h2><a name="key-features"></a>Key Features</h2>
<h3>Java EE Support</h3>
<p>GlassFish Server supports Java EE 8, which provides the foundation 
for delivering dynamic, scalable HTML5 applications. Java EE 8 augments 
support for HTML5 applications by adding support for server-sent events, 
standardized binding between JSON text and Java objects, HTTP/2 support 
and improvements to the Java API for WebSocket and the Java API for JSON 
Processing. Java EE 8 aligns with Java SE 8 so that developers will be 
able to take advantage of new features such as repeating annotations, 
lambda expressions, the Date/Time API, type annotations, Completable Futures etc.</p>
<p>Java EE 8 and GlassFish Server 5.1 include the following new and updated Java EE standards:</p>
<dl><dt><b>New or Significant Updates</b></dt><dd><ul>
<li>Java API for JSON Binding (JSON-B) 1.0</li>
<li>Java EE Security 1.0</li>
</ul></dd>
<dt><b>Updated</b></dt><dd><ul>
<li>Java Servlet 4.0</li>
<li>Java API for RESTful Web Services (JAX-RS) 2.1</li>
<li>Java API for JSON Processing (JSON-P) 1.1</li>
<li>Contexts and Dependency Injection for Java EE (CDI) 2.0</li>
<li>Bean Validation (BV) 2.0</li>
<li>Java Server Faces (JSF) 2.3</li>
<li>Interceptors 1.2</li>
<li>Java Persistence API (JPA) 2.2</li>
<li>JavaMail 1.6</li>
</ul></dd></dl>
<p>For a complete list of the Java EE technologies included, see 
the <a href="https://javaee.github.io/glassfish/documentation"><cite>Release Notes</cite></a>.</p>
<p>Discussion within the GlassFish community is conducted through the 
<a href="https://javaee.groups.io/g/glassfish/">groups.io</a> channel.</p>
<h2><a name="resources"></a>Resources</h2>
<h3>GlassFish Community</h3>
<p>GlassFish Server is based on the source code that is developed 
through the <a href="https://github.com/eclipse-ee4j/glassfish">GlassFish</a> open source 
GitHub project and community. The GlassFish community is building an open 
source application server which implements the newest features in 
the Java EE platform.</p>
<h3>Oracle Technology Network</h3>
<p>For further help and to keep on top of the latest developments, 
join the <a href="http://www.oracle.com/technetwork/index.html">Oracle Technology Network</a>.</p>
<h3>Release Notes, Product Documentation, and Other Information</h3>
<p>The <cite>Release Notes, Installation Guide</cite>, 
and other product documentation are available on the 
<a href="https://javaee.github.io/glassfish/documentation">GlassFish Product Documentation</a> page.</p>
<!--
<p>Data sheets, news, white papers, and other information are available at the 
<a href="http://www.oracle.com/us/products/middleware/cloud-app-foundation/glassfish-server/overview/index.html">Oracle GlassFish Server</a> product page.</p>
<hr style="width: 80%; height: 2px;">
<p class="copy"><a href="http://www.oracle.com/corporate/">Company Info</a> &nbsp;&nbsp;|&nbsp;&nbsp; <a href="http://www.oracle.com/corporate/contact/">Contact</a> &nbsp;&nbsp;|&nbsp;&nbsp; Copyright &copy; 2010, 2017 Oracle Corporation &nbsp;&nbsp;|&nbsp;&nbsp; <a href="./copyright.html">Legal Notices</a></p>
-->
</body>
</html>
