其中';s javax.servlet?

其中';s javax.servlet?,java,servlets,Java,Servlets,我已经安装了jdk1.6.0_13,但是当我试图找到javax.servlet包,或者在servlet之后在Eclipse中按Ctrl+Space时,我什么也得不到。我在哪里可以下载这个软件包,为什么它没有包含在开发者的标准发行版中?您安装了吗?如果您只安装了de标准(J2SE),它将找不到。javax.servlet是Java EE(Java企业版)的一部分。您已经获得了jdkforjavase(Java标准版) 你可以用一个例子 或者,简单的servlet容器(例如)也随此API一起提供(查

我已经安装了
jdk1.6.0_13
,但是当我试图找到
javax.servlet
包,或者在
servlet
之后在Eclipse中按Ctrl+Space时,我什么也得不到。我在哪里可以下载这个软件包,为什么它没有包含在开发者的标准发行版中?

您安装了吗?如果您只安装了de标准(J2SE),它将找不到。

javax.servlet
是Java EE(Java企业版)的一部分。您已经获得了jdkforjavase(Java标准版)

你可以用一个例子


或者,简单的servlet容器(例如)也随此API一起提供(查找
servlet API.jar
)。

这些类通常是servlet.jar的一部分

Eclipse和Java EE Web应用程序的正常过程是安装一个servlet容器(Tomcat、Jetty等)或应用程序服务器(Glassfish(捆绑在“Sun Java EE”下载中)、JBoss AS、WebSphere、Weblogic等),并使用Servers视图中的(内置)插件将其集成到Eclipse中

在新建动态Web项目的创建向导期间,您可以从列表中选择集成服务器。如果您碰巧有一个没有服务器的现有动态Web项目,或者想要更改关联的项目,那么您需要在项目属性的Targeted Rutimes部分对其进行修改

无论哪种方式,Eclipse都会自动将必要的特定于服务器的库放在项目的类路径(buildpath)中


您绝对不应该以任何方式将特定于服务器的库提取并复制到
/WEB-INF/lib
或更糟糕的
JRE/lib
中,以“修复”Eclipse中的编译错误。这将使您的Web应用程序绑定到特定的服务器,因此完全不可移植。

关于Joachim Sauer的回答,请再详细一点:

至少在Ubuntu上,metapackage
tomcat6
依赖于metapackage
tomcat6 common
(和其他),后者依赖于metapackage
libtomcat6 java
,后者依赖于package
libservlet2.5-java
(和其他)。其中包括文件
/usr/share/java/servlet-api-2.5.jar
/usr/share/java/jsp-api-2.1.jar
,这是您需要的servlet和jsp库。因此,如果您已经通过apt get或Ubuntu软件中心安装了Tomcat6,那么您已经拥有了这些库;剩下的就是让Tomcat在您的项目中使用它们

将库
/usr/share/java/servlet-api-2.5.jar
/usr/share/java/jsp-api-2.1.jar
放在类路径上,如下所示:

  • 对于所有项目,通过选择窗口-> 首选项->Java->已安装的JRE,然后选择要安装的JRE 使用,按Edit,然后按Add External JAR,然后按by 从上面给出的位置选择文件

  • 就为了一个 项目,在项目资源管理器中右键单击该项目 窗格,然后选择属性->Java构建路径,然后按 添加外部JAR,然后从位置选择文件 如上所述

进一步注意1:这些是用于Tomcat6的那些库的正确版本;对于其他Tomcat版本,请参见第页的表,尽管我假设每个Tomcat版本都包含适合它的这些库的版本


进一步注意2:包
libservlet2.5-java
的描述(
dpkg query-s libservlet2.5-java
)说:“ApacheTomcat实现了Sun Microsystems的java Servlet和JavaServerPages(JSP)规范,并为java代码的运行提供了一个“纯java”HTTP web服务器环境。这个包包含Java Servlet和JSP库。

如果您已经获得了带有Glassfish的Java EE JDK,它位于glassfish3/Glassfish/modules/javax.Servlet api.jar中。

关于Tomcat的小道消息刚刚挽救了这一天。谢谢+谢谢你抽出时间补充这个老问题。我正在对一些遗留软件进行故障排除,这个答案非常有用!