Recently I was comparing servlet specifications after 2.4 version, Here is a short matrix for reference
- Servlet 3.1 (JSR 340)
- Platform: JavaEE 7
- Compatible Application Server & Servlet Containers:
- New Features:
- Non Blocking IO
- HTTP protocall Upgrade
- Security Enhacements
- Release Date: April 2013
- Servlet 3.0 (JSR 315)
- Platform: JavaEE 6, JavaSE 6
- Compatible Application Server & Servlet Containers:
- New Features:
- Web Fragements
- ServletFilter Annotations
- ServletContextListener Annotations
- Filter Annotations
- Async Processing for Servlets
- Security Enhacements
- Release Date: Dec 2009
- Servlet 2.5 (JSR 154)
- Platform: JavaEE 5, JavaSE 5
- Compatible Application Server & Servlet Containers:
- New Features:
- JavaSE5 requirement
- Annotations
- web.xml Changes
- Boundary Conditions Clarifications
- Release Date: Nov 2003
Here are some great articles for further reading to get details list of features in each release.
- http://www.javaworld.com/article/2071393/java-web-development/new-features-added-to-servlet-2-5.html
- http://java.dzone.com/articles/an-overview-servlet-30
- https://blogs.oracle.com/arungupta/entry/what_s_new_in_servlet