我已经在 OSX 上的 Eclipse 中设置了一个 tomcat V8.5 服务器。我已经设置了一个默认的 servlet 来处理来自以下 html 表单的获取请求。我可以启动服务器并加载 index.html,但是每当我在表单上单击提交时,我都会收到 404 错误。此代码来自一位教授并在她的 PC 上运行,因此我假设我的服务器在 OSX 上存在设置问题。有谁知道我应该先看哪里?我的教授不愿意帮助诊断 OSX 问题。我不确定我需要提供哪些信息,很乐意向任何愿意提供帮助的人提供更多详细信息!提前致谢!
Picture of my project structure
<form action="http://localhost:8080/CyberFlix0/CyberFlixServlet" method="get">
Film Title: <input type="text" name="film_title"><br>
<input type="submit" value="Submit">
</form>
我的 doGet 函数:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
Full Servlet Code:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class CyberFlixServlet
*/
@WebServlet("/CyberFlixServlet")
public class CyberFlixServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CyberFlixServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
最佳答案
像这样更改操作标签的值:<form action="/CyberFlixServlet" method="get">
关于java - Eclipse 中的 Tomcat 服务器 : Error 404 submitting to servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945698/