这是更新的函数,在productdaoimpl类里:
public int updateProduct(Product product){
int flag = 0;
DBConnect conn = null;
PreparedStatement pstmt = null;
//update statement
String sql = "update productinfo set productnumber=?,productvalue=? where productname=?";
try {
//connect DB
conn = new DBConnect() ;
pstmt = conn.getConnection().prepareStatement(sql) ;
pstmt.setString(1, product.getProductnumber());
pstmt.setString(2, product.getProductvalue());
pstmt.setString(3, product.getProductname());
//update
pstmt.executeUpdate();
flag = 1;
pstmt.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
return flag;
}
updateServlet的代码:
package jspservlet.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jspservlet.dao.ProductDAO;
import jspservlet.dao.impl.ProductDAOImpl;
import jspservlet.vo.Product;
public class ProductUpdateServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException{
this.doPost(req, res);
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException{
Product product = new Product();
product.setProductname(req.getParameter("productname"));
ProductDAO dao=new ProductDAOImpl();
int flag = 0;
int flag2 = 1;
try {
flag2 = dao.queryByProductName(product);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (flag2 == 1) {
res.sendRedirect("./errorRegister.jsp");
} else {
try {
flag = dao.updateProduct(product);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if( flag == 1) {
//session是干嘛的?
HttpSession session = req.getSession();
session.setAttribute("productname", product.getProductname());
res.sendRedirect("./success.jsp");
} else {
res.sendRedirect("./error.jsp");
}
}
}
}
JSP页面:
<%@ page language="java" pageEncoding="GB18030"%>
Delete Product
the name of the product you want to update:
<form method="post" action="./update">
productname : <input type="text" name="productname"/><br/>
<p>the number and price of the product you want to change to:</p>
productnumber : <input type="text" name="productnumber"/><br/>
productvalue : <input type="text" name="productvalue"/><br/>
<input type="SUBMIT" name="submit" value="Submit">
</form>
</body>