基于javaweb+mysql的jsp+servlet在线书店购书(java+jsp+servlet+mysql+tomcat)

基于javaweb+mysql的jsp+servlet在线书店购书(java+jsp+servlet+mysql+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

基于javaweb+mysql的JSP+Servlet在线书店购书(java+jsp+servlet+mysql+tomcat)

		
		request.getRequestDispatcher(USERLIST_PATH).forward(request, response);
		
	}

}
package com.shine.bookshop.servlet.admin;

/**
 * Servlet implementation class OrderManageServlet
 */
@WebServlet("/jsp/admin/OrderManageServlet")
public class OrderManageServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final String ORDERLIST_PATH="orderManage/orderlist.jsp";
	private static final String ORDERDETAIL_PATH="orderManage/orderDetail.jsp";
	private static final String ORDEROP_PATH="orderManage/orderOp.jsp";
       

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		if(ud.batDelUser(ids)) {
			request.setAttribute("userMessage", "用户已批量删除");
		}else {
			request.setAttribute("userMessage", "用户批量删除失败");
		}
		//用户删除成功失败都跳转到用户列表页面
		userList(request, response);//通过servlet中listUser跳到用户列表
		
	}

	private void userDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		UserDao ud=new UserDaoImpl();
		if(ud.delUser(id)) {
			request.setAttribute("userMessage", "用户已删除");
		}else {
			request.setAttribute("userMessage", "用户删除失败");
		}
		//用户删除成功失败都跳转到用户列表页面
		userList(request, response);//通过servlet中listUser跳到用户列表
		
	}

	private void userUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		User user=new User(
				Integer.parseInt(request.getParameter("userId")),
				request.getParameter("passWord"),
				request.getParameter("name"),
				request.getParameter("sex"),
				Integer.parseInt(request.getParameter("age")),
				request.getParameter("tell"),
				request.getParameter("address"),
				request.getParameter("enabled"));
		UserDao ud=new UserDaoImpl();
		if(ud.userUpdate(user)) {
			request.setAttribute("userMessage", "用户更新成功");
			userList(request, response);//通过servlet中listUser跳到用户列表
		}else {
			//更新失败跳转到修改页面
			request.setAttribute("userMessage", "用户更新失败");
			request.setAttribute("userInfo", ud.findUser(Integer.valueOf(user.getUserId())));//这里回去是Admin对象
			request.getRequestDispatcher(USEREDIT_PATH).forward(request, response);
		}
		
	}

	private void userEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id=request.getParameter("id");
		UserDao ud=new UserDaoImpl();
package com.shine.bookshop.filter;

/**
 * Servlet Filter implementation class FilterLogin
 */
@WebFilter(filterName="FilterLogin",urlPatterns="/jsp/admin/*",
			initParams={@WebInitParam(name="allowPath",value="login.jsp;LoginServlet;images;css")})
public class FilterLogin implements Filter {
	private String allowPath;
	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		HttpServletRequest  httpRequest=(HttpServletRequest) request;
		HttpServletResponse httpResponse=(HttpServletResponse) response;
		String urlPath=httpRequest.getServletPath();
		if(httpRequest.getSession().getAttribute("adminUser")!=null){
			chain.doFilter(request, response);
			return;
		}
		
