Servlet错误HTTP状态404 - 未找到Java Tomcat

时间:2018-05-10 17:02:50

标签: java tomcat

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

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

  

HTTP状态404 - 未找到

     

输入状态报告

     

Message / 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

screenshot web file

Eclipse中的树:

screenshot directories

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

1 个答案:

答案 0 :(得分:0)

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

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