我正在尝试学习如何在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搜索了但是没有发现任何与这个完全相同的问题。有什么建议可以尝试吗?
答案 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.Servlet
或javax.servlet.Servlet
。但是这在编译期间已经失败了,而不是在运行时期间,所以你的问题可能没有被描述得非常准确。