		String[] urls=this.allowPath.split(";");

/**
 * Servlet implementation class BookList
 */
@WebServlet("/BookList2")
public class BookList2 extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final int MAX_LIST_SIZE = 12;
	private static final String BOOKLIST_PATH="jsp/book/booklist.jsp";
   

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String seachname = new String(request.getParameter("seachname").getBytes("iso-8859-1"),"utf-8");
		String seachname1 = request.getParameter("seachname");
		bookList(request,response,seachname1);
	}

	private void bookList(HttpServletRequest request, HttpServletResponse response, String seachname) throws ServletException, IOException {
		BookDao bd = new BookDaoImpl();
		int curPage = 1;
		String page = request.getParameter("page");
		if (page != null) {
			curPage = Integer.parseInt(page);
		}
		
				}

			}
		}
		// 如果上传的内容小于3个必填项或者图片没有或类型不正确返回
		if (map.size() < 3 || !flag) {
			request.setAttribute("bookMessage", "图书添加失败");
			bookAddReq(request, response);
		} else {
			// 验证通过才可以保存图片流到本地
			IOUtils.copy(inputStream, outputStream);
			outputStream.close();
			inputStream.close();

			// 把map集合中存储的表单数据提取出来转换为book对象
			// 这里要求图书增加的字段要和数据库字段一致,不然map集合转对象会出错
			Book book = new Book();
			book.setBookName(map.get("bookName"));
			book.setPrice(Double.parseDouble(map.get("price")));
			book.setDescription(map.get("desc"));
			book.setAuthor(map.get("author"));
			book.setPress(map.get("press"));
			// 图书分类信息
			Catalog catalog = book.getCatalog();
			catalog.setCatalogId(Integer.parseInt(map.get("catalog")));
			// 图片信息
			UpLoadImg upLoadImg = book.getUpLoadImg();
			upLoadImg.setImgName(map.get("imgName"));
			upLoadImg.setImgSrc(map.get("imgSrc"));
			upLoadImg.setImgType(map.get("imgType"));

			// 增加图书先增加图书图片,图书图片增加成功了在添加图书信息
			UpLoadImgDao uid = new UpLoadImgDaoImpl();
			if (uid.imgAdd(book.getUpLoadImg())) {
				// 获取图书图片添加后的id
				Integer imgId = uid.findIdByImgName(upLoadImg.getImgName());
				upLoadImg.setImgId(imgId);

				BookDao bd = new BookDaoImpl();
				if (bd.bookAdd(book)) {
					request.setAttribute("bookMessage", "图书添加成功");
					bookList(request, response);
		}else {
			request.setAttribute("orderMessage", "一个订单操作失败");
		}
		orderProcessing(request,response);
		
		
	}

	private void orderProcessing(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"));
		OrderDao orderDao = new OrderDaoImpl();
		PageBean pb = new PageBean(curPage, maxSize, orderDao.orderReadCountByStatus(1));
		
		request.setAttribute("pageBean", pb);
		request.setAttribute("orderList", orderDao.orderListByStatus(pb,1));
		request.getRequestDispatcher(ORDEROP_PATH).forward(request, response);
		
		
		
	}

	private void orderDetail(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int orderId=Integer.parseInt(request.getParameter("id"));
		OrderDao orderDao=new OrderDaoImpl();
		OrderItemDao oItemDao=new OrderItemDaoImpl();
		UserDao userDao=new UserDaoImpl();
		BookDao bookDao=new BookDaoImpl();
		
		Order order = orderDao.findOrderByOrderId(orderId);
		order.setUser(userDao.findUser(order.getUserId()));
		order.setoItem(oItemDao.findItemByOrderId(order.getOrderId()));
		for ( OrderItem oItem : order.getoItem()) {
			//通过图书id获取图书对象
			oItem.setBook(bookDao.findBookById(oItem.getBookId()));
		}
		request.setAttribute("order", order);
		request.getRequestDispatcher(ORDERDETAIL_PATH).forward(request, response);
		
		
	}

	private void orderList(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"));
		OrderDao orderDao = new OrderDaoImpl();
			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));
			initParams={@WebInitParam(name="allowPath",value="login.jsp;LoginServlet;images;css")})
public class FilterLogin implements Filter {
	private String allowPath;
	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		HttpServletRequest  httpRequest=(HttpServletRequest) request;
		HttpServletResponse httpResponse=(HttpServletResponse) response;
		String urlPath=httpRequest.getServletPath();
		if(httpRequest.getSession().getAttribute("adminUser")!=null){
			chain.doFilter(request, response);
			return;
		}
		
		String[] urls=this.allowPath.split(";");
		for(String url:urls){
			if(urlPath.indexOf(url)>0){
				chain.doFilter(request, response);
				return;
			}
		}
		String noPath=httpRequest.getScheme()+"://"+httpRequest.getServerName()+":"+httpRequest.getServerPort()+httpRequest.getContextPath()+"/jsp/admin/login.jsp";
		//httpResponse.sendRedirect("login.jsp");
		//'http://localhost:8080/bookshop/login.jsp'
		PrintWriter pw=httpResponse.getWriter();
		//解决iframe框架未登录顶层窗口跳转地址问题
//		pw.flush();
	
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
			request.setAttribute("money", order.getMoney());
			request.getRequestDispatcher(ORDER_PAY_PATH).forward(request, response);
		}else {
			request.setAttribute("suberr", "订单提交失败,请重新提交");
			request.getRequestDispatcher(CART_PATH).forward(request, response);
		}
		
	}

}
package com.shine.bookshop.servlet.book;

