Jsp+Servlet基于B2C的网上拍卖系统_秒杀与竞价

94 篇文章 1 订阅

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

基于B2C的网上拍卖系统主要用于帮助人们应用互联网方便快捷买到自己所中意的商品,并参与到秒杀与竞拍当中。

主要功能包括:
1.前台模块
(1)普通用户登录/注册。
(2)分类查看商品(普通商品与促销商品)
(3)查看商品详细信息
(4)查看秒杀商品
(5)查看竞拍商品
(6)将商品加入购物车
(7)购买,结算功能
(8)留言
2.后台模块
(1)修改密码
(2)商品管理:
-- 编辑/删除
-- 设置/取消促销
(3)秒杀商品:设置/取消秒杀
(4)竞拍商品:设置/取消竞拍
(5)订单管理:查看订单
(6)留言管理:查看/删除留言

环境需要

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版本;

技术栈

1. 后端:Servlet

2. 前端:JSP+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中resources/ioc/dao.js配置文件中的数据库配置改为自己的配置;

3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4.项目访问路径:

前台:http://localhost:8080/sale

后台:http://localhost:8080/sale/user/adminlogin

运行截图

相关代码

首页action

@IocBean
@At("/index")
public class IndexAction {
	
	@Inject("refer:productService")
	private ProductService productService;
	@Inject("refer:orderService")
	private OrderService orderService;
	@Inject("refer:userService")
	private UserService userService;
	/**
	 * 跳转到首页
	 * @param request
	 * @return
	 */
	@At("/toIndex")
	public View toIndex(HttpServletRequest request){
		//新品上市
		List<Product> newlist = productService.findNewProduct();
		request.setAttribute("newlist", newlist);
		//促销
		List<Product> cxlist = productService.findCxProduct();
		request.setAttribute("cxlist", cxlist);
		return new JspView("jsp.index");
	}
	/**
	 * 跳转到促销
	 * @param request
	 * @return
	 */
	@At("/toPromotions")
	public View toPromotions(HttpServletRequest request){
		//促销
		List<Product> cxlist = productService.findCxProduct();
		request.setAttribute("cxlist", cxlist);
		//新品上市
		List<Product> newlist = productService.findNewProduct();
		request.setAttribute("newlist", newlist);
		return new JspView("jsp.promotions");
	}
	/**
	 * 跳转到秒杀
	 * @param request
	 * @return
	 */
	@At("/toSpike")
	public View toSpike(HttpServletRequest request){
		//促销
		List<Product> cxlist = productService.findCxProduct();
		request.setAttribute("cxlist", cxlist);
		//新品上市
		List<Product> newlist = productService.findNewProduct();
		request.setAttribute("newlist", newlist);
		//秒杀
		List<Product> mslist = productService.findMsList();
		request.setAttribute("mslist", mslist);
		return new JspView("jsp.spike");
	}
	/**
	 * 跳转到竞拍
	 * @param request
	 * @return
	 */
	@At("/toAuction")
	public View toAuction(HttpServletRequest request){
		//促销
		List<Product> cxlist = productService.findCxProduct();
		request.setAttribute("cxlist", cxlist);
		//新品上市
		List<Product> newlist = productService.findNewProduct();
		request.setAttribute("newlist", newlist);
		//竞拍
		List<Product> jplist = productService.findJpList();
		request.setAttribute("jplist", jplist);
		return new JspView("jsp.auction");
	}
	/**
	 * 跳转到留言
	 * @param request
	 * @return
	 */
	@At("/toMessage")
	public View toMessage(HttpServletRequest request){
		return new JspView("jsp.message");
	}
	/**
	 * 跳转到产品详细
	 * @param request
	 * @return
	 */
	@At("/toDetail")
	public View toDetail(HttpServletRequest request){
		String id = request.getParameter("id");
		Product product = productService.findProductById(Integer.parseInt(id));
		//新品上市
		List<Product> newlist = productService.findNewProduct();
		request.setAttribute("newlist", newlist);
		request.setAttribute("product", product);
		return new JspView("jsp.detail");
	}
	/**
	 * 跳转到促销产品详细
	 * @param request
	 * @return
	 */
	@At("/tocxDetail")
	public View tocxDetail(HttpServletRequest request){
		String id = request.getParameter("id");
		Product product = productService.findProductById(Integer.parseInt(id));
		//促销
		List<Product> cxlist = productService.findCxProduct();
		request.setAttribute("cxlist", cxlist);
		request.setAttribute("product", product);
		return new JspView("jsp.cxdetail");
	}

订单action

@IocBean
@At("/order")
public class OrderAction {
	
	@Inject("refer:orderService")
	private OrderService orderService;
	@Inject("refer:productService")
	private ProductService productService;
	@Inject("refer:userService")
	private UserService userService;
	
