一尘不染

Eclipse中的“动态Web模块”选项

tomcat

有人可以解释一下此选项的目的以及它的确切用途。

看来我的eclipse安装上的默认设置是3.0,但不会在Tomcat 5.5服务器上运行,而可能不在Tomcat
6.0上运行。它是否与Tomcat服务器支持的servlet规范有关?如果是这样,我需要为Tomcat 5.5和Tomcat 6.0使用哪个版本?

而且,我认为我使用的编译器版本与所选的Web模块版本之间存在联系。是否有某种文档解释这种关系是什么?

编辑

而且,为什么如果我选择v2.4 Web模块,它默认为JDK 1.4?

谢谢


阅读 266

收藏
2020-06-16

共1个答案

一尘不染

该版本与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也是如此。

2020-06-16