j2ee的包其实在tomcat的lib目录都已经包含,但是项目编译的时候需要导入j2ee的包才能编译不报错,使用myelicpse实际在项目打包部署的时候,j2ee的包是不会包含进来的,因为tomcat容器就已经有了,多了会产生冲突。
使用idea的时候也需要手动导入j2ee包的servlet-api.jar,并且设置<scope>provided</scope>,在保证项目打包的时候不包含servlet-api.jar,防止包冲突,因为tomcat容器已有。
基本上所有的框架,包括数据库驱动,还有一些容器(譬如tomcat),都需要依赖jdk,所以,一般情况下,高版本的jdk会兼容低版本的框架,数据库驱动,容器(tomcat)等,但是weblogic比较特殊,就譬如WebLogic 8 只支持 JDK 1.4, J2EE 1.3; WebLogic 9 之后才能支持 Java 5, J2EE 1.4; WebLogic 10 支持Java 6, Java EE 5。
tomcat对应的jdk版本:
Servlet Spec | JSP Spec | EL Spec | WebSocket Spec | JASPIC Spec | Apache Tomcat version | Actual release revision | Supported Java Versions |
---|---|---|---|---|---|---|---|
4.0 | TBD (2.4?) | TBD (3.1?) | TBD (1.2?) | 1.1 | 9.0.x | 9.0.0.M4 (alpha) | 8 and later |
3.1 | 2.3 | 3.0 | 1.1 | 1.1 | 8.5.x | 8.5.0 (beta) | 7 and later |
3.1 | 2.3 | 3.0 | 1.1 | N/A | 8.0.x | 8.0.33 | 7 and later |
3.0 | 2.2 | 2.2 | 1.1 | N/A | 7.0.x | 7.0.69 | 6 and later (7 and later for WebSocket) |
2.5 | 2.1 | 2.1 | N/A | N/A | 6.0.x | 6.0.45 | 5 and later |
2.4 | 2.0 | N/A | N/A | N/A | 5.5.x (archived) | 5.5.36 (archived) | 1.4 and later |
2.3 | 1.2 | N/A | N/A | N/A | 4.1.x (archived) | 4.1.40 (archived) | 1.3 and later |
2.2 | 1.1 | N/A | N/A | N/A | 3.3.x (archived) | 3.3.2 (archived) | 1.1 and later |