【发布时间】:2010-10-25 23:48:40
【问题描述】:
我已经安装了jdk1.6.0_13,但是当我尝试查找javax.servlet 包,或者在Servlet 之后在Eclipse 中按Ctrl+Space 时,我无法获取任何事物。我在哪里可以下载这个包,为什么它没有包含在开发者的标准分发中?
【问题讨论】:
我已经安装了jdk1.6.0_13,但是当我尝试查找javax.servlet 包,或者在Servlet 之后在Eclipse 中按Ctrl+Space 时,我无法获取任何事物。我在哪里可以下载这个包,为什么它没有包含在开发者的标准分发中?
【问题讨论】:
如果您有带有 Glassfish 的 Java EE JDK,它位于 glassfish3/glassfish/modules/javax.servlet-api.jar。
【讨论】:
Joachim Sauer 的回答更详细一点:
至少在 Ubuntu 上,元包 tomcat6 依赖于元包 tomcat6-common(和其他),元包 libtomcat6-java 依赖于包 libservlet2.5-java(和其他) .其中包含文件/usr/share/java/servlet-api-2.5.jar 和/usr/share/java/jsp-api-2.1.jar,它们是您需要的servlet 和JSP 库。因此,如果您已经通过 apt-get 或 Ubuntu 软件中心安装了 Tomcat 6,那么您已经拥有了这些库;剩下的就是让 Tomcat 在您的项目中使用它们。
将库 /usr/share/java/servlet-api-2.5.jar 和 /usr/share/java/jsp-api-2.1.jar 放在类路径上,如下所示:
对于所有项目,通过选择 Window -> 配置 Eclipse Preferences -> Java -> Installed JREs,然后选择您要使用的 JRE 使用,按 Edit,然后按 Add External JARs,然后按 从上面给出的位置选择文件。
只需一个 项目,通过右键单击项目资源管理器中的项目 窗格,然后选择 Properties -> Java Build Path,然后按 添加外部 JAR,然后从位置选择文件 上面给出的。
进一步说明 1:这些是用于 Tomcat 6 的这些库的正确版本;对于其他 Tomcat 版本,请参阅页面 http://tomcat.apache.org/whichversion.html 上的表格,尽管我认为每个 Tomcat 版本都包含适合它的这些库的版本。
进一步说明 2:包 libservlet2.5-java 的描述 (dpkg-query -s libservlet2.5-java) 说:“Apache Tomcat 实现了来自 Sun Microsystems 的 Java Servlet 和 JavaServer Pages (JSP) 规范,并提供了一个用于运行 Java 代码的“纯 Java”HTTP Web 服务器环境。这个包包含 Java Servlet 和 JSP 库。'
【讨论】:
Eclipse 和 Java EE web 应用程序的正常过程是安装 servlet 容器(Tomcat、Jetty 等)或应用程序服务器(Glassfish(捆绑在“Sun Java EE”下载中)、JBoss AS、WebSphere、Weblogic等)并使用 Servers 视图中的(内置)插件将其集成到 Eclipse 中。
在创建新的动态 Web 项目向导期间,您可以从列表中选择集成服务器。如果您碰巧有一个没有服务器的现有 Dynamic Web 项目,或者想要更改关联的,那么您需要在项目属性的 Targeted Rutimes 部分中对其进行修改.
无论哪种方式,Eclipse 都会自动将必要的特定于服务器的库放置在项目的类路径(构建路径)中。
您绝对应该绝不将特定于服务器的库提取并复制到/WEB-INF/lib 或更糟的是自己的JRE/lib,以“修复”Eclipse 中的编译错误。它会使您的 web 应用程序绑定到特定的服务器,因此完全不可移植。
【讨论】:
这些类通常是 servlet.jar 的一部分
http://www.java2s.com/Code/Jar/wsit/Downloadservletjar.htm
【讨论】:
javax.servlet 是一个包,它是 Java EE(Java 企业版)的一部分。您已经获得了适用于 Java SE(Java 标准版)的 JDK。
例如,您可以使用the Java EE SDK。
其他简单的 servlet 容器(例如 Apache Tomcat)也附带此 API(查找 servlet-api.jar)。
【讨论】:
您是否安装了J2EE?如果您只安装 de standard (J2SE),它将找不到。
【讨论】: