Java 未找到Servlet 404错误

Java 未找到Servlet 404错误,java,xml,servlets,Java,Xml,Servlets,我试图从html表单中调用一个servlet。我的web.xml文件具有: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http:

我试图从html表单中调用一个
servlet
。我的
web.xml
文件具有:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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" id="WebApp_ID" version="3.0">
<display-name>apphome</display-name>
 <servlet>
    <display-name>ControllerServlet</display-name>
    <servlet-name>ControllerServlet</servlet-name>
    <servlet-class>com.main.servlets.Controller</servlet-class>
 </servlet>
 <servlet-mapping>
    <servlet-name>ControllerServlet</servlet-name>
    <url-pattern>/Controller</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
    <welcome-file>home.html</welcome-file>
</welcome-file-list>

apphome
控制器服务器
控制器服务器
com.main.servlets.Controller
控制器服务器
/控制器
home.html

我的
servlet
位于
src/com/main/servlets/Controller
我的表单操作是“ControllerServlet” 我的控制器类中没有任何注释


当我提交表单时,我得到一个404。知道我遗漏了什么吗?

servlet被映射到url模式
/Controller
。因此,到达这个servlet的唯一URL是
http://localhost:8080/apphome/Controller

使用以下方法:

在控制器指定servlet容器之前,这里有一个额外的servlet
你需要把这个挂起来

你点击的URI是什么?试试看…你已经把
/Controller
作为你的url模式…,那么为什么点击
/ControllerServlet
?发布servlet impl的代码,没有它很难告诉你你缺少了什么。所以我的表单操作应该是“/Controller”
/Controller
,这是一个绝对路径。例如,作为相对路径,从
home.html
,它应该是
Controller
(不带斜杠)。好的,当我提交表单时,我被引导到:(现在我在Controller类上得到一个500错误的ClassNotFoundException。您的表单操作应该使用正确的相对路径,或者使用一个带有上下文路径前缀的绝对路径(
${pageContext.request.contextPath}/Controller
),或使用JSTL的绝对路径(
)。到目前为止,最后一个是我的首选解决方案。关于错误500,这是另一个问题,表明缺少一个类。您可能忘记了向WEB-INF/lib添加库。缺少的类的名称应该告诉您是哪个类。