Java Web 基础

Java EE指的是Java平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition(J2EE),2017 年的 9 月Oracle将Java EE 捐赠给 Eclipse 基金会,由于Oracle持有Java商标原因,Eclipse基金于2018年3月将Java EE更名为Jakarta EE

Java EE和Servlet版本

Java EE历史版本

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 规范

Tomcat Servlet版本

Tomcat版本 Java EE版本 Servlet版本 JSP版本 发布时间
Tomcat 5.0.0 + J2EE 1.4 Servlet 2.4 JSP 2.0 (2003年11月24日)
Tomcat 6.0.0 - Tomcat 6.0.44 Java EE 5 Servlet 2.5 JSP 2.1 (2006年5月11日 - 2007年9月11日)
Tomcat 7.0.0 - Tomcat 7.0.25 Java EE 6 Servlet 3.0 JSP 2.2 (2009年12月10日 - 2011年2月6日)
Tomcat 8.0.0 + Java EE 7 Servlet 3.1 JSP 2.3 (2013年5月28日)
Tomcat 9.0.0 + Java EE 8 Servlet 4.0 JSP 2.3 (2017年2月5日)
Tomcat 10.0.0 + Jakarta EE8 Servlet 4.0 JSP 2.3 /

参考: Web Application Specifications