You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

使用NetBeans开发Java Web应用时遭遇HTTP 404 Not Found错误求助

嘿,我之前在NetBeans里折腾Java Web项目的时候也碰到过一模一样的404问题,给你梳理几个最可能的排查方向,应该能帮你解决:

一、先确认访问URL与项目部署路径匹配

NetBeans默认会把项目名称作为Web应用的上下文路径,比如你的项目叫JavaWebCRUD,那正确的访问前缀应该是http://localhost:8080/JavaWebCRUD/,千万别直接访问http://localhost:8080/你的页面.html——这是新手最容易踩的坑。

  • 你可以右键项目 → 选择「属性」→ 切换到「运行」标签页,就能看到当前的上下文路径,把它拼到URL前面再访问试试。
二、检查静态文件的存放位置

Java Web项目里,HTML、CSS这类静态资源必须放在指定目录:

  • 普通Web项目:放在WebContent根目录下,不能塞到src源码文件夹里,否则部署时不会被打包到war包,自然访问不到;
  • Maven项目:要放在src/main/webapp目录下。
    举个例子,如果你的Add New.html直接放在WebContent根目录,访问路径就是http://localhost:8080/上下文路径/AddNew.html(建议把文件名里的空格去掉,避免URL转义问题)。
三、排查Servlet映射的正确性

既然你的项目有增删改操作,肯定用到了Servlet,这也是404高发区:

  • 如果用注解配置Servlet,要确保@WebServleturlPatterns没写错:
@WebServlet("/addUser")
public class AddUserServlet extends HttpServlet {
    // 你的业务代码
}

对应的访问路径就是http://localhost:8080/上下文路径/addUser

  • 如果用web.xml配置映射,要保证<servlet><servlet-mapping>的名称完全对应,url-pattern路径正确:
<servlet>
    <servlet-name>AddUserServlet</servlet-name>
    <servlet-class>com.yourpackage.AddUserServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>AddUserServlet</servlet-name>
    <url-pattern>/addUser</url-pattern>
</servlet-mapping>
四、确认项目是否成功部署到服务器
  • 启动Tomcat后,去Tomcat安装目录下的webapps文件夹看看,有没有你的项目文件夹(或者war包),如果没有,说明NetBeans部署失败了,右键项目 → 「清理并构建」后再重新部署;
  • 也可以在NetBeans的「服务」窗口里,展开Tomcat服务器,看看你的项目是不是显示「已部署」状态,如果是红色叉号,右键Tomcat → 「查看日志」,里面会有具体的部署错误信息。
关于你提供的HTML代码小提醒

你贴的代码没写完,先提两个小细节:

  • <meta charset="...要补全成<meta charset="UTF-8">,避免后续出现中文乱码;
  • 如果HTML里有表单提交到Servlet,action属性的路径要和Servlet的映射一致,比如:
<form action="addUser" method="post">
    <!-- 表单元素 -->
</form>

如果用绝对路径的话要写成/上下文路径/addUser

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

火山引擎 最新活动