Java如何实现线上水果超市商城
这篇文章将为大家详细讲解有关Java如何实现线上水果超市商城,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
主要技术实现:spring、 springmvc、 redis、 springboot、 mybatis 、session、 jquery 、 md5 、bootstarp.js tomcat、、拦截器等。
主要功能实现: 前端:登录、注册、商品分类查看、浏览水果商品、订单管理、发表评论、收藏商品、购物车管理、个人订单管理查看、个人信息查看修改、地址管理等
后台管理员:后台登录、数据统计、系统版本信息等、管理员管理、角色管理、订单管理、通知公告管理、商品种类、和商品详情管理
主要功能截图如下:
用户填写相关信息进行注册:
水果商品数据列表查看:也可以根据关键字搜索水果商品信息
水果商品详情管理:点击可以查看水果商品购买详情数据、可以进行数量操作、加入订单和购物车以及收藏商品和查看排行等功能
我的购物车详情:可以结算以及继续购物和删除购物车信息等操作
订单详情管理:
我的个人信息管理:可以进行密码修改、订单查看管理、收藏查看管理、收获地址管理
我的评论查看:
我的收藏;可以移除收藏
后台管理员端主要实现: 超级管理员admin登录
系统首页:主要功能用户、角色、通知公告信息、商品种类以及商品详情管理和用户管理以及订单信息管理等数据操作。
后台菜单管理:
用户管理:
通知公告列表展示以及内容添加:
后台管理员对水果商品的管理:
上传商品详情信息:
商品评论数据维护:
订单管理和维护:
项目使用eclipse和idea运行、推荐idea、源码架构:
数据库设计ER图:
订单信息控制层:
@Controller@RequestMapping("/orderInfo")public class OrderInfoController {@Autowiredprivate IOrderInfoBiz orderInfoBiz;@RequestMapping("/addOrderInfo")@ResponseBodypublic Integer addOrderInfo(String ono, String odate, String ano, String price) {Integer in = 0;try {in = orderInfoBiz.addOrderInfo(ono, odate,ano,price);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return in;}@RequestMapping("/getOrder")@ResponseBodypublic List<OrderInfo> getOrder(String mno) {return orderInfoBiz.getOrder(mno);}@RequestMapping("/getallOrder")@ResponseBodypublic List<OrderInfo> getallOrder(String mno) {return orderInfoBiz.getallOrder(mno);}@RequestMapping("/setStatus")@ResponseBodypublic Integer setStatus(String ono) {System.out.println("修改1");return orderInfoBiz.setStatus(ono);}@RequestMapping("/getOrderByPage")@ResponseBodypublic List<OrderInfo> getOrderByPage(String mno, Integer page) {return orderInfoBiz.getOrderByPage(mno,page);}@RequestMapping("/getPage")@ResponseBodypublic Integer getPage(String mno) {int total=orderInfoBiz.getTotal(mno);int page=total%2==0?total/2:total/2+1;return page;}}
商品管理控制层:
@Controller@RequestMapping("/goodsInfo")public class GoodsInfoController {@Autowiredprivate IGoodsInfoBiz goodsInfoBiz; @RequestMapping("/findAll")@ResponseBodypublic List<GoodsInfo> findAll() {return goodsInfoBiz.findAll();}@RequestMapping("/find")@ResponseBodypublic GoodsInfo find(String str) {System.out.println(goodsInfoBiz.find(str));return goodsInfoBiz.find(str);}@RequestMapping("/findByTno")@ResponseBodypublic List<GoodsInfo> findByTno(String tno,String start) {return goodsInfoBiz.findByTno(tno,start);}@RequestMapping("/updateBal")@ResponseBodypublic Integer updateBal(String[] gnos,String[] nums) {return goodsInfoBiz.updateBal(gnos,nums);}@RequestMapping("/finds")@ResponseBodypublic List<GoodsInfo> finds() {return goodsInfoBiz.finds();}@RequestMapping("/upload")@ResponseBodypublic Map<String, Object> add(@RequestParam("upload")MultipartFile pic,HttpServletRequest request) {Map<String, Object> map = new HashMap<String, Object>();if(pic.isEmpty()){return map;}try{String savePath = "images/goods";String path = request.getServletContext().getRealPath("");String temp = request.getServletContext().getInitParameter("uploadPath");if(temp != null){savePath = temp;}//在用户上传的文件名的前面加上时间戳savePath += "/" + new Date().getTime() + "_" +pic.getOriginalFilename();File dest = new File(new File(path).getParentFile(),savePath);//将本地图片保存到服务器pic.transferTo(dest);map.put("fileName", pic.getOriginalFilename());map.put("uploaded", 1);map.put("url","../../../"+savePath);}catch(IllegalStateException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}return map;}//管理员端的商品信息@RequestMapping("/addGood")@ResponseBodypublic int addGood(@RequestParam Map<String,Object> map,@RequestParam MultipartFile pic, HttpServletRequest request){int result =-1; if(pic.isEmpty()){result=-2;//说明没有图片需要上传}String savePath="";try {String path= request.getServletContext().getRealPath("");String temp = request.getServletContext().getInitParameter("uploadpath");if(!StringUtil.checkNull(temp)){savePath = temp;}savePath="images/goods/"+pic.getOriginalFilename(); File dest = new File(path, savePath);//将图片存到服务器的指定文件夹pic.transferTo(dest); } catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}map.put("pics", savePath);result=goodsInfoBiz.addGood(map);return result;}@RequestMapping("/findgoods")@ResponseBodypublic List<GoodsInfo> findgoods() {return goodsInfoBiz.findgoods();}@RequestMapping("/del")@ResponseBodypublic int del(String gno) {return goodsInfoBiz.del(gno);}@RequestMapping("/getPage")@ResponseBodypublic Integer getPage(String tno) {int total=goodsInfoBiz.getTotal(tno);int page=total%10==0?total/10:total/10+1;return page;}}
购物车信息控制层:
@Controller@RequestMapping("/cartInfo")public class CartInfoController {@Autowiredprivate ICartInfoBiz cartInfoBiz; @RequestMapping("/finds")@ResponseBodypublic List<GoodsInfo> finds(String mno) {return cartInfoBiz.finds(mno);}@RequestMapping("/update")@ResponseBodypublic Integer update(String cno, Integer num) {return cartInfoBiz.update(cno, num);}@RequestMapping("/del")@ResponseBodypublic Integer del(String cno) {return cartInfoBiz.del(cno);}@RequestMapping("/add")@ResponseBodypublic Integer add(String mno, String gno, Integer num) {return cartInfoBiz.add(mno,gno,num);}@RequestMapping("/checkCar")@ResponseBodypublic Integer checkCar(String mno, String gno) {return cartInfoBiz.checkCar(mno,gno);}@RequestMapping("/dels")@ResponseBodypublic Integer dels(String[] gnos)throws IOException {return cartInfoBiz.dels(gnos);}}
管理信息控制层:
@Controller@RequestMapping("/admin")public class AdminInfoController {@Autowiredprivate IAdminInfoBiz adminInfoBiz; @RequestMapping("/checkLogin")@ResponseBodypublic Object checkLogin(HttpSession session) {Object obj = session.getAttribute("currentLoginUser");if(obj == null){return "{\"code\":\"101\"}";} else {return obj;}}@RequestMapping("/login")@ResponseBodypublic int login(String aname, String pwd, HttpSession session) {AdminInfo af = adminInfoBiz.login(aname, pwd);int result = 0;if(af != null){session.setAttribute("currentLoginUser", af);result = 1;}return result;}@RequestMapping("/success")public String loginSuccess(HttpSession session) {if(session.getAttribute("currentLoginUser") != null){return "/WEB-INF/back/page/index.html";} else {return "/bk/index.html";//以/开头从项目目录开始算}}@RequestMapping("/findAll")@ResponseBodypublic List<AdminInfo> findAll() {return adminInfoBiz.findAll();}@RequestMapping("/add")@ResponseBodypublic int add(String aname, String pwd, String tel) {return adminInfoBiz.add(aname,pwd,tel);}@RequestMapping("/update")@ResponseBodypublic int update(String aid,String tel) {return adminInfoBiz.update(aid,tel);}@RequestMapping("/del")@ResponseBodypublic int del(String aid) {return adminInfoBiz.del(aid);}}
菜单信息控制层:
@Controller@RequestMapping("/menberInfo")public class MenberInfoController {@Autowiredprivate IMenberInfoBiz menberInfoBiz; @RequestMapping("/logout")private Object logout(HttpSession session) {session.removeAttribute("LoginUser");return "logoutsuccess";}@RequestMapping("/checkLogin")@ResponseBodypublic Object checkLogin(HttpSession session) {Object obj = session.getAttribute("LoginUser");if(obj == null){return "{\"code\":\"101\"}";} else {return obj;}}@RequestMapping("/login")@ResponseBodypublic Integer login(String nickname, String pwd, HttpSession session) {MenberInfo mf = menberInfoBiz.login(nickname, pwd);int result = 0;if(mf != null){session.setAttribute("LoginUser", mf);result = 1;}return result;}@RequestMapping("/getTotal")public Integer getTotal(String no) {return menberInfoBiz.getTotal(no);}@RequestMapping("/reg")@ResponseBodypublic int reg(@RequestParam Map<String, Object> map) {return menberInfoBiz.reg(map);}@RequestMapping("/checkName")@ResponseBodypublic int checkName(String nickname) {return menberInfoBiz.checkName(nickname);}@RequestMapping("/checkTel")@ResponseBodypublic int checkTel(String tel) {return menberInfoBiz.checkTel(tel);}@RequestMapping("/checkEmail")@ResponseBodypublic int checkEmail(String email) {return menberInfoBiz.checkEmail(email);}@RequestMapping("/findAll")@ResponseBodypublic List<MenberInfo> findAll() {return menberInfoBiz.findAll();}@RequestMapping("/del")@ResponseBodypublic int del(String mno) {return menberInfoBiz.del(mno);}}
关于“Java如何实现线上水果超市商城”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341