源码获取:博客首页 "资源" 里下载!
一、项目简述
用户功能模块: 用户注册: 用户登录:商品模块:订单模块;后台管理系统功能:管理员模块: 商品模块:订单管理模块 ;
二、项目运行
1.运行环境
JDK1.8+Tomcat8.5+MYSQL+Eclispe(Eclispe,MyEclispe,Sts,IntelliJ IDEA都支持,小伙伴自行配置即可)
2.技术栈
JSP + Servlet + JDBC + Ajax + JavaScript + CSS + +DBUtil 等等
用户管理控制层:
public class UserServlet extends BaseBackServlet {@Overridepublic String add(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了 UserServlet add方法");return null;}@Overridepublic String delete(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了 UserServlet delete方法");int id = Integer.parseInt(request.getParameter("id"));userDAO.delete(id);return "@admin_user_list";}@Overridepublic String update(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了 UserServlet update方法");Map<String, String> params = new HashMap<>();InputStream is = super.parseUpload(request, params);System.out.println(params);int id = Integer.parseInt(params.get("id"));String password = params.get("password");User user = userDAO.get(id);user.setPassword(password);userDAO.update(user);return "@admin_user_list";}@Overridepublic String edit(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了 UserServlet edit方法");int id = Integer.parseInt(request.getParameter("id"));User u = userDAO.get(id);request.setAttribute("u", u);return "admin/editUser.jsp";}@Overridepublic String list(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了 UserServlet list方法");List<User> us = userDAO.list(page.getStart(), page.getCount());int total = userDAO.getTotal();page.setTotal(total);request.setAttribute("us", us);request.setAttribute("page", page);return "admin/listUser.jsp";}
}
订单管理控制层:
public class OrderServlet extends BaseBackServlet {@Overridepublic String add(HttpServletRequest request, HttpServletResponse response, Page page) {return null;}@Overridepublic String delete(HttpServletRequest request, HttpServletResponse response, Page page) {return null;}@Overridepublic String update(HttpServletRequest request, HttpServletResponse response, Page page) {return null;}@Overridepublic String edit(HttpServletRequest request, HttpServletResponse response, Page page) {return null;}public String delivery(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了 OrderServlet delivery方法");int id = Integer.parseInt(request.getParameter("id"));Order o = orderDAO.get(id);o.setDeliveryDate(new Date());o.setStatus(OrderDAO.waitConfirm);orderDAO.update(o);return "@admin_order_list";}@Overridepublic String list(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了 OrderServlet list方法");// 对订单对应的订单项进行初始化List<Order> os = orderDAO.list(page.getStart(), page.getCount());orderItemDAO.fill(os);int total = orderDAO.getTotal();page.setTotal(total);request.setAttribute("os", os);request.setAttribute("page", page);return "admin/listOrder.jsp";}
}
品类控制层:
public class CategoryServlet extends BaseBackServlet {@Overridepublic String add(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了category add方法");Map<String,String> params = new HashMap<>();InputStream is = super.parseUpload(request, params);System.out.println(params);String name = params.get("name");Category c = new Category();c.setName(name);categoryDAO.add(c);File imageFolder = new File(request.getSession().getServletContext().getRealPath("img/category"));File file = new File(imageFolder, c.getId() + ".jpg");try{if(null != is && 0 != is.available()){try(FileOutputStream fos = new FileOutputStream(file);){byte[] b = new byte[1024 * 1024];int length = 0;while(-1 != (length = is.read(b))){fos.write(b, 0, length);}fos.flush();//通过以下代码,将文件保存为jsp格式BufferedImage img = ImageUtil.change2jpg(file);ImageIO.write(img, "jpg", file);}}} catch (IOException e) {e.printStackTrace();}return "@admin_category_list";}@Overridepublic String delete(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了category delete方法");int id = Integer.parseInt(request.getParameter("id"));categoryDAO.delete(id);return "@admin_category_list";}@Overridepublic String update(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了category update方法");Map<String,String> params = new HashMap<>();InputStream is = super.parseUpload(request, params);System.out.println(params);String name = params.get("name");int id = Integer.parseInt(params.get("id"));Category c = new Category();c.setName(name);c.setId(id);categoryDAO.update(c);File imageFolder = new File(request.getSession().getServletContext().getRealPath("img/category"));File file = new File(imageFolder, c.getId() + ".jpg");try{if(null != is && 0 != is.available()){try(FileOutputStream fos = new FileOutputStream(file);){byte[] b = new byte[1024 * 1024];int length = 0;while(-1 != (length = is.read(b))){fos.write(b, 0, length);}fos.flush();//通过以下代码,将文件保存为jsp格式BufferedImage img = ImageUtil.change2jpg(file);ImageIO.write(img, "jpg", file);}}} catch (IOException e) {e.printStackTrace();}return "@admin_category_list";}@Overridepublic String edit(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了category edit方法");int id = Integer.parseInt(request.getParameter("id"));Category category = categoryDAO.get(id);request.setAttribute("c", category);return "admin/editCategory.jsp";}@Overridepublic String list(HttpServletRequest request, HttpServletResponse response, Page page) {List<Category> cs = categoryDAO.list(page.getStart(), page.getCount());int total = categoryDAO.getTotal();page.setTotal(total);request.setAttribute("thecs", cs);request.setAttribute("page", page);return "admin/listCategory.jsp";}
}
产品控制层:
public class ProductServlet extends BaseBackServlet {@Overridepublic String add(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了Product add方法");Map<String, String> params = new HashMap<>();InputStream inputStream = super.parseUpload(request, params);System.out.println(params);int cid = Integer.parseInt(params.get("cid"));Category c = categoryDAO.get(cid);String name = params.get("name");String subTitle = params.get("subTitle");float originalPrice = Float.parseFloat(params.get("originalPrice"));float promotePrice = Float.parseFloat(params.get("promotePrice"));int stock = Integer.parseInt(params.get("stock"));Product p = new Product();p.setCategory(c);p.setName(name);p.setSubTitle(subTitle);p.setOriginalPrice(originalPrice);p.setPromotePrice(promotePrice);p.setStock(stock);p.setCreateDate(new Date());productDAO.add(p);return "@admin_product_list?cid=" + cid;}@Overridepublic String delete(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了Product delete方法");int id = Integer.parseInt(request.getParameter("id"));Product p = productDAO.get(id);productDAO.delete(id);return "@admin_product_list?cid=" + p.getCategory().getId();}@Overridepublic String update(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了Product update方法");Map<String, String> params = new HashMap<>();InputStream inputStream = super.parseUpload(request, params);int cid = Integer.parseInt(params.get("cid"));Category c = categoryDAO.get(cid);int id = Integer.parseInt(params.get("id"));String name = params.get("name");String subTitle = params.get("subTitle");float originalPrice = Float.parseFloat(params.get("originalPrice"));float promotePrice = Float.parseFloat(params.get("promotePrice"));int stock = Integer.parseInt(params.get("stock"));Product p = new Product();p.setId(id);p.setName(name);p.setSubTitle(subTitle);p.setOriginalPrice(originalPrice);p.setPromotePrice(promotePrice);p.setStock(stock);p.setCategory(c);p.setCreateDate(new Date());productDAO.update(p);return "@admin_product_list?cid=" + p.getCategory().getId();}@Overridepublic String edit(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了Product edit方法");int id =Integer.parseInt(request.getParameter("id"));Product p = productDAO.get(id);request.setAttribute("p",p);return "admin/editProduct.jsp";}public String updatePropertyValue(HttpServletRequest request, HttpServletResponse response, Page page){System.out.println("调用了Product updatePropertyValue方法");int pvid = Integer.parseInt(request.getParameter("pvid"));String value = request.getParameter("value");PropertyValue pv = propertyValueDAO.get(pvid);pv.setValue(value);propertyValueDAO.update(pv);return "%success";}public String editPropertyValue(HttpServletRequest request, HttpServletResponse response, Page page){System.out.println("调用了Product editPropertyValue方法");int id = Integer.parseInt(request.getParameter("id"));Product p = productDAO.get(id);request.setAttribute("p", p);// 初始化属性,将产品对应的属性全部propertyValueDAO.init(p);List<PropertyValue> pvs = propertyValueDAO.list(p.getId());request.setAttribute("pvs", pvs);return "admin/editPropertyValue.jsp";}@Overridepublic String list(HttpServletRequest request, HttpServletResponse response, Page page) {System.out.println("调用了Product list方法");int cid = Integer.parseInt(request.getParameter("cid"));Category c = categoryDAO.get(cid);List<Product> ps = productDAO.list(cid, page.getStart(), page.getCount());int total = productDAO.getTotal(cid);page.setTotal(total);page.setParam("&cid=" + c.getId());request.setAttribute("ps", ps);request.setAttribute("c", c);request.setAttribute("page", page);return "admin/listProduct.jsp";}
}
源码获取:博客首页 "资源" 里下载!