The Java EE 7 specification brings along an updated specification for Servlet API, which addresses some of the community-requested and industry-required changes including but not limited to the following list of changes:
Addition of the NIO API to servlet specification
Adding new protocol upgrading support for WebSockets, and so on
The next two sections cover the details of these changes and how they can be used.
Servlet 3 introduced async processing of incoming requests in which a request could be placed in a processing queue without a thread being bound to the request until the request processing is finished. In Servlet 3.1, another forward step made forward in which receiving the request data writing back the response can be done in a non-blocking, callback-oriented manner.