HTTP状态404-在使用Tomcat的Eclipse上
我正试图用Eclipse在本地Tomcat上运行一个servlet 但我不断地遇到这个错误,不知道该怎么做。 我实际上是在这里录的: 非常感谢 我还将web.xml更改为:HTTP状态404-在使用Tomcat的Eclipse上,eclipse,servlets,tomcat7,Eclipse,Servlets,Tomcat7,我正试图用Eclipse在本地Tomcat上运行一个servlet 但我不断地遇到这个错误,不知道该怎么做。 我实际上是在这里录的: 非常感谢 我还将web.xml更改为: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://java.sun.com/xml/ns/java
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID"
version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >
<display-name>
TEST3
</display-name>
<welcome-file-list>
<welcome-file>
TEST3
</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>
helloServlet
</servlet-name>
<servlet-class>
HelloServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
helloServlet
</servlet-name>
<url-pattern>
/hello
</url-pattern>
</servlet-mapping>
</web-app>
测试3
测试3
helloServlet
HelloServlet
helloServlet
/你好
我看到了你的链接
当您运行任何动态web项目时。默认情况下,Servlet
container(在本例中是Tomcat)搜索wel-come列表中指定的文件。检查您的web.xml
,它应该包含如下条目
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
您尚未从上述任何列表创建文件。那么,跑步
http://localhost:8080/TEST2
将显示404错误
而是运行:http://localhost:8080/TEST2/HelloSerlvet
将调用您创建的servlet
编辑:检查eclipse的项目菜单,并验证是否选中了“自动构建”以及Servlet容器是否正在运行(http://localhost:8080
)
编辑2:右键单击项目-->属性,选择Java生成路径-->源选项卡-->更改默认输出文件夹。创建/WEB-INF/classes
在
/WebContent
(eclipse中的默认设置)下,这是基于Hardik Mishra的回答,并有一些要点:
1.从文件资源管理器(不是从Eclipse),在/WebContent下手动创建“/WEB-INF/classes”
2.右键单击项目-->属性,选择Java生成路径-->源选项卡-->将默认输出文件夹更改为刚才创建的文件夹。
3.转到文件资源管理器,而不是从Eclipse,因为Eclipse“项目资源管理器”可能有一些过滤器不显示classes文件夹。您应该可以看到在此目录下编译的.class文件
再试试看。如果它不起作用,请重新启动Eclipse一次,然后它就会起作用。我已经看到这些类型的问题很长一段时间了,并且已经看到了多种解决方案,其中一些解决方案有效,而其他解决方案仍然面临相同的问题 其中一个简单的解决方案是遍历到.java/.jsp/等,右键单击并选择从服务器运行选项 我发现这个解决方案是一种简单而有效的运行方式 路径Java Resource->src->->->example.Java-->右键单击-->运行方式-->在服务器上运行 即使在这之后,您也可能会遇到一些问题,例如端口8005不可用,请按照下面的链接清除当前的Apache设置并重新设置
希望这个发现有帮助。通常,当您修改web.xml文件时,应该“清理”Tomcat。只需在Eclipse中右键单击Tomcat并清除。对项目也要这样做。您还可以停止Tomcat,从Tomcat中删除应用程序(右键单击Tomcat下的应用程序并删除),然后将其重新添加。重新启动Tomcat。Servlet是否有包,如果是,则在web.xml中写入完全限定的类名。它位于“默认包”中。但是,即使我在包“test.servlet”中创建它,并将“test.servlet.HelloServlet”作为类名称放在web.xml中,它也会产生相同的错误。请参阅我附加的web.xml-当我键入“”时,它会产生相同的错误。我认为该类根本没有部署到正确的位置,但我不知道该怎么办?抱歉,我尝试了所有方法,但仍然没有成功。在“构建路径上的源文件夹”下,我必须将什么作为构建路径放在顶部,在“默认输出文件夹”下,我应该将什么放在顶部。我应该检查“允许输出文件夹作为源文件夹”吗?请仔细阅读。我已经提到创建新文件夹。在Edit 2yes中,我还创建了classes文件夹->我在顶部添加了屏幕,每当我在/Library/Tomcat/test2/web-inf/classes下检查终端中的classes文件夹时,它都是空的。HelloServlet类不应该部署在那里吗?还是我误解了?