Servlet 4.0

The Servlet API is one of the most used API, if not the most used API of the Java EE Platform! It was revised for Java EE 7, Servlet 3.1 (JSR 340) added quite some new capabilities such as support for the HTTP 1.1 upgrade mechanism (required for supporting WebSocket for example), non-blocking asynchronous IO, various security related improvements and so on. Shing Wai Chan (Spec Lead of Servlet 3.1) has just posted a draft proposal for the Servlet 4.0 JSR.

Moving from 3.1 to 4.0 clearly means that this will be a major revision of the Servlet specification and it has a key theme, i.e. HTTP/2. It will be the first new version of the HTTP protocol since the current version (HTTP 1.1) which was standardized ... end of the last century (RFC 2616)! HTTP/2 will bring many improvements over HTTP/1.x. In his draft proposal, Shing Wai lists the HTPP/2 features that he expects to be exposed by the Servlet 4.0 API:

  • Request/Response multiplexing
  • Stream Prioritization
  • Server Push
  • Upgrade from HTTP 1.1 

HTTP 1.x is a fairly simple request/response protocol. Things will probably change with HTTP/2 multiplexing capabilities, so some of the paradigms we know since years will have to evolve too! And since it is not a small task to drive a major evolution of such an important API, Ed Burns will help Shing Wai and will co-lead this JSR with him.

HTTP/2 will be the key theme of Servlet 4.0 but the Expert Group will probably tackle additional capabilities.

In terms of timing, we expect Java EE 8 to support Servlet 4.0 but there is a constraint: HTTP/2 itself! At this stage, HTTP/2 is still in active development. It is however expected to be completed well in advance of the completion date of Java EE 8. In his proposal Shing Way explains why it is now relatively safe to consider adding HTTP/2 support to the Servlet API.

So make sure to check the Servlet 4.0 draft JSR proposal and give your feedback before the proposal is submitted to the JCP.

PS: you can now follow @Servlet_Spec on Twitter! 
PPS: feedback can be sent to the Servlet Spec User mailing list (registration is only required to post to the list, not to read it)


RFC 2616 is obsolete. HTTP/1.1 is now described by RFCs 7230-7235.


Posted by guest on July 25, 2014 at 08:47 AM PDT #

I sent out a tweet asking how someone can get more involved and give feedback for the 4.0 spec, but it appears the account is dead, no one replies, as far as I can tell it's a tweet bot.

So how does one give feedback so it can be taken into account for the spec?

Posted by Raul Guerrero on July 30, 2014 at 07:03 AM PDT #

HTTPbis (RFCs 7230-7235) was started in 2007. At that time, the Servlet 3.0 specification was already advanced, it was finalised in 2009.

Posted by David Delabassee on July 30, 2014 at 07:18 AM PDT #

Did you try to send comments to the servlet spec user mailing list (*) ?


Posted by David Delabassee on July 30, 2014 at 07:21 AM PDT #

Hi David, thanks for the response.

No I haven't tried the mailing list, I just read the article, I have some improvement ideas for the servlet API and the only thing that the article mentions is the twitter account. If the twitter account is ignored then it would be nice if the article mention the mailing list instead.

Posted by Raul Guerrero on July 30, 2014 at 07:24 AM PDT #

Thanks Raul for the suggestion. I have updated the post to include to mailing list.

Posted by David Delabassee on July 30, 2014 at 07:32 AM PDT #

Post a Comment:
Comments are closed for this entry.