package com.shine.bookshop.servlet.admin;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.IOUtils;
import com.shine.bookshop.bean.Book;
import com.shine.bookshop.bean.Catalog;
import com.shine.bookshop.bean.PageBean;
import com.shine.bookshop.bean.UpLoadImg;
import com.shine.bookshop.dao.BookDao;
import com.shine.bookshop.dao.CatalogDao;
import com.shine.bookshop.dao.UpLoadImgDao;
import com.shine.bookshop.dao.impl.BookDaoImpl;
import com.shine.bookshop.dao.impl.CatalogDaoImpl;
import com.shine.bookshop.dao.impl.UpLoadImgDaoImpl;
import com.shine.bookshop.util.RanUtil;
import net.sf.json.JSONObject;
/**
* Servlet implementation class BookManageServlet
*/
@WebServlet("/jsp/admin/BookManageServlet")
public class BookManageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String BOOKLIST_PATH = "bookManage/bookList.jsp";// 图书列表页面地址
private static final String BOOKADD_PATH = "bookManage/bookAdd.jsp";// 图书增加页面地址
private static final String BOOKEDIT_PATH = "bookManage/bookEdit.jsp";// 图书修改页面地址
private static final String BOOKDETAIL_PATH = "bookManage/bookDetail.jsp";// 图书详情页面地址
private static final String BOOKIMGDIR_PATH="images/book/bookimg/";//图书图片保存文件夹相对路径
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getParameter("action");
switch (action) {
case "list":
bookList(request, response);
break;
case "detail":
bookDetail(request, response);
break;
case "addReq":
bookAddReq(request, response);
break;
case "add":
bookAdd(request, response);
break;
case "edit":
bookEdit(request, response);
break;
case "update":
bookUpdate(request,response);
break;
case "find":
bookFind(request, response);
break;
case "updateImg":
updateImg(request,response);
break;
case "del":
bookDel(request,response);
break;
case "batDel":
bookBatDel(request,response);
break;
case "seach":
seachBook(request,response);
}
}
private void seachBook(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
String bookname = request.getParameter("bookname");
BookDao bd = new BookDaoImpl();
PageBean pb = null;
if(bookname != null && bookname != "") {
pb = new PageBean(curPage, maxSize, bd.bookReadCount(bookname));
request.setAttribute("bookList", bd.bookList(pb,bookname));
}else {
pb = new PageBean(curPage, maxSize, bd.bookReadCount());
request.setAttribute("bookList", bd.bookList(pb));
}
request.setAttribute("pageBean", pb);
request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);
}
//图书批量删除
private void bookBatDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String ids=request.getParameter("ids");
BookDao bd=new BookDaoImpl();
UpLoadImgDao uid=new UpLoadImgDaoImpl();
File contextPath=new File(request.getServletContext().getRealPath("/"));
String imgIds=bd.findimgIdByIds(ids);//批量查询图片的id并组成一组字符串
List<UpLoadImg> list = uid.findImgByIds(imgIds);
if(bd.bookBatDelById(ids)) {
request.setAttribute("bookMessage", "图书已批量删除");
if(uid.imgBatDelById(imgIds)) {
for(UpLoadImg uli:list) {
//批量删除本地文件
File f=new File(contextPath,uli.getImgSrc());
if(f.exists()) {
f.delete();
}
}
}
}else {
request.setAttribute("bookMessage", "图书批量删除失败");
}
//用户删除成功失败都跳转到用户列表页面
bookList(request, response);//通过servlet中listUser跳到用户列表
}
//图书删除
private void bookDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("id"));
File contextPath=new File(request.getServletContext().getRealPath("/"));
BookDao bd=new BookDaoImpl();
UpLoadImgDao uid=new UpLoadImgDaoImpl();
Book book=bd.findBookById(id);
//这里先删除数据库图书信息,再删除图书图片及本地硬盘图片信息
if(bd.bookDelById(id)) {
request.setAttribute("bookMessage", "图书已删除");
if(uid.imgDelById(book.getImgId())) {
//删除本地文件
File f=new File(contextPath,book.getUpLoadImg().getImgSrc());
if(f.exists()) {
f.delete();
}
}
}else {
request.setAttribute("bookMessage", "图书删除失败");
}
//用户删除成功失败都跳转到用户列表页面
bookList(request, response);//通过servlet中listUser跳到用户列表
}
//图书更新
private void bookUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BookDao bookDao=new BookDaoImpl();
Book book=new Book();
book.setBookId(Integer.parseInt(request.getParameter("bookId")));
book.setCatalogId(Integer.parseInt(request.getParameter("catalog")));
book.setAuthor(request.getParameter("author"));
book.setPress(request.getParameter("press"));
book.setPrice(Double.parseDouble(request.getParameter("price")));
book.setDescription(request.getParameter("description"));
if(bookDao.bookUpdate(book)) {
request.setAttribute("bookMessage", "修改成功");
bookList(request, response);
}else {
request.setAttribute("bookMessage", "图片失败");
request.setAttribute("bookInfo", bookDao.findBookById(book.getBookId()));
request.getRequestDispatcher(BOOKEDIT_PATH).forward(request, response);
}
}
// 更新图书图片
private void updateImg(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
int bookId = Integer.parseInt(request.getParameter("id"));
boolean flag = false;
String imgSrc = null;
OutputStream outputStream = null;
InputStream inputStream = null;
String imgName = null;
String contentType = null;
BookDao bookDao = new BookDaoImpl();
UpLoadImgDao upImgDao = new UpLoadImgDaoImpl();
File contextPath=new File(request.getServletContext().getRealPath("/"));
File dirPath = new File( contextPath,BOOKIMGDIR_PATH);
if (!dirPath.exists()) {
dirPath.mkdirs();
}
DiskFileItemFactory dfif = new DiskFileItemFactory();
ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);
List<FileItem> parseRequest = null;
try {
parseRequest = servletFileUpload.parseRequest(request);
} catch (FileUploadException e) {
e.printStackTrace();
}
Iterator<FileItem> iterator = parseRequest.iterator();
while (iterator.hasNext()) {
FileItem fileItem =
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源包含文件:lunwen文档+项目源码及数据库文件+项目截图 本系统开发采用B/S模式,前端页面用HTML+CSS+JS+JSP编写,采用的Java开发语言,数据库采用MySQL 5.7服务程序。 普通用户:浏览商品列表,查看商品库存、加入购物车、提交订单、付款; 系统管理员:修改商品库存、添加、删除商品种类、处理订单、采购商品; 详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/123323760?spm=1001.2014.3001.5502
资源推荐
资源详情
资源评论
收起资源包目录
基于HTML+CSS+JS+JSP+Mysql的书城购书商城设计与实现.zip (272个子文件)
bootstrap.css 143KB
bootstrap.min.css 118KB
head_footer.css 2KB
booklist.css 2KB
index.css 2KB
style.css 1KB
login.css 1KB
left.css 855B
header.css 701B
userList.css 389B
userList.css 389B
user_reg_login.css 364B
详细设计说明书.doc 1.47MB
数据库设计说明书.doc 434KB
源程序代码运行结果.docx 4.09MB
界面设计报告.docx 2.98MB
测试分析报告.docx 574KB
课程设计需求分析报告.docx 407KB
概要设计说明书.docx 239KB
可行性研究报告.docx 147KB
项目开发总结报告.docx 107KB
测试计划.docx 36KB
项目开发计划.docx 27KB
glyphicons-halflings-regular.eot 20KB
validate.gif 1KB
onLoad.gif 781B
index.html 521B
mysql-connector-java-8.0.12.jar 1.93MB
mysql-connector-java-5.1.10-bin.jar 707KB
commons-collections-3.2.1.jar 562KB
jstl-1.2.jar 426KB
commons-lang-2.4.jar 256KB
commons-beanutils-1.9.2.jar 228KB
commons-io-2.5.jar 204KB
json-lib-2.3-jdk15.jar 148KB
ezmorph-1.0.6.jar 84KB
commons-fileupload-1.3.1.jar 67KB
commons-logging-1.1.3.jar 61KB
UserManageServlet.java 8KB
OrderManageServlet.java 7KB
AdminManageServlet.java 7KB
BookDaoImpl.java 6KB
OrderDaoImpl.java 6KB
OrderSubServlet.java 5KB
UserServlet.java 5KB
CatalogServlet.java 5KB
UserDaoImpl.java 4KB
AdminDaoImpl.java 4KB
DbUtil.java 4KB
CartServlet.java 3KB
ImageCode.java 3KB
ListenerCount.java 3KB
User.java 3KB
Book.java 3KB
BookList.java 3KB
CodeServlet.java 2KB
BookList2.java 2KB
CatalogDaoImpl.java 2KB
FilterLogin.java 2KB
UpLoadImgDaoImpl.java 2KB
Order.java 2KB
LoginServlet.java 2KB
PageBean.java 2KB
GetCatalog.java 2KB
Admin.java 2KB
ShopIndex.java 2KB
FilterEnconding.java 2KB
OrderDao.java 1KB
Cart.java 1KB
bookdetailed.java 1KB
UpLoadImg.java 1KB
BookDao.java 1KB
OrderItem.java 1KB
LoginOutServlet.java 1KB
Test.java 1KB
PropertiesUtil.java 1KB
Catalog.java 1KB
OrderItemDaoImpl.java 963B
UserDao.java 930B
CartItem.java 929B
AdminDao.java 733B
CatalogDao.java 649B
DateUtil.java 641B
UpLoadImgDao.java 611B
RanUtil.java 563B
OrderItemDao.java 292B
MathUtils.java 240B
Test.java 227B
Test2.java 188B
BookManageServlet.java 15KB
bg.jpg 543KB
bk_header.jpg 268KB
banner3.jpg 199KB
banner1.jpg 197KB
banner4.jpg 193KB
banner2.jpg 188KB
banner5.jpg 163KB
1a2805c4f4e14e4eb37fe66e1693bff2.jpg 156KB
b05bf3d3c37446f6b10e9dccd8d5ea79.jpg 153KB
6767e8a6bcb344269be32ed3f98f432c.jpg 117KB
共 272 条
- 1
- 2
- 3
shejizuopin
- 粉丝: 9516
- 资源: 1288
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页