这是我的第一个Java EE" app"。我有点困惑...谷歌搜索后我认为我做的一切都是正确的,但如果是这样,我就不会遇到问题:)
我在save.jsp下的表单:
<body>
<form method="post" action="${pageContext.request.contextPath}/save">
<table>
<tr>
<td><label for="idTxtName" >Name:</label></td>
<td><input type="text" id="idTxtName" name="name"/></td>
</tr>
<tr>
<td><label for="idTxtSurname" >Surname:</label></td>
<td><input type="text" id="idTxtSurname" name="surname"/></td>
</tr>
... etc...
<tr>
<td></td>
<td><input type="submit" value="Save person" /></td>
</tr>
</table>
</form>
</body>
我也试过了:
form method="post" action="/save"
以及
form method="post" action="save"
我的Servlet:
package servlets;
import java.io.IOException;
import java.sql.SQLException;
import // etc
public class SaveServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// some actions
}
}
和web.xml映射:
<servlet>
<servlet-name>SavingServlet</servlet-name>
<servlet-class>servlets.SaveServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SavingServlet</servlet-name>
<url-pattern>/save</url-pattern>
</servlet-mapping>
提交我的save.jsp表单后,我看到一条经典消息:
HTTP Status 404 - /SImpleCRUD/save
type Status report
message /SImpleCRUD/save
description The requested resource is not available.
我做错了什么?我的地图不正确吗?
答案 0 :(得分:2)
有时候它会发生。你的代码没有错。但只需重新启动服务器并再次运行。可能它会正常工作。
在JSP action =&#34; SavingServlet&#34; 和 @WebServlet(&#34; / SavingServlet&#34;)在Servlet的类级别配置此批注。现在无需在 web.xml
中配置servlet答案 1 :(得分:0)
我不确定这是解决此错误的正确方法。但它对我有用。
将您的web.xml
改为喜欢这样,然后尝试
<servlet>
<servlet-name>SavingServlet</servlet-name>
<jsp-file>/save.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>SavingServlet</servlet-name>
<url-pattern>/save</url-pattern>
</servlet-mapping>
它在我的机器上工作正常。
答案 2 :(得分:0)
您的表单操作应该只有save
:
<form method="post" action="save">
没有上下文('${pageContext.request.contextPath}/
')