我正在尝试处理表单数据并将其放在netbeans附带的数据库 derbi 中。我使用的服务器是 Glassfish 。在单击提交数据按钮填写表单后,根据操作处理程序,请求应该跟随名为 FormHandler.do 的servlet,但是当我尝试联系到页面 FormHandler.do 这是浏览器显示的错误消息:
This webpage is not found
No webpage was found for the web address:
file:///W:/UnderTest/WebApplication_GLASSFISH/src/java/FormHandler/FormHandler.do
Error 6 (net::ERR_FILE_NOT_FOUND): The file or directory could not be found.
但该文件与html文件(具有表单)位于同一目录中。这是我在表单标签中提供的网址类型:
<form method="post" action="FormHandler.do">
<b>Name:</b><input type="text" name="Name" /> <br /> <br />
<b>Email:</b><input type="email" name="Email" /> <br /> <br />
<b>Password:</b><input type="password" name="Password" /> <br /> <br />
<input type="submit" value="Register" />
这个问题可能是什么原因?
(请求进入servlet FormHandler.do 后,如果文本字段为空,则检查(根据逻辑)。如果它们为空,则转发请求显示错误的servlet,如果正确,则将该数据插入数据库并显示成功的servlet。)
答案 0 :(得分:4)
找不到网址的网页: 文件:///宽:/UnderTest/WebApplication_GLASSFISH/src/java/FormHandler/FormHandler.do
您需要通过HTTP路径访问Web资源,而不是通过本地磁盘文件系统路径访问。像:as:
http://localhost:8080/WebApplication_GLASSFISH/FormHandler.do
/WebApplication_GLASSFISH
部分是上下文路径。目前还不清楚你正在使用哪一个,但是这些信息会打印在服务器的启动日志中。像这样的东西:
INFO: WebApplication_GLASSFISH was successfully deployed in 3,770 milliseconds.
您需要确保浏览器地址栏中的网址与此匹配。
此外,HTML文件应该放在“网页”中,而不是“源包”中。将Registration.html
移动到“网页”后,可以通过
http://localhost:8080/WebApplication_GLASSFISH/Registration.html
这样,表单将提交给正确的servlet URL,假设您已经
<form action="FormHandler.do">
这一切都是微不足道的。我建议再次通过一些不错的Servlet书/教程。将鼠标放在问题下方的servlets标记上方,然后点击 info 链接以获得一个良好的起点。