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

Glassfish下Servlet单独运行正常但网页请求报404问题求助

问题修复方案
  • Servlet POST方法缺失
    你当前表单提交用的是post请求,你的代码中只实现了processRequest业务逻辑,但没有重写父类HttpServlet的doPost方法,导致POST请求无法被处理返回404。
    解决方法:在ThatWas类中添加如下代码:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

如果你的Servlet单独访问用的是GET请求,你也可以同步添加doGet方法调用processRequest,保证两种请求方式都能正常处理。

  • 表单action路径匹配错误
    你当前表单action填的是相对路径ThatWas,如果网页所在目录和Servlet映射路径不在同一层级,会导致请求路径拼接错误。
    解决方法:将表单的action属性修改为带项目上下文的绝对路径:
<form  name ="wow" method="post" action="${pageContext.request.contextPath}/ThatWas">
  • Servlet映射配置错误
    检查你的项目中Servlet的映射配置是否正确:

    1. 如果用web.xml配置,确保<url-pattern>的值为/ThatWas,示例配置如下:
    <servlet>
        <servlet-name>ThatWas</servlet-name>
        <servlet-class>你的完整包名.ThatWas</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ThatWas</servlet-name>
        <url-pattern>/ThatWas</url-pattern>
    </servlet-mapping>
    
    1. 如果用注解配置,确保ThatWas类上的注解为@WebServlet("/ThatWas")
  • Glassfish部署缓存问题
    如果修改完代码还是404,清空Glassfish的工作目录缓存,重新部署项目后再测试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:57:03