Jsp+Servlet基于B2C的网上拍卖系统_秒杀与竞价
作者主頁(yè):源碼空間站2022
?簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、Java項(xiàng)目、學(xué)習(xí)資料、技術(shù)互助
文末獲取源碼
項(xiàng)目介紹
基于B2C的網(wǎng)上拍賣系統(tǒng)主要用于幫助人們應(yīng)用互聯(lián)網(wǎng)方便快捷買到自己所中意的商品,并參與到秒殺與競(jìng)拍當(dāng)中。
主要功能包括:
1.前臺(tái)模塊
(1)普通用戶登錄/注冊(cè)。
(2)分類查看商品(普通商品與促銷商品)
(3)查看商品詳細(xì)信息
(4)查看秒殺商品
(5)查看競(jìng)拍商品
(6)將商品加入購(gòu)物車
(7)購(gòu)買,結(jié)算功能
(8)留言
2.后臺(tái)模塊
(1)修改密碼
(2)商品管理:
-- 編輯/刪除
-- 設(shè)置/取消促銷
(3)秒殺商品:設(shè)置/取消秒殺
(4)競(jìng)拍商品:設(shè)置/取消競(jìng)拍
(5)訂單管理:查看訂單
(6)留言管理:查看/刪除留言
環(huán)境需要
1.運(yùn)行環(huán)境:最好是java jdk 1.8,我們?cè)谶@個(gè)平臺(tái)上運(yùn)行的。其他版本理論上也可以。
2.IDE環(huán)境:IDEA,Eclipse,Myeclipse都可以。推薦IDEA;
3.tomcat環(huán)境:Tomcat 7.x,8.x,9.x版本均可
4.硬件環(huán)境:windows 7/8/10 1G內(nèi)存以上;或者 Mac OS;
5.是否Maven項(xiàng)目: 否;查看源碼目錄中是否包含pom.xml;若包含,則為maven項(xiàng)目,否則為非maven項(xiàng)目?
6.數(shù)據(jù)庫(kù):MySql 5.7版本;
技術(shù)棧
1. 后端:Servlet
2. 前端:JSP+bootstrap+jQuery
使用說(shuō)明
1. 使用Navicat或者其它工具,在mysql中創(chuàng)建對(duì)應(yīng)名稱的數(shù)據(jù)庫(kù),并導(dǎo)入項(xiàng)目的sql文件;
2. 將項(xiàng)目中resources/ioc/dao.js配置文件中的數(shù)據(jù)庫(kù)配置改為自己的配置;
3. 使用IDEA/Eclipse/MyEclipse導(dǎo)入項(xiàng)目,Eclipse/MyEclipse導(dǎo)入時(shí),若為maven項(xiàng)目請(qǐng)選擇maven;若為maven項(xiàng)目,導(dǎo)入成功后請(qǐng)執(zhí)行maven clean;maven install命令,配置tomcat,然后運(yùn)行;
4.項(xiàng)目訪問(wèn)路徑:
前臺(tái):http://localhost:8080/sale
后臺(tái):http://localhost:8080/sale/user/adminlogin
運(yùn)行截圖
相關(guān)代碼
首頁(yè)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;/*** 跳轉(zhuǎn)到首頁(yè)* @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");}/*** 跳轉(zhuǎn)到促銷* @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");}/*** 跳轉(zhuǎn)到秒殺* @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");}/*** 跳轉(zhuǎn)到競(jìng)拍* @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);//競(jìng)拍List<Product> jplist = productService.findJpList();request.setAttribute("jplist", jplist);return new JspView("jsp.auction");}/*** 跳轉(zhuǎn)到留言* @param request* @return*/@At("/toMessage")public View toMessage(HttpServletRequest request){return new JspView("jsp.message");}/*** 跳轉(zhuǎn)到產(chǎn)品詳細(xì)* @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");}/*** 跳轉(zhuǎn)到促銷產(chǎn)品詳細(xì)* @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");}產(chǎn)品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";}// 總數(shù)量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");}/*** 跳轉(zhuǎn)到添加商品頁(yè)面* * @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;// 實(shí)際保存路徑String changePath = yp + "\\resources\\file\\" + date + "." + type;// 實(shí)際保存路徑//String changePath = yp + "/resources/file/" + date + "." + type;// mac系統(tǒng) 實(shí)際保存路徑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();// 保存到硬盤結(jié)束// //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");}如果也想學(xué)習(xí)本系統(tǒng),下面領(lǐng)取。回復(fù):002JSP?
?
總結(jié)
以上是生活随笔為你收集整理的Jsp+Servlet基于B2C的网上拍卖系统_秒杀与竞价的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 解析pdf矢量图_如何从P
- 下一篇: 2019access创建数据表、查询和窗