我的servlet引擎有问题,即Tomcat。我使用Windows-7作为我的操作系统。我已将Tomcat安装到此文件夹C:\ Program Files(x86)\ Apache Software Foundation \ Tomcat 6.0。
我已将classpath设置为以下内容:
C:> SET CLASSPATH =“C:\ Program Files(x86)\ Apache Software Foundation \ Tomcat 6.0 \ lib \ servlet-api.jar”
为了运行servlet应用程序,我编译了我的servlet程序并生成了类文件。我可以轻松编译我的程序并获取类文件。
但是当我尝试运行tomcat http://localhost:8080/时,它会给我状态代码404 - File not found ..为什么呢?
谢谢..
答案 0 :(得分:2)
设置CLASSPATH是不必要的,甚至是不合需要的。我在我使用的任何机器上都没有CLASSPATH环境变量。 Tomcat知道servlet.jar的位置。您的应用程序需要它才能编译,但正确的做法是使用-classpath命令行选项包含该JAR。
你的servlet是否在包中? Tomcat不允许servlet或类不在包中。
您是否将servlet打包成WAR文件?那将是一个好主意。使用标准目录结构,将servlet .class文件放在WEB-INF / classes目录中,创建一个描述servlet的web.xml文件,并将所有文件打包成WAR。
您应该仔细检查this。
如果您创建了一个foo.war文件,并将其放在Tomcat / webapps目录中,您将使用以下URL访问它:
http://localhost:8080/foo/<servlet-name-here>
HTTP 404表示您未正确注册您的网络应用程序。 Web服务器/ Tomcat无法将资源与您提供的URL相关联。
答案 1 :(得分:1)
这篇文章不是一致的:
为了运行servlet应用程序,我编译了我的servlet程序 生成了类文件。我可以轻松编译我的程序并得到一个 类文件。
您需要创建一个WAR
,即一个带有关联Web描述符的Web应用程序,以便部署您的servlet。
但是当我尝试运行tomcat http://localhost:8080/时,它给了我 状态代码404 - 文件不
你在说哪个文件?这是Tomcat的Web管理界面的URL