【发布时间】:2015-11-02 11:33:23
【问题描述】:
我有两个 servlet BookSaleAuction 和 MemberServlet 以及一些用于插入和更新为 index.jsp 和 MemberDetailUpdate.jsp 的 jsp 文件和
在 MemberDetailUpdate.jsp 中
<form method= "post" action="/booksaleauction">
UserName : <input type="text" name="name" value="<%=editname%>">
Address : <input type="text" name="address" value="<%=address%>">
Contact : <input type="tel" name="contactNo" value="<%=contact%>">
Email : <input type="email" name="email" value="<%=editemail%>">
<input type="hidden" name="id" value="<%=editID%>">
<input type="hidden" name="formAction" value="update">
<input type="submit" name="Update">
</form>
在 BookSaleAuctionServlet 中
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String form = request.getParameter("formAction");
System.out.print(form);
}
在 MemberServlet 中
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.print("into member servlet ");
String name = request.getParameter("name");
String address = request.getParameter("address");
String contact = request.getParameter("contactNo");
String email = request.getParameter("email");
String id = request.getParameter("id");
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Class not found " + e);
}
System.out.println("JDBC Class found");
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
Statement st = null;
try {
con = DriverManager.getConnection("jdbc:mysql://localhost/logins", "root", "");
String sql = "UPDATE members SET username=?, email=?, contact=?, address=? WHERE id=?";
// ps = con.prepareStatement("UPDATE Users SET password=?, fullname=?, email=? WHERE id=id");
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, name);
statement.setString(2, email);
statement.setString(3, contact);
statement.setString(4, address);
int rowsUpdated = statement.executeUpdate();
if (rowsUpdated > 0) {
System.out.println("An existing user was updated successfully!");
}
} catch (SQLException e) {
System.out.println("SQL exception occured" + e);
}
try {
request.getRequestDispatcher("MemberDetail.jsp").forward(request, response);
} catch (Exception e) {
System.out.println("SQL exception occured" + e);
}
在两个 servlet 中,只要在 jsp 中完成更新,就没有任何进一步的操作正在完成。即使我将操作和方法更改为从另一个 servlet BookSaleAuction 运行,它也不适用于表单。请帮助我不知道我犯了什么错误。
【问题讨论】: