我在OSX上的Eclipse中设置了一个tomcat V8.5服务器。我已经设置了一个默认的servlet来处理来自以下html表单的get请求。我可以启动服务器并加载index.html,但每当我单击表单上的提交时,我收到404错误。这段代码来自一位教授并在她的电脑上工作,所以我假设我在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);
}
}
答案 0 :(得分:0)
更改动作标记的值,如下所示:<form action="/CyberFlixServlet" method="get">
答案 1 :(得分:0)
使用action =“CyberFlixServlet”,如下所示
<form action="CyberFlixServlet" method="get">
Film Title: <input type="text" name="film_title"><br>
<input type="submit" value="Submit">
</form>
请确保您的项目中没有任何问题,以便检查是否有任何问题 从窗口打开问题视图 - &gt;显示视图 - &gt;问题,如果有任何错误,请修复它
如果项目中存在任何问题,eclipse将拒绝编译答案 2 :(得分:0)
我从另一篇文章中提取了这个答案,但这解决了这个问题。
这是tomcat和catalina配置文件的问题:
你要做的只是:
在eclipse中右键单击服务器tomcat 点击属性 单击开关位置,导航视图左侧将显示一个小服务器 启动服务器后双击它 然后选择使用Tomcat安装并保存 这将解决常见的404问题。