有人可以解释一下此选项的目的以及它的确切用途。
看来我的eclipse安装上的默认设置是3.0,但不会在Tomcat 5.5服务器上运行,而可能不在Tomcat 6.0上运行。它是否与Tomcat服务器支持的servlet规范有关?如果是这样,我需要为Tomcat 5.5和Tomcat 6.0使用哪个版本?
而且,我认为我使用的编译器版本与所选的Web模块版本之间存在联系。是否有某种文档解释这种关系是什么?
而且,为什么如果我选择v2.4 Web模块,它默认为JDK 1.4?
谢谢
该版本与Servlet API版本相关。Servlet 3.0(作为Java EE 6的一部分于2009年12月发布)仅在Servlet 3.0容器(Tomcat 7,Glassfish 3,JBoss AS 6等)上运行。Servlet 2.5(作为Java EE 5的一部分于2006年5月11日发布)仅在Servlet 2.5容器或更高版本(Tomcat 6,Glassfish 2,JBoss AS 5等)上运行。Servlet 2.4(作为J2EE 1.4的一部分于2003年11月发布)仅在Servlet 2.4容器或更高版本的容器上运行,等等。
您只需要选择想要在其中实现webapp的API版本即可。或者,如果您没有选择使用的servlet容器的自由,那么请选择最适合servlet容器版本的API。
至于为什么JDK默认为一个或另一个,这只是所讨论的Servlet API版本的最低JDK要求。通常,当您选择一个较旧的Servlet API时,实际上使用的JRE / JDK也是如此。