Java如何实现玩具商城的前台与后台
Java如何实现玩具商城的前台与后台
这篇文章将为大家详细讲解有关Java如何实现玩具商城的前台与后台,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、项目简述
本系统主要实现的功能有:
网上商城系统,前台+后台管理,用户注册,登录,商品展示,分组展示,搜索,收货地址管理,购物车管理,添加,购买,个人信息修改。订单查询等等,后台商品管理,分类管理,库存管理,订单管理,用户管理,信息修改等等。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
Springboot+ SpringMVC + MyBatis + Jsp + Html+ JavaScript + JQuery + Ajax + maven等等
后台管理代码:
@ControllerpublicclassIndexController{/***网站首页**/@GetMapping("/")publicStringindex(){return"/index";}/***联系我们**/@GetMapping("/contacts")publicStringcontacts(){return"/common/contacts";}/***关于我们**/@GetMapping("/about")publicStringabout(){return"/common/about";}/***后台管理首页**/@GetMapping("/admin/index")publicStringadminindex(HttpSessionsession,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{Stringadmin=(String)session.getAttribute("admin");/**拦截器:如果不是管理员,则进行重定向*/if(StringUtils.isEmpty(admin)){response.sendRedirect(request.getContextPath()+"/");//重定向}return"/admin/index";}/***用户登录注册**/@GetMapping("/login")publicStringlogin(){return"/user/logreg";}/***用户忘记密码**/@GetMapping("/forget")publicStringforget(){return"user/forget";}/***个人中心**/@GetMapping("/user/center")publicStringusercenter(HttpSessionsession,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{Stringuserid=(String)session.getAttribute("userid");/**拦截器:如果不是用户角色登录,则进行重定向*/if(StringUtils.isEmpty(userid)){response.sendRedirect(request.getContextPath()+"/");//重定向}return"/user/user-center";}/***用户修改密码**/@RequiresPermissions("user:userinfo")@GetMapping("/user/pass")publicStringuserinfo(){return"/user/updatepass";}/***用户更换手机号**/@RequiresPermissions("user:userinfo")@GetMapping("/user/phone")publicStringuserphone(){return"/user/updatephone";}/***用户商品列表**/@GetMapping("/user/product")publicStringuserproduct(){return"/user/product/productlist";}/***通知消息**/@GetMapping("/user/message")publicStringcommonmessage(){return"/user/message/message";}/***弹出式通知消息**/@GetMapping("/user/alertmessage")publicStringalertmessage(){return"/user/message/alertmessage";}/***跳转到产品清单界面**/@GetMapping("/product-listing")publicStringtoproductlisting(){return"/common/product-listing";}/***跳转到产品清单搜索界面**/@GetMapping("/product-search")publicStringtoProductSearchs(Stringkeys,ModelMapmodelMap){if(keys==null){return"/error/404";}modelMap.put("keys",keys);return"/common/product-search";}/**用户个人中心默认展示图*/@GetMapping("/home/console")publicStringhomeconsole(){return"/admin/home/console";}/***管理员首页默认展示图**/@GetMapping("/echars/console")publicStringechars(){return"/admin/echars/console";}@GetMapping("/app/message/index")publicStringappmessageindex(){return"/admin/app/message/index";}/***用户收藏列表**/@GetMapping("/user/collect")publicStringusercollect(){return"/user/collect/collectlist";}/***用户售出记录**/@GetMapping("/user/sold")publicStringsold(){return"/user/sold/soldrecord";}/***销量列表**/@GetMapping("/admin/sold")publicStringadminSold(){return"/admin/sold/soldrecord";}/***首页公告清单**/@GetMapping("/user/newslist")publicStringuserNews(){return"/common/listnews";}/***管理员公告列表**/@GetMapping("/admin/newslist")publicStringadminNews(){return"/admin/news/newslist";}}
订单和商品服务类:
@WebServlet("/backstage_goodsServlet")publicclassGoodsServletextendsHttpServlet{GoodsServiceservice=newGoodsService();@Overrideprotectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{Stringaction=req.getParameter("action");switch(action){case"addGoods":addGoods(req,resp);break;case"getGoodsList":getGoodsList(req,resp);break;case"getGoodsListByName":getGoodsListByName(req,resp);break;case"deleteGoods":deleteGoods(req,resp);break;case"toGoodsUpdatePage":toGoodsUpdatePage(req,resp);break;case"updateGoods":updateGoods(req,resp);break;case"upGoodsImage":upGoodsImage(req,resp);break;case"fastbuy":sendOrder(req,resp);break;}}/***提交订单*@throwsIOException*/publicvoidsendOrder(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//设置日期格式Ordersorder=newOrders();order.setNumber(order.getRandomString(10));order.setTime(df.format(newDate()));order.setName(req.getParameter("recipients"));order.setAddress(req.getParameter("address"));order.setPhone(req.getParameter("phone"));order.setAddress_label(req.getParameter("addressLabel"));order.setSex(req.getParameter("sex"));order.setUser("sjb");order.setGoods_id(99);order.setGoods_num(3);order.setGoods_status(1);intd=service.addOrder(order);try{if(d>0){JSONResultok=JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else{JSONResulterror=JSONResult.errorMsg("订单提交失败!");resp.getWriter().println(JsonUtil.javaObjectToJson(error));}}catch(Exceptione){e.printStackTrace();}}/***保存商品*@throwsIOException*/publicvoidaddGoods(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");FileUploadUtilupFile=newFileUploadUtil();ServletContextservletContext=req.getSession().getServletContext();List
订单服务类:
@WebServlet("/backstage_ordersServlet")publicclassOrdersServletextendsHttpServlet{OrdersServiceservice=newOrdersService();@Overrideprotectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{Stringaction=req.getParameter("action");System.out.println(action);switch(action){case"getOrdersList":getOrdersList(req,resp);break;case"getOrdersListByName":getOrdersListByName(req,resp);break;case"deleteOrders":deleteOrders(req,resp);break;case"deleteAllOrders":deleteAllOrders(req,resp);break;case"toOrdersUpdatePage":toOrdersUpdatePage(req,resp);break;case"updateOrders":updateOrders(req,resp);break;case"fastbuy":sendOrder(req,resp);break;}}/**删除全部订单*/privatevoiddeleteAllOrders(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");//TODO自动生成的方法存根intd=service.deleteAllOrders();try{if(d>0){JSONResultok=JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else{JSONResulterrorMsg=JSONResult.errorMsg("删除失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}}catch(Exceptione){e.printStackTrace();}}/***提交订单*@throwsIOException*/publicvoidsendOrder(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//设置日期格式Useruser=(User)req.getSession().getAttribute("user");Ordersorder=newOrders();order.setNumber(order.getRandomString(10));order.setTime(df.format(newDate()));order.setName(req.getParameter("recipients"));order.setAddress(req.getParameter("address"));order.setPhone(req.getParameter("phone"));order.setAddress_label(req.getParameter("addressLabel"));order.setSex(req.getParameter("sex"));order.setUser(user.getUserName());order.setGoods_id(Integer.parseInt(req.getParameter("id")));order.setGoods_num(Integer.parseInt(req.getParameter("num")));order.setGoods_status(1);intd=service.addOrder(order);try{if(d>0){JSONResultok=JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else{JSONResulterror=JSONResult.errorMsg("订单提交失败!");resp.getWriter().println(JsonUtil.javaObjectToJson(error));}}catch(Exceptione){e.printStackTrace();}}/***向前端页面返回订单数据列表*/publicvoidgetOrdersList(HttpServletRequestreq,HttpServletResponseresp){List
用户服务类:
@WebServlet("/backstage_userServlet")publicclassUserServletextendsHttpServlet{UserServiceservice=newUserService();@Overrideprotectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{Stringaction=req.getParameter("action");switch(action){case"login":login(req,resp);break;case"modifyPassword":modifyPassword(req,resp);break;case"checkOldPassword":checkOldPassword(req,resp);break;case"afterModifyPassword":afterModifyPassword(req,resp);break;case"logout":logout(req,resp);break;}}/***用户登录*@throwsIOException*/publicvoidlogin(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");//获取前端页面传来的用户名StringuserName=req.getParameter("userName");//获取前端页面传来的密码Stringpassword=req.getParameter("password");//1、先验证该用户的角色是否为管理员StringuserRole=service.getUserRoleByName(userName);try{if(!"admin".equals(userRole)){JSONResulterrorMsg=JSONResult.errorMsg("暂无登录权限");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}else{//2、获取用户数据进行用户名和密码验证Useruser=service.getUserByNameAndPassword(userName,password);if(user!=null){//将用户数据保存到session作用域中,方便在后续的操作中使用用户数据req.getSession().setAttribute("user",user);JSONResultok=JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else{//将错误信息封装在结果集中JSONResultresult=JSONResult.errorMsg("用户名或密码错误,请重试");//以json的形式返回给前端resp.getWriter().println(JsonUtil.javaObjectToJson(result));}}}catch(Exceptione){e.printStackTrace();}}/***检查旧密码是否正确,在修改密码操作时使用*@throwsIOException*/publicvoidcheckOldPassword(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");Useruser=(User)req.getSession().getAttribute("user");StringoldPassword=service.getPasswordById(user.getId());Stringpassword=req.getParameter("password");try{if(!oldPassword.equals(password)){JSONResulterrorMsg=JSONResult.errorMsg("原始密码错误,请重新输入");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}else{JSONResultok=JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}}catch(IOExceptione){e.printStackTrace();}}/***修改密码*@throwsIOException*/publicvoidmodifyPassword(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式resp.setContentType("text/html;charset=utf-8");Stringpassword=req.getParameter("newPassword");Useruser=(User)req.getSession().getAttribute("user");intid=user.getId();intd=service.updatePasswordById(id,password);try{if(d>0){JSONResultok=JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else{JSONResulterrorMsg=JSONResult.errorMsg("修改失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}}catch(Exceptione){e.printStackTrace();}}/***成功修改密码后,清除session中的数据,并且重新跳转到登录页*@paramreq*@paramresp*/publicvoidafterModifyPassword(HttpServletRequestreq,HttpServletResponseresp){req.getSession().removeAttribute("user");try{//使用iframe时,要避免这种直接跳转的方式//此时只会让内嵌的iframe跳转到登录页,并非整个页面//resp.sendRedirect("backstage/login.jsp");PrintWriterwriter=resp.getWriter();writer.print("");writer.print("");writer.print("");}catch(IOExceptione){e.printStackTrace();}}/***退出登录*/publicvoidlogout(HttpServletRequestreq,HttpServletResponseresp){req.getSession().removeAttribute("user");try{resp.sendRedirect("backstage/login.jsp");}catch(IOExceptione){e.printStackTrace();}}}
关于“Java如何实现玩具商城的前台与后台”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
推荐阅读
-
java fileinputstream中文乱码如何解决
javafileinputstream中文乱码如何解决今天小编给...
-
java实现点赞功能
-
java实现简单点赞功能
-
java实现收藏功能
-
java输入空行结束问题怎么解决
-
Java线程中常用的操作有哪些
-
java输入时怎么通过回车来结束输入
java输入时怎么通过回车来结束输入这篇文章主要介绍“java输入...
-
Java数据结构之线索化二叉树怎么实现
Java数据结构之线索化二叉树怎么实现这篇文章主要介绍“Java数...
-
Java中的泛型怎么理解
Java中的泛型怎么理解本篇内容介绍了“Java中的泛型怎么理解”...
-
Java字符串编码解码性能怎么提升
Java字符串编码解码性能怎么提升这篇“Java字符串编码解码性能...