	/**
	 * add order
	 * @param request
	 * @return
	 */
	@At("/add")
	public View list(HttpServletRequest request){
		String id = request.getParameter("id");
		String price = request.getParameter("price");
		User user = (User)request.getSession().getAttribute("user");
		Order order = new Order();
		order.setProid(Integer.parseInt(id));
		List<Order> listOrd = orderService.findOrderByUseridAndProid(user.getId(), Integer.parseInt(id));
		if(listOrd.size()>0){
			Order existorder = listOrd.get(0);
			int count = Integer.parseInt(existorder.getCount())+1;
			int newprice = count* Integer.parseInt(existorder.getSingleprice());
			existorder.setCount(String.valueOf(count));
			existorder.setVisible(1);
			existorder.setPrice(String.valueOf(newprice));
			orderService.editOrder(existorder);
		}else{
			order.setSingleprice(price);
			order.setPrice(price);
			order.setCount("1");
			order.setVisible(1);
			order.setUserid(user.getId());
			order = orderService.addOrder(order);
			if(order!=null){
				request.setAttribute("msg", "添加成功");
			}else{
				request.setAttribute("msg", "添加失败");
			}
		}
		List<Order> list = orderService.getCartList(user.getId());
		request.setAttribute("list", list);
		int sumprice = 0;
		for(int i=0;i<list.size();i++){
			list.get(i).setUser(userService.findUserById(list.get(i).getUserid()));
			list.get(i).setProduct(productService.findProductById(list.get(i).getProid()));
			if(sumprice==0){
				sumprice = Integer.parseInt(list.get(i).getPrice());
			}else{
				sumprice += Integer.parseInt(list.get(i).getPrice());
			}
		}
		request.setAttribute("sumprice", sumprice);
		request.setAttribute("count", list.size());
		return new JspView("jsp.cart");
	}
	/**
	 * 
	 * @param request
	 * @return
	 */
	@At("/changeCount")
	public View changeCount(HttpServletRequest request){
		String id = request.getParameter("id");
		String count = request.getParameter("count");
		Order order = orderService.findOrderById(Integer.parseInt(id));
		order.setCount(count);
		int price = Integer.parseInt(count)*Integer.parseInt(order.getSingleprice());
		order.setPrice(String.valueOf(price));
		orderService.editOrder(order);
		//**
		User user = (User)request.getSession().getAttribute("user");
		List<Order> list = orderService.getCartList(user.getId());
		request.setAttribute("list", list);
		int sumprice = 0;
		for(int i=0;i<list.size();i++){
			list.get(i).setUser(userService.findUserById(list.get(i).getUserid()));
			list.get(i).setProduct(productService.findProductById(list.get(i).getProid()));
			if(sumprice==0){
				sumprice = Integer.parseInt(list.get(i).getPrice());
			}else{
				sumprice += Integer.parseInt(list.get(i).getPrice());
			}
		}
		request.setAttribute("sumprice", sumprice);
		request.setAttribute("count", list.size());
		return new JspView("jsp.cart");
	}

产品action

@IocBean
@At("/product")
public class ProductAction {

	@Inject("refer:productService")
	private ProductService productService;

	/**
	 * 商品列表
	 * 
	 * @param request
	 * @return
	 */
	@At("/list")
	public View list(HttpServletRequest request) {
		String pagerNum = request.getParameter("pagerNum");
		if (pagerNum == null) {
			pagerNum = "1";
		}
		// 总数量
		List<Product> list = productService.findListProduct1();
		request.setAttribute("count", list.size());
		request.setAttribute("maxPager", PagerUtil.getMaxPager(list.size()));
		list = (List<Product>) PagerUtil.getPager(list,
				Integer.parseInt(pagerNum));
		request.setAttribute("list", list);
		request.setAttribute("pagerNum", pagerNum);
		return new JspView("jsp.admin.product.list");
	}

	/**
	 * 跳转到添加商品页面
	 * 
	 * @param request
	 * @return
	 */
	@At("/toadd")
	public View toadd(HttpServletRequest request) {
		return new JspView("jsp.admin.product.add");
	}

	/**
	 * add pro
	 * 
	 * @param request
	 * @return
	 * @throws IOException
	 */
	@At("/add")
	@AdaptBy(type = UploadAdaptor.class, args = { "${app.root}/WEB-INF/tmp" })
	public View add(HttpServletRequest request, @Param("file") TempFile file,
			@Param("name") String name, @Param("price") String price,
			@Param("content") String content) throws IOException {

		Product product = new Product();
		product.setName(name);
		product.setPrice(price);
		product.setContent(content);

		// 保存图片开始
		File f = file.getFile();
		String filename = f.getName();
		int address = filename.lastIndexOf(".");
		String type = filename.substring(address + 1, filename.length());
		String date = new SimpleDateFormat("yyyyMMddHHmmssSS").format(Calendar
				.getInstance().getTime());
		//String yp = "D:\\file\\";
		String yp = request.getServletContext().getRealPath("/");
		//String changePath = yp + date + "." + type;// 实际保存路径
		String changePath = yp + "\\resources\\file\\" + date + "." + type;// 实际保存路径
		//String changePath = yp + "/resources/file/" + date + "." + type;// mac系统 实际保存路径
		File desFile = new File(changePath);
		File pck = new File(yp);
		// 检查目录
		if (!pck.exists()) {
			pck.mkdirs();
		}
		desFile.createNewFile();
		FileOutputStream out = new FileOutputStream(desFile);
		FileInputStream in = new FileInputStream(f);
		byte[] stream = new byte[in.available()];
		in.read(stream);
		out.write(stream);
		out.close();
		in.close();
		// 保存到硬盘结束

		// //
		String imgPath = "resources/file/" + date + "." + type;
		product.setImg(imgPath);
		product = productService.addProduct(product);
		if (product != null) {
			request.setAttribute("msg", "添加成功");
		} else {
			request.setAttribute("msg", "添加失败");
		}

		// ****
		String pagerNum = request.getParameter("pagerNum");
		if (pagerNum == null) {
			pagerNum = "1";
		}
		List<Product> list = productService.findListProduct();
		request.setAttribute("count", list.size());
		request.setAttribute("maxPager", PagerUtil.getMaxPager(list.size()));
		list = (List<Product>) PagerUtil.getPager(list,
				Integer.parseInt(pagerNum));
		request.setAttribute("list", list);	
		request.setAttribute("pagerNum", pagerNum);
		return new JspView("jsp.admin.product.list");
	}

如果也想学习本系统,下面领取。回复:002JSP 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值