Java项目:学生二手书籍管理系统(java+SSM+ElementUI+Vue+LayUI+Mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

SSM学生二手书籍交易平台

角色:管理员、卖家、用户

前台主要功能包括:首页、书籍信息、留言反馈、个人中心、购物车;

后台主要分为管理员、用户、卖家;
管理员主要功能:首页、个人中心、用户管理、卖家管理、书籍分类管理、书籍信息管理、留言板管理、管理员管理、系统管理;
用户主要功能:首页、个人中心、我的收藏管理、留言板管理;
卖家主要功能:首页、个人中心、书籍信息管理、订单管理;


环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 5.7/8.0等版本均可;


技术栈

后端:SSM(Spring+SpringMVC+Mybatis)

前端:ElementUI+Vue+LayUI+bootstrap+jquery


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中config.properties配置文件中的数据库配置改为自己的配置,然后运行;
网址:http://localhost:8080/ssmxm4f1/admin/dist/index.html 后台管理 
管理员:abo 密码:abo
用户账号密码:用户1/123456
http://localhost:8080/ssmxm4f1/front/index.html 前台
用户账号密码:用户1/123456
卖家账号密码:卖家1/123456

 

 

 

 

购物车管理控制层:

@WebServlet("/CartServlet")
public class CartServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public CartServlet() {
        super();
    }
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String opt = request.getParameter("opt");
		//判断操作
		if(opt.equals("buy")){
			buyCart(request, response);
		}else if(opt.equals("del")){
			delCart(request, response);
		}else if(opt.equals("clear")){
			clearCart(request, response);
		}else if(opt.equals("show")){
			showCart(request, response);
		}else if(opt.equals("inAmount")){
			inAmount(request, response);
		}else if(opt.equals("deAmount")){
			deAmount(request, response);
		}else{
			response.sendRedirect("index.jsp");
		}
		
	}

	/**
	 * 添加商品到购物车
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void buyCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		if(cart==null){
			cart = new ShoppingCart();
		}
		//获取购买数量
		String strNum = request.getParameter("num");
		if(!StringUtil.isNumber(strNum))
			strNum="1";
		
		int num = Integer.parseInt(strNum);
		//获取图书信息
		String isbn = request.getParameter("isbn");
		BookDaoImpl dao = new BookDaoImpl();
		Books book = dao.getBooksByIsbn(isbn);
		//把商品添加到购物车
		cart.add(book, num);
		
		request.getSession().setAttribute("cart",cart);
		//跳转页面
		response.sendRedirect("addcartok.jsp");
	}
	protected void clearCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		if(cart!=null){
			cart.clear();
			request.getSession().setAttribute("cart", cart);
		}
		//页面跳转
		showCart(request, response);
	}
	
	/**
	 * 删除购物车中的商品
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void delCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//从session中获取ShoppingCart
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		//判空
		if(cart!=null){
			//获取要删除图书的isbn
			String isbn = request.getParameter("isbn");
			//删除这个图书
			if(isbn!=null && !isbn.equals("")){
				cart.remove(isbn);
				//商品种类减1
				cart.setItemAmount();
				
				//计算商品总价
				cart.getTotalReal();
				request.getSession().setAttribute("cart", cart);

			}
		}
		showCart(request, response);
	}
	
	/**
	 * 显示购物车
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void showCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		if(cart!=null){
			Collection<ShoppingItem> silist = cart.getItems();
			request.getSession().setAttribute("silist", silist);
			//计算商品总价
			cart.getTotalReal();
		}else{
			cart = new ShoppingCart();
		}
		request.getSession().setAttribute("cart", cart);
		
		Users user = (Users) request.getSession().getAttribute("user");
		if(user!=null){
			//页面跳转
			response.sendRedirect("user/usercart.jsp");
		}else{
			//页面跳转
			response.sendRedirect("showcart.jsp");
		}
	}
	

	/**
	 * 增加购物车商品数量
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void inAmount(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//从session中获取ShoppingCart
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		if(cart!=null){
			String isbn =  request.getParameter("isbn");
			//信息完整性校验
			if(isbn!=null && !isbn.equals("")){
				//获取ShoppingItem
				ShoppingItem si =  cart.getItem(isbn);
				if(si!=null){
					si.inAmount();
				}
				//计算商品总价
				cart.getTotalReal();
				request.getSession().setAttribute("cart", cart);
			}
		}
		
		//页面跳转
		showCart(request, response);
	}
	
	/**
	 * 减少购物车商品数量
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void deAmount(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//从session中获取ShoppingCart
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		if(cart!=null){
			String isbn = request.getParameter("isbn");
			//信息完整性校验
			if(isbn!=null && !isbn.equals("")){
				//获取ShoppingItem
				ShoppingItem si =  cart.getItem(isbn);
				if(si!=null && si.getAmount()>1)
					si.deAmount();
				//计算商品总价
				cart.getTotalReal();
				request.getSession().setAttribute("cart", cart);
			}
		}
		showCart(request, response);
	}
}

订单管理控制层:

@WebServlet("/OrderServlet")
public class OrderServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public OrderServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//判断是否登录
		if(request.getSession().getAttribute("user")==null){
			//跳转页面
			response.sendRedirect("login.jsp");
			return;
		}
		//判断操作
		String opt = request.getParameter("opt");
		if(opt.equals("add")){
			addOrder(request, response);
		}
		if(opt.equals("show")){
			showOrder(request, response);
		}
		
	}
	
	/**
	 * 添加订单
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void addOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//从session中的cart(购物车)对象
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		//获取从jsp页面传过来的userId
		Users user = (Users) request.getSession().getAttribute("user");
		//将获取的数据封装成Orders对象
		Orders order = new Orders();
		order.setUserId(user.getId());
		order.setTotalPrice(cart.getTotal());
		//调用dao的添加订单方法
		OrderDaoImpl dao = new OrderDaoImpl();
		int orderId = dao.addOrder(order);
		//如果返回的订单Id不为-1,则表示添加订单成功
		if(orderId!=-1){
			//获取购物车中的所有图书种类
			Collection<ShoppingItem> silist = cart.getItems();
			//遍历每一项图书
			for(ShoppingItem item:silist){
				//封装成OrderBook对象
				OrderBook ob = new OrderBook();
				ob.setOrderId(orderId);
				ob.setBookId(item.getItem().getId());
				ob.setQuantity(item.getAmount());
				ob.setUnitPrice(item.getItem().getUnitPrice());
				//添加到明细表
				dao.addOrderBook(ob);
			}
			//清空购物车
			 request.getSession().removeAttribute("cart");
			
			//页面跳转
			response.sendRedirect("payok.jsp");
		}else{
			//页面跳转
			response.sendRedirect("user/usercart.jsp");
		}
		
	}
	
	/**
	 * 查看订单
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void showOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取session中的user对象
		Users user = (Users) request.getSession().getAttribute("user");
		//调用dao层的获取订单方法
		OrderDaoImpl dao = new OrderDaoImpl();
		List<OrderBookCustom> olist = dao.getOrder(user.getId());
		//添加到session中
		request.getSession().setAttribute("olist",olist);
		//页面跳转
		response.sendRedirect("user/userorder.jsp");
	}
	

}

品类管理控制层:

@WebServlet("/CategoryServlet")
public class CategoryServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public CategoryServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {	
		//String opt = request.getParameter("opt");
		String role = request.getParameter("role");
		//判断是否为管理员操作
		if(role!=null && role.equals("3")){
			optByAdmin(request, response);
			return;
		}
		

	}
	/**
	 * 管理员操作
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void optByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String opt = request.getParameter("opt");
		//判断是否登录
		Users user = (Users) request.getSession().getAttribute("user");
		if(user==null || user.getUserRoleId()!=3){
			response.sendRedirect("admin/login.jsp");
			return;
		}
		//添加分类
		if(opt.equals("add")){
			addCategoryByAdmin(request, response);
		}
		//编辑分类
		if(opt.equals("edit")){
			editCategoryByAdmin(request, response);
		}
	}
	
	/**
	 * 添加分类
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void addCategoryByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取提交的参数
		String name = request.getParameter("name");
		//信息完整性校验
		if(name==null || name.equals("")){
			request.getSession().setAttribute("ADMIN_MSG_CATEGORY", "添加失败,请检查分类是否合法输入");
			response.sendRedirect("admin/categorylist.jsp");
			return;
		}
		//封装对象
		Categories cate = new Categories();
		cate.setName(name);
		//调用dao层方法
		CategoriesDaoImpl dao = new CategoriesDaoImpl();
		if(dao.addCategory(cate)){
			request.getSession().setAttribute("ADMIN_MSG_CATEGORY", "添加成功");
			//初始化分类集合
			initCategory(request, response);
		}else{
			request.getSession().setAttribute("ADMIN_MSG_CATEGORY", "添加失败");
		}
		//页面跳转
		response.sendRedirect("admin/categorylist.jsp");
	}
	/**
	 * 编辑分类
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void editCategoryByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("cid"))==false){
			response.sendRedirect("admin/categorylist.jsp");
			return;
		}
		//提取参数
		int cId = Integer.parseInt(request.getParameter("cid"));
		String name = request.getParameter("name");
		if(name==null || name.equals("")){
			response.sendRedirect("admin/categorylist.jsp");
			return;
		}
		
		//封装对象
		Categories c = new Categories();
		c.setId(cId);
		c.setName(name);
		//调用dao层方法
		CategoriesDaoImpl dao = new CategoriesDaoImpl();
		Boolean b = dao.updateCategory(c);
		if(b){
			initCategory(request, response);
		}
		response.sendRedirect("admin/categorylist.jsp");
	}
	/**
	 * 初始化分类集合
	 * @param request
	 * @param response
	 */
	private void initCategory(HttpServletRequest request, HttpServletResponse response){
		//获取图书分类
		CategoriesDaoImpl dao = new CategoriesDaoImpl();
		List<Categories> clist = dao.getCategories();
		request.getServletContext().setAttribute("clist", clist);
	}
}

源码获取:俺的博客首页 "资源" 里下载!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyondwild

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值