You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

表单提交触发HTTP 404错误:Inscription Servlet/JSP问题求助

解决注册表单提交时的HTTP 404错误问题

你的注册表单点击提交后出现404,核心原因是表单提交路径未匹配Web应用上下文,再加上Servlet配置重复的潜在隐患,下面一步步帮你修复:

1. 修正表单的提交路径

你表单里写的action="/inscription"是绝对路径,会直接指向服务器根目录,而不是你Web应用的上下文路径(比如你的应用部署在/sdzee-pro这类路径下)。正确的做法是用JSTL的<c:url>标签自动生成带上下文的正确URL:

修改inscription.jsp中的form标签:

<form method="post" action="<c:url value="/inscription"/>">

这样生成的路径会自动带上你的应用上下文(比如/sdzee-pro/inscription),就能精准匹配到你的Servlet了。

2. 统一Servlet的配置方式

你现在同时使用了@WebServlet("/inscription")注解和web.xml中的Servlet映射,虽然这不是404的直接原因,但可能引发配置冲突。建议二选一:

  • 偏好注解配置:直接删除web.xml里的<servlet>和<servlet-mapping>节点,@WebServlet已经足够完成映射工作。
  • 偏好XML配置:删除Servlet类中的@WebServlet("/inscription")注解,保持配置的一致性。

3. 调整doPost方法以匹配预期行为

你当前的doPost调用了doGet,提交后会转发回注册表单页面。如果想要返回空白页面,可以修改doPost方法:

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // 返回空白页面
    response.setContentType("text/html;charset=UTF-8");
    response.getWriter().write("");
}

按照以上步骤修改后,提交表单就不会再出现404错误,且能符合你预期的返回空白页面的需求。

内容的提问来源于stack exchange,提问作者Slim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:19:51