This is something that the JSF expert group have wanted for some time, and they have proposed an API which has been implemented in Tomcat with some tweaks, and is currently being implemented in Jetty. Under discussion is access to how a request was mapped to the current Servlet - i.e if it mapped using extension mapping, path mapping, and/or which part of the URL actually matched to the wildcard in that mapping. "It’s there so you can work with HttpServletRequest HttpServletResponse in your filter rather than having to work with ServletRequest, ServletResponse and casting," Thomas said. Along similar lines, an Abstract Base class for HttpFilter has been introduced which is a direct counterpart to HttpServlet.
Servlet 4.0 also includes a number of default NO-OP methods for listeners to reduce the amount of boiler-plate code you need to write. Really the only place the application will get involved with HTTP/2 is on push requests." The API for this has been agreed by the expert group and has been implemented already in Tomcat 9. In terms of the agreed elements of Servlet 4.0 HTTP/2 support will be included, though Thomas pointed out that "the application isn’t going to see it. "Really this falls into three categories: the stuff the expert group has already broadly agreed, the stuff it is sort of working on, and some possible future plans," Thomas said. In terms of the roadmap, Tomcat 9 will add support for Servlet 4.0.
He stressed that the presentation represents his personal view on the future of Tomcat and is therefore not necessarily representative of the views of either the Apache Software Foundation or Pivotal. Thomas, a consultant software engineer at Pivotal, has been an Apache Tomcat committer since 2003.
Mark Thomas ( gave an update on the Apache Tomcat roadmap on the first day of the SpringOne Platform conference in Las Vegas this week, in which he brought up the fact that ongoing delays to Java EE 8, something we've highlighted on InfoQ before, are also causing problems for the Apache Tomcat team.