管理员删除商品(图书、服装、电器、零食)
【要删除商品时只需要给出相应商品的ID(主键)即可】
先上本人的项目相应图片:
功能描述:
当以管理员的身份登录时,页面跳转到相应的管理商铺(shopkeeper.jsp)的页面(有关管理员和普通用户身份的验证请参看本人的其他博客),点击“删除图书、删除服装、删除电器、删除零食”都会跳转到填写要增加的商品信息的deleteproduct.jsp页面,在该页面的form表单中填写要删除的商品的ID,然后点击“删除”按钮将相应的信息提交给form表单对应的action“deleteProduct.do(DeleteProductServlet)”,在DeleteProductServlet中获取表单提交的信息,调用*DaoImpl的deleteX()方法进行数据库记录删除的操作,然后进行页面跳转,如若删除成功跳转到ok.jsp,否则删除到fail.jap。
实现类:
shopkeeper.jsp
deleteproduct.jsp(删除商品信息页)
ok.jsp(提示操作成功)
failjsp(提示操作失败)
DeleteProductServlet.java(获得要删除的商品ID,调用数据库操作并进行页面跳转)
BookDaoImpl.java(接口BookDao.java)(定义一个方法实现将要删除的图书从数据库的删除)
ClothesDaoImpl.java(接口ClothesDao.java)(定义一个方法实现将要删除的服装从数据库的删除)
ElectricDaoImpl.java(接口ElectricDao.java)(定义一个方法实现将要删除的电器从数据库的删除)
SnacksDaoImpl.java(接口SnacksDao.java)(定义一个方法实现将要删除的零食从数据库的删除)
代码:
shopkeeper.jsp参看“网上商城—管理员增加商品 http://blog.csdn.net/lmb55/article/details/45288321”
deleteproduct.jsp(删除商品信息页)
<form method="post" action="deleteProduct.do" >
<table>
<tr>
<td class="field">商品ID:</td>
<td><input class="text" type="text" name="id" /></td>
</tr>
<tr>
<td><label class="ui-blue"><input type="submit" name="submit" value="删除圖書" /></label></td>
<td><label class="ui-blue"><input type="submit" name="submit" value="删除服裝" /></label></td>
<td><label class="ui-blue"><input type="submit" name="submit" value="删除電器" /></label></td>
<td><label class="ui-blue"><input type="submit" name="submit" value="删除零食" /></label></td>
</tr>
</table>
</form>
DeleteProductServlet.java(获得要删除的商品ID,调用数据库操作并进行页面跳转)
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ymw.dao.BooksDao;
import com.ymw.dao.BooksDaoImpl;
import com.ymw.dao.ClothesDao;
import com.ymw.dao.ClothesDaoImpl;
import com.ymw.dao.ElectricDao;
import com.ymw.dao.ElectricDaoImpl;
import com.ymw.dao.SnacksDao;
import com.ymw.dao.SnacksDaoImpl;
import com.ymw.domain.Product;
public class DeleteProductServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Product product=new Product();
//获取addproduct.jsp表单中用户输入的信息
String submit=request.getParameter("submit");
System.out.println(submit);
String id=request.getParameter("id");
System.out.println("要删除的商品为:"+id);
//将从前台表单中获取得值放进product对象中
product.setId(Integer.parseInt(id));
//判斷ddd的值並調用相應的方法
if (submit.contains("圖書")) {//删除圖書
//将用户输入的信息添加到数据库並進行頁面跳轉
BooksDao booktDao=new BooksDaoImpl();
booktDao.deleteBook(product);
request.getRequestDispatcher("deleteproduct.jsp").forward(request, response);
}else if (submit.contains("服裝")) {//删除服裝
//将用户输入的信息添加到数据库並進行頁面跳轉
ClothesDao clothesDao=new ClothesDaoImpl();
clothesDao.deleteClothes(product);
request.getRequestDispatcher("deleteproduct.jsp").forward(request, response);
}else if (submit.contains("電器")) {//删除電器
//将用户输入的信息添加到数据库並進行頁面跳轉
ElectricDao productDao=new ElectricDaoImpl();
productDao.deleteElectric(product);
request.getRequestDispatcher("deleteproduct.jsp").forward(request, response);
}else if (submit.contains("零食")){//删除零食m
//将用户输入的信息添加到数据库並進行頁面跳轉
SnacksDao productDao=new SnacksDaoImpl();
productDao.deleteSnack(product);
request.getRequestDispatcher("deleteproduct.jsp").forward(request, response);
}
}
}
BookDaoImpl.java(接口BookDao.java)(定义一个方法实现将要删除的图书从数据库的删除)
(本文只给出deleteBook()方法,deleteClothes()、deleteElectric()、deleteSnack()只有sql语句中执行的表不一样,其余都一样)
@Override
public String deleteBook(Product product) {
Connection connection = DBUtil.getConnection();
PreparedStatement preparedStatement = null;
try {
String sql = "delete from books where id=?;";
preparedStatement = connection.prepareStatement(sql);
//綁定參數
preparedStatement.setInt(1,product.getId());
preparedStatement.executeUpdate();
} catch (SQLException e) {
throw new DataBaseException();
} catch (Exception e) {
e.printStackTrace();
} finally {
}
return "ok";
}
写博客会上瘾……