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

HTML跳转Servlet时出现404错误及后续重定向问题求助

Servlet开发问题排查与解决方案

登录表单提交触发404错误

  • 现象:index.html登录表单action="LoginServ",项目中存在LoginServ.java类,但提交后返回404
  • 根因:web.xml中的Servlet映射配置与Servlet类上的@WebServlet("/LoginServlet")注解冲突——两种映射方式重复定义,导致容器无法正确识别Servlet的访问路径
  • 解决:删除web.xml内对应的Servlet映射节点,仅保留注解或XML映射其中一种方式(推荐使用@WebServlet注解,配置更直观简洁)

Servlet重定向到login.html出现404错误

  • 环境:Jakarta EE 6.0、Servlet 6.1、Apache Tomcat 10.1.24
  • 现象:HTML页面间跳转正常,执行response.sendRedirect(request.getContextPath() + "/login.html")时返回404,但response.sendRedirect("register.html?error=missingFields")可正常跳转
  • 排查及解决步骤:
    1. 验证上下文路径配置:查看Tomcat部署配置中项目的Context Path,若Context Path被设为非空值,确认request.getContextPath()返回值与实际部署路径一致;若Context Path为空,拼接后的路径为/login.html,需确保login.html在项目根目录
    2. 检查文件位置:确认login.html放置在项目的src/main/webapp(或WebApp根目录)下,而非WEB-INF目录(该目录下资源无法直接通过外部URL访问)
    3. 核对路径大小写:Tomcat在Linux/Unix环境下严格区分文件名大小写,确保代码中login.html的大小写与实际文件名完全匹配
    4. 测试相对路径:尝试改用相对路径response.sendRedirect("login.html"),若当前Servlet的映射路径与HTML文件处于同一层级,相对路径会直接生效;若Servlet在子路径下,可调整为../login.html

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:06:00