| Java SE/JDK版本 | Java EE版本 | Servlet版本 | 发布时间 |
|---|---|---|---|
| / | / | Servlet 1.0 | (1997年6月) |
| JDK1.1 | / | Servlet 2.0 | / |
| / | / | Servlet 2.1 | (1998年11月) |
| JDK1.2 | J2EE 1.2 | Servlet 2.2 | (1999年12月12日) |
| JDK1.2 | J2EE 1.3 | Servlet 2.3 | (2001年9月24日) |
| JDK1.3 | J2EE 1.4 | Servlet 2.4 | (2003年11月11日) |
| JDK1.5 | Java EE 5 | Servlet 2.5 | (2006年5月11日) |
| JDK1.6 | Java EE 6 | Servlet 3.0 | (2009年12月10日) |
| / | Java EE 7 | Servlet 3.1 | (2013年5月28日) |
| / | Java EE 8 | Servlet 4.0 | (2017年8月31日) |
| / | Jakarta EE8 | Servlet 4.0 | (2019年8月26日) |
由上表可知Java EE并不是Java SE的一部分(JDK不自带),Java EE的版本也不完全是对应了JDK版本,我们通常最为关注的是Java EE对应的Servlet版本。不同的Servlet版本有着不一样的特性,Servlet容器(如GlassFish/Tomcat/Jboss)也会限制部署的Servlet版本。Java流行的Spring MVC(基于Servlet机制实现)、Struts2(基于Filter机制实现)等Web框架也是基于不同的Java EE版本封装了各自的框架。
Servlet 3.0 规范、Servlet 3.1 规范、Servlet 4.0 规范
