2

我的 GlassFish 3.1.2 Web 服务器与 Java SE 1.6 一起正常工作,用于常规 Java POJO。JAVA_HOME、JAVA_PATH 和 JRE_HOME 变量设置正确。我正在使用Linux CentOS6.2,我正在从vi 和命令行执行所有java 工作(例如,没有框架或工具,如Spring、Eclipse 等)。

现在我想使用 Java Servlet,但出现以下错误:

package javax.servlet.http does not exist

我假设由于我的环境路径设置正确,因此在编译期间可以看到 servlet 文件。显然情况并非如此。

有谁知道如何解决这个错误?如果要在我的 linux 目录上四处寻找,我要为 servlet jar 文件查找什么文件名?任何人都知道这个文件从 JDK 1.6 的 JAVA_HOME 开始位于哪里?

或者,servlet相关的文件不是jdk 1.6的一部分,需要单独下载安装吗?

更新:

如果我locate servlet-api.jar在 linux 提示符下键入,它会返回 GlassFish 安装目录中的路径(例如~/glassfish3/glassfish/modules/javax.servlet-api.jar)。因此,如下所述,它是 GlassFish 安装的一部分。

4

3 回答 3

4

编译时需要servlet-api在类路径中,它可能与服务器一起存在,但在运行时可用(而不是在编译时)

于 2012-05-16T17:56:51.043 回答
4

servlet API 不是 Java SE 的一部分,而是 Java EE 的一部分。它不与 JDK 捆绑在一起。在 Glassfish 安装中找到 javaee jar 文件并将其放入编译类路径中。

于 2012-05-16T17:57:45.047 回答
2

确保您的类路径中有servlet-api.jar,因为它不是标准 Java SDK 的一部分。

于 2012-05-16T17:57:42.637 回答