Tomcat servlet问题 - 找不到类

时间:2009-11-08 18:26:01

标签: java tomcat servlets

我正在尝试学习如何在Windows XP上开发一个在Apache的Tomcat服务器下运行的servlet。我正在使用Tomcat 6.0和Java SDK 1.6.0_17。我的webapp是一个简单的Hello,世界类型,我正在使用最新版本的Eclipse IDE构建。我可以在Tomcat安装中运行所有示例但是当我将我的应用程序从Eclipse导出到Tomcat webapps文件夹并尝试从我的浏览器访问它时,我收到错误指向javax.servlet.http.Servlet类的事实无法找到。我搜索了SDK树,但在名称中找不到javax的任何内容,所以我猜它不存在。

我已经用Google搜索了但是没有发现任何与这个完全相同的问题。有什么建议可以尝试吗?

2 个答案:

答案 0 :(得分:4)

servlet.jar中的Servlet类,它是Java EE(Java的“Enterprise”部分)的一部分,而不是常规的JDK发行版。它通常位于Tomcat的类路径中,因此一旦将应用程序部署到Tomcat,就很难找到它。

通常,这个jar的问题在于它通常不在Eclipse的类路径中,因此最终会出现编译时问题。

如果它在运行时在Tomcat上真的丢失了,请尝试在项目的库依赖项中挖掘它(我永远无法弄清楚Eclipse隐藏的东西)并将其复制到Tomcat安装的“common / lib”子目录中。 / p>

答案 1 :(得分:2)

它应该在Tomcat自己的类路径中的servlet-api.jar中可用,即Tomcat/lib文件夹。

如果你遇到这个特殊的错误,可能会有更多的问题。您可能将一个或多个Tomcat自己的库(Tomcat/lib中的一个文件)复制到Eclipse中,或者更糟糕的是,JDK/lib。你不应该这样做。将所有默认库保留在它们所属的位置。切勿复制/移动它们。只参考它们。

如果您想使用Eclipse开发Web应用程序,您应该至少拥有 Eclipse for Java EE Developers ,并通过Servers视图在Eclipse中集成Tomcat并创建了一个{{ 1}}其中您已选择上述集成的Tomcat实例作为默认服务器实例。

有关一起使用Eclipse和Tomcat的更多提示,您可能会发现this tutorial很有用(如果不感兴趣,您可以完全跳过并忽略JSF部分。)

编辑:我意识到Dynamic Web Project类实际上不存在。您需要javax.servlet.http.Servletjavax.servlet.Servlet。但是这在编译期间已经失败了,而不是在运行时期间,所以你的问题可能没有被描述得非常准确。