Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Servlet错误HTTP状态404–;找不到Java Tomcat_Java_Tomcat - Fatal编程技术网

Servlet错误HTTP状态404–;找不到Java Tomcat

Servlet错误HTTP状态404–;找不到Java Tomcat,java,tomcat,Java,Tomcat,我知道已经有类似的问题了,但没有一个解决方案对我有效。我检查了目录,编辑了几次我的`web.xml文件,但仍然不起作用 我正在用Java编写一个在Tomcat上运行的简单servlet,我得到了错误: HTTP状态404–未找到 类型状态报告 消息/WorkshopForm/MainWorkshopForm 说明源服务器未找到当前表示形式 对于目标资源或不愿意披露其存在 我的servlet类是: package workshop; import java.io.IOException; impo

我知道已经有类似的问题了,但没有一个解决方案对我有效。我检查了目录,编辑了几次我的`web.xml文件,但仍然不起作用

我正在用Java编写一个在Tomcat上运行的简单servlet,我得到了错误:

HTTP状态404–未找到

类型状态报告

消息/WorkshopForm/MainWorkshopForm

说明源服务器未找到当前表示形式 对于目标资源或不愿意披露其存在

我的servlet类是:

package workshop;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(description = "This registration form", urlPatterns = { 
"/WorkshopForm" })


public class WorkshopForm {
public class MyServlet extends HttpServlet implements Servlet {
    private static final long serialVersionUID = 13425L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String participantName = request.getParameter("participantName");
    String participantSurname = request.getParameter("participantSurname");
    String participantEmail = request.getParameter("participantEmail");

    PrintWriter writer = response.getWriter();
    writer.println("Welcome" + participantName + " " + participantSurname + " " + participantEmail); 
    }       
}
}

我的
web.xml

Eclipse中的树:


web.xml
文件有问题吗?我在想,也许我的名字或路径不匹配,但我已经尝试解决了,不知道为什么它不工作。

URL模式
/WorkshopForm
只匹配准确的URL路径
/WorkshopForm
。如果希望servlet也处理较长的路径,如
/WorkshopForm/MainWorkshopForm
,则需要将URL模式更改为
/WorkshopForm/*
。然后可以在servlet代码中调用
request.getPathInfo()
,以获取路径的可变部分


另一种选择是使用一些JAX-RS框架来处理从URL路径到处理单个路径的Java方法的映射。

您针对的是什么URL“MainWorkshopForm”您的代码中没有提到这个URL。你为什么期望那里有资源?