/**
 * Servlet implementation class UserManage
 */
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final String LOGIN_PATH="jsp/book/reg.jsp?type=login";
	private static final String REG_PATH="jsp/book/reg.jsp?type=reg";
	private static final String INDEX_PATH="jsp/book/index.jsp";
	private static final String LANDING="landing";				//前台用户session标识

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String action=request.getParameter("action");
			break;
		case "batDel":
			adminBatDel(request,response);
			break;
		case "find":
			adminFind(request,response);
			break;
		}

	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
	
	//查询用户列表
	private void adminList(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		AdminDao ad=new AdminDaoImpl();
		int curPage=1;
		String page=request.getParameter("page");
		if(page!=null){
			curPage=Integer.parseInt(page);
		}
		//获取xml中设置的每页显示大小参数
		int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
		
		PageBean pageBean=new PageBean(curPage,maxSize,ad.bookReadCount());
		
		request.setAttribute("adminList", ad.userList(pageBean));
		request.setAttribute("pageBean", pageBean);
		
		request.getRequestDispatcher(AdminManageServlet.ADMINLIST_PATH).forward(request, response);
		
	}
	
	//增加用户
	private void adminAdd(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		AdminDao ad=new AdminDaoImpl();
		Admin admin=new Admin(request.getParameter("userName"),request.getParameter("passWord"),
				request.getParameter("name"));
		//添加之前判断用户名是否在库中存在
		if(new AdminDaoImpl().findUser(admin.getUserName())){
			request.setAttribute("adminMessage", "用户添加失败!用户名已存在");
			request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);
		}else{
			//执行dao层添加操作
			if(ad.userAdd(admin)){
				request.setAttribute("userMessage", "用户添加成功!");
				userList(request, response);//通过servlet中listUser跳到用户列表
			}else{
				request.setAttribute("userMessage", "用户添加失败!");
				request.getRequestDispatcher(USERADD_PATH).forward(request, response);
			}
		}
	}

	private void userList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		UserDao ud=new UserDaoImpl();
		int curPage=1;
		String page=request.getParameter("page");
		if(page!=null){
			curPage=Integer.parseInt(page);
		}
		//获取xml中设置的每页显示大小参数
		int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
		
		PageBean pageBean=new PageBean(curPage,maxSize,ud.bookReadCount());
		
		request.setAttribute("userList", ud.userList(pageBean));
		request.setAttribute("pageBean", pageBean);
		
		request.getRequestDispatcher(USERLIST_PATH).forward(request, response);
		
	}

}
package com.shine.bookshop.servlet.admin;

				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", "修改成功");
	private static final int MAX_LIST_SIZE = 12;
	private static final String BOOKLIST_PATH="jsp/book/booklist.jsp";
   

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String seachname = new String(request.getParameter("seachname").getBytes("iso-8859-1"),"utf-8");
		String seachname1 = request.getParameter("seachname");
		bookList(request,response,seachname1);
	}

	private void bookList(HttpServletRequest request, HttpServletResponse response, String seachname) throws ServletException, IOException {
		BookDao bd = new BookDaoImpl();
		int curPage = 1;
		String page = request.getParameter("page");
		if (page != null) {
			curPage = Integer.parseInt(page);
		}
		
		PageBean pb=null;
		List<Book> bookList=new ArrayList<Book>();
		if(seachname == null || seachname == "") {
			pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount());
			bookList = bd.bookList(pb);
		}else {
			pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount(seachname));
			bookList = bd.bookList(pb,seachname);
		}
		request.setAttribute("title", "所有图书");
		
		request.setAttribute("pageBean", pb);
		request.setAttribute("bookList",bookList);
		
		request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}
