我知道已经存在类似的问题,但没有解决方案对我有用。我检查了目录,我编辑了几次`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
:
Eclipse中的树:
web.xml
文件有问题吗?我在想,也许我的名字和路径不匹配,但我已经尝试解决它,不知道为什么它不起作用。
答案 0 :(得分:0)
网址格式/WorkshopForm
仅匹配确切的网址路径/WorkshopForm
。如果您希望servlet也处理更长的路径,例如/WorkshopForm/MainWorkshopForm
,则需要将URL模式更改为/WorkshopForm/*
。然后,您可以在servlet代码中调用request.getPathInfo()
以获取路径的可变部分。
另一种方法是使用一些JAX-RS框架来处理从URL路径到处理各个路径的Java方法的映射。