package com.shine.bookshop.filter;
		}

		Iterator<FileItem> iterator = parseRequest.iterator();

		while (iterator.hasNext()) {
			FileItem fileItem = iterator.next();
			// 判断是否是表单的普通字段true为普通表单字段,false为上传文件内容
			if (fileItem.isFormField()) {
				String name = new String(fileItem.getFieldName().getBytes("ISO8859_1"), "utf-8");
				String value = new String(fileItem.getString().getBytes("ISO8859_1"), "utf-8");
				map.put(name, value);
			} else {
				String imgName = null;

				String contentType = fileItem.getContentType();

				if ("image/jpeg".equals(contentType)) {
					imgName = RanUtil.getUUID() + ".jpg";
					flag = true;
				}
				if ("image/png".equals(contentType)) {
					imgName = RanUtil.getUUID() + ".png";
					flag = true;
				}
				if (flag) {
					inputStream = fileItem.getInputStream();
					File file = new File(dirPath, imgName);
					outputStream = new FileOutputStream(file);
					// 保存img信息到map集合中,后面传入对象使用
					map.put("imgName", imgName);
					map.put("imgSrc", BOOKIMGDIR_PATH + imgName);
					map.put("imgType", contentType);
				}

			}
		}
		// 如果上传的内容小于3个必填项或者图片没有或类型不正确返回
		if (map.size() < 3 || !flag) {
			request.setAttribute("bookMessage", "图书添加失败");
			bookAddReq(request, response);
		} else {
			// 验证通过才可以保存图片流到本地
			IOUtils.copy(inputStream, outputStream);
			outputStream.close();
			inputStream.close();

			// 把map集合中存储的表单数据提取出来转换为book对象
			// 这里要求图书增加的字段要和数据库字段一致,不然map集合转对象会出错
			Book book = new Book();
			book.setBookName(map.get("bookName"));
			book.setPrice(Double.parseDouble(map.get("price")));
			book.setDescription(map.get("desc"));
			book.setAuthor(map.get("author"));
			book.setPress(map.get("press"));

			CatalogDao cd = new CatalogDaoImpl();
			// 这里实例化json对象需要导入6个jar包(
			// commons-lang-2.4.jar
			// ,commons-collections-3.2.1.jar,commons-beanutils-1.8.3.jar
			// json-lib-2.4-jdk15.jar ,ezmorph-1.0.6.jar ,commons-logging-1.1.3.jar)
			JSONObject json = new JSONObject();
			if (cd.findCatalogByCatalogName(catalogName)) {
				json.put("info", "该分类已存在");
				json.put("status", "n");
			} else {
				json.put("info", "输入正确");
				json.put("status", "y");
			}
			response.getWriter().write(json.toString());

		}

}
package com.shine.bookshop.servlet.book;

/**
 * Servlet implementation class CartServlet
 */
@WebServlet("/CartServlet")
public class CartServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
			}
			upImg.setImgName(imgName);
			upImg.setImgSrc(imgSrc);
			upImg.setImgType(contentType);
			
			
			if (upImgDao.imgUpdate(upImg)) {
				request.setAttribute("bookMessage", "图片修改成功");
			} else {
				request.setAttribute("bookMessage", "图片修改失败");
			}
		} else {
			request.setAttribute("bookMessage", "图片修改失败");
		}
		bookEdit(request,response);
	}

	// 获取图书分类信息
	private void bookAddReq(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		CatalogDao cd = new CatalogDaoImpl();
		request.setAttribute("catalog", cd.getCatalog());
		request.getRequestDispatcher(BOOKADD_PATH).forward(request, response);

	}

	// 图书增加
	private void bookAdd(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		boolean flag = false;
		
		Map<String, String> map = new HashMap<>();
		InputStream inputStream = null;
		OutputStream outputStream = null;
		File dirPath = new File(request.getServletContext().getRealPath("/") + BOOKIMGDIR_PATH);
		if (!dirPath.exists()) {
			dirPath.mkdirs();
		}

		DiskFileItemFactory dfif = new DiskFileItemFactory();
		ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);
		// 解决乱码
		servletFileUpload.setHeaderEncoding("ISO8859_1");

		List<FileItem> parseRequest = null;
		try {
			parseRequest = servletFileUpload.parseRequest(request);
		} catch (FileUploadException e) {
			e.printStackTrace();
		}

		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 = iterator.next();
			if (!fileItem.isFormField()) {

				inputStream = fileItem.getInputStream();
				contentType = fileItem.getContentType();
				if ("image/jpeg".equals(contentType)) {
					imgName = RanUtil.getUUID() + ".jpg";
					flag = true;
				}
				if ("image/png".equals(contentType)) {
					imgName = RanUtil.getUUID() + ".png";
					flag = true;
				}

			}

		}
		if (flag) {
			imgSrc = BOOKIMGDIR_PATH + imgName;
			outputStream = new FileOutputStream(new File(contextPath,imgSrc));
			IOUtils.copy(inputStream, outputStream);
			outputStream.close();
			inputStream.close();
			//根据图书id去查询图片信息
			Book book = bookDao.findBookById(bookId);
			UpLoadImg upImg = book.getUpLoadImg();
			// 删除旧图片文件如果存在
			File oldImg = new File(contextPath,book.getUpLoadImg().getImgSrc());
			if (oldImg.exists()) {
				//oldImg.delete();
			}
			upImg.setImgName(imgName);
		}else{
			//执行dao层添加操作
			if(ad.userAdd(admin)){
				request.setAttribute("adminMessage", "用户添加成功!");
				adminList(request, response);//通过servlet中listUser跳到用户列表
			}else{
				request.setAttribute("adminMessage", "用户添加失败!");
				request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);
			}
		}
		
	}
	//更新用户信息
	private void adminUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		Admin admin=new Admin(Integer.parseInt(request.getParameter("id")),
				request.getParameter("passWord"),
				request.getParameter("name")
				);
		AdminDao ad=new AdminDaoImpl();
		if(ad.userUpdate(admin)) {
			request.setAttribute("adminMessage", "用户更新成功");
			adminList(request, response);//通过servlet中listUser跳到用户列表
		}else {
			//更新失败跳转到修改页面
			request.setAttribute("adminMessage", "用户更新失败");
			request.setAttribute("adminInfo", ad.findUser(Integer.valueOf(admin.getId())));//这里回去是Admin对象
			request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);
		}
		
	}

	//修改用户
	private void adminEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id=request.getParameter("id");
		AdminDao ad=new AdminDaoImpl();
		request.setAttribute("adminInfo",ad.findUser(Integer.valueOf(id)));//这里回去是Admin对象
		request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);
	}
	
	//删除用户
	private void adminDel(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		int id=Integer.parseInt(request.getParameter("id"));
		AdminDao ad=new AdminDaoImpl();
		if(ad.delUser(id)) {
			request.setAttribute("adminMessage", "用户已删除");
		}else {
			request.setAttribute("adminMessage", "用户删除失败");
		}
		//用户删除成功失败都跳转到用户列表页面
		adminList(request, response);//通过servlet中listUser跳到用户列表
	}
	

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}
package com.shine.bookshop.servlet.book;

/**
 * Servlet implementation class CodeServlet
 */
@WebServlet("/CodeServlet")
public class CodeServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String action=request.getParameter("action");
		if("code".equals(action)) {
			getCode(request,response);
		}
		if("ckCode".equals(action)) {
			ckCode(request,response);
		}
		
		

	}

	private void ckCode(HttpServletRequest request, HttpServletResponse response) throws IOException {
		userList(request, response);//通过servlet中listUser跳到用户列表
		
	}

	private void userDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		UserDao ud=new UserDaoImpl();
		if(ud.delUser(id)) {
			request.setAttribute("userMessage", "用户已删除");
		}else {
			request.setAttribute("userMessage", "用户删除失败");
		}
		//用户删除成功失败都跳转到用户列表页面
		userList(request, response);//通过servlet中listUser跳到用户列表
		
	}

	private void userUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		User user=new User(
				Integer.parseInt(request.getParameter("userId")),
				request.getParameter("passWord"),
				request.getParameter("name"),
				request.getParameter("sex"),
				Integer.parseInt(request.getParameter("age")),
				request.getParameter("tell"),
				request.getParameter("address"),
				request.getParameter("enabled"));
		UserDao ud=new UserDaoImpl();
		if(ud.userUpdate(user)) {
			request.setAttribute("userMessage", "用户更新成功");
			userList(request, response);//通过servlet中listUser跳到用户列表
		}else {
			//更新失败跳转到修改页面
			request.setAttribute("userMessage", "用户更新失败");
			request.setAttribute("userInfo", ud.findUser(Integer.valueOf(user.getUserId())));//这里回去是Admin对象
			request.getRequestDispatcher(USEREDIT_PATH).forward(request, response);
		}
		
	}

	private void userEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id=request.getParameter("id");
		UserDao ud=new UserDaoImpl();
		request.setAttribute("userInfo",ud.findUser(Integer.valueOf(id)));//这里回去是User对象
		request.getRequestDispatcher(USEREDIT_PATH).forward(request, response);
		
	}

	private void adminFind(HttpServletRequest request, HttpServletResponse response) throws IOException {
		String userName=request.getParameter("param");
		UserDao ud=new UserDaoImpl();

/**
 * Servlet implementation class BookList
 */
@WebServlet("/BookList2")
public class BookList2 extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final int MAX_LIST_SIZE = 12;
	private static final String BOOKLIST_PATH="jsp/book/booklist.jsp";
   

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String seachname = new String(request.getParameter("seachname").getBytes("iso-8859-1"),"utf-8");
		String seachname1 = request.getParameter("seachname");
		bookList(request,response,seachname1);
	}

	private void bookList(HttpServletRequest request, HttpServletResponse response, String seachname) throws ServletException, IOException {
		BookDao bd = new BookDaoImpl();
		int curPage = 1;
		String page = request.getParameter("page");
		if (page != null) {
			curPage = Integer.parseInt(page);
		}
		
		PageBean pb=null;
		List<Book> bookList=new ArrayList<Book>();
		if(seachname == null || seachname == "") {
			pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount());
			bookList = bd.bookList(pb);
		}else {
			pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount(seachname));
			userAdd(request,response);
			break;
		case "update":
			userUpdate(request,response);
			break;
		case "edit":
			userEdit(request,response);
			break;
		case "del":
			userDel(request,response);
			break;
		case "batDel":
			userBatDel(request,response);
			break;
		case "find":
			adminFind(request,response);
			break;
		case "detail":
			datail(request,response);
			break;
		case "seach":
			seachUser(request,response);
		}
	}

	private void seachUser(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException {
		UserDao ud=new UserDaoImpl();
		int curPage=1;
		String page=request.getParameter("page");
		if(page!=null){
			curPage=Integer.parseInt(page);
		}
		//获取xml中设置的每页显示大小参数
		int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
		String username = request.getParameter("username");
		PageBean pageBean=null;
		if(username != null && username != "") {
			pageBean=new PageBean(curPage,maxSize,ud.bookReadCount(username));
			request.setAttribute("userList", ud.userList(pageBean,username));
		}else {
			pageBean=new PageBean(curPage,maxSize,ud.bookReadCount());
			request.setAttribute("userList", ud.userList(pageBean));
			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()) {
		switch(action) {
		case "list":
			catalogList(request,response);
			break;
		case "add":
			catalogAdd(request,response);
			break;
		case "del":
			catalogDel(request,response);
			break;
		case "batDel":
			catalogBatDel(request,response);
			break;
		case "find":
			catalogFind(request,response);
			break;
		}
	}
	
	
	private void catalogBatDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String ids=request.getParameter("ids");
		CatalogDao cd=new CatalogDaoImpl();
		
		if(cd.catalogBatDelById(ids)) {
			request.setAttribute("bookMessage", "分类已批量删除");
			
		}else {
			request.setAttribute("bookMessage", "分类删除失败");
		}
		//用户删除成功失败都跳转到用户列表页面
		catalogList(request, response);//通过servlet中listUser跳到用户列表
		
	}

	private void catalogDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int catalogId=Integer.parseInt(request.getParameter("id"));
		CatalogDao cd=new CatalogDaoImpl();
		if(cd.catalogDel(catalogId)) {
			request.setAttribute("catalogMessage", "该分类已删除");
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String action=request.getParameter("action");
		switch(action) {
		case "list":
			orderList(request,response);
			break;
		case "detail":
			orderDetail(request,response);
			break;
		case "processing":
			orderProcessing(request,response);
		case "ship":
			orderShip(request,response);
		case "seach":
			seachOrder(request,response);
		case "seach1":
			seachOrder1(request,response);	
		case "delete":
			deleteOrder(request,response);	
		}
		
	}
	
	private void deleteOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
		String orderid=request.getParameter("id");
		OrderDao orderDao = new OrderDaoImpl();
		if(orderid != null && orderid != "") {
			orderDao.deleteOrderItem(Integer.valueOf(orderid));
			orderDao.deleteOrder(Integer.valueOf(orderid));
		}
		orderList(request, response);
	}

	private void seachOrder(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 ordername = request.getParameter("ordername");
		OrderDao orderDao = new OrderDaoImpl();

/**
 * Servlet implementation class LoginServlet
 */
@WebServlet("/jsp/admin/LoginServlet")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
      
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String mainPath="index.jsp";
		String loginPath="login.jsp";
		
		String userName=request.getParameter("userName");
		String passWord=request.getParameter("passWord");
		Admin admin=new Admin(userName, passWord);
		AdminDao ud=new AdminDaoImpl();
		
		List<String> list=new ArrayList<String>();
		if(userName==null) {
			list.add("用户名不能为空");
		}
		if(passWord==null) {
			list.add("密码不能为空");
		}
		if(list.size()==0) {
			if(ud.userLogin(admin)) {
				request.getSession().setAttribute("adminUser",admin );
				response.sendRedirect(mainPath);
				return;
			}else {
				list.add("用户名或密码错误!请重新输入");	
			}
		}
		request.setAttribute("infoList", list);
		request.getRequestDispatcher(loginPath).forward(request, response);
		

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值