• Java项目:鞋子商城系统(java+SSM+JSP+layui+bootstrap+echarts+Mysql)


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

    项目介绍

    本项目分为管理员与用户两种角色;
    管理员角色包含以下功能:
    管理员登录,商品管理,订单管理,人员管理,轮播图管理,评价管理,商品分类管理,修改管理员资料,修改密码等功能。

    用户角色包含以下功能:
    用户登录,查看首页,查看商品详情,查找商品,查看我的订单,修改密码,添加地址,查看购物车,确认下单 ,提交订单,修改个人资料等功能。

    环境需要

    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.数据库:MySql 5.7版本;
    6.是否Maven项目:是;


    技术栈

    1. 后端:Spring+SpringMVC+Mbytes
    2. 前端:JSP+css+javascript+bootstrap+jQuery+layui+echarts


    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置;
    4. 运行项目,在浏览器中输入localhost:8080/ssm_xiezishop

     

     

     

     

     

     

    商品管理控制层: 

    1. @Controller
    2. @RequestMapping("/goods")
    3. public class GoodsController {
    4. @Autowired
    5. private IGoodsService goodsService;
    6. @Autowired
    7. private IGuessService guessService;
    8. @Autowired
    9. private IEvaluateService evaluateService;
    10. @RequestMapping("findAll")
    11. public String findAllGoods(Model model){
    12. List<Goods> list = goodsService.findAll();
    13. model.addAttribute("goodsList", list);
    14. return "list";
    15. }
    16. @RequestMapping("/findGoodsDiscounts")
    17. @ResponseBody
    18. public JSONObject findGoodsDiscounts(){
    19. PageInfo<Goods> info = goodsService.findGoodsDiscounts();
    20. JSONObject obj = new JSONObject();
    21. obj.put("msg", "");
    22. obj.put("code", 0);
    23. obj.put("count", info.getTotal());
    24. obj.put("data", info.getList());
    25. return obj;
    26. }
    27. @RequestMapping("{goodsId}")
    28. public String findAllGoods(@PathVariable("goodsId")Integer goodsId,Model model){
    29. Goods goods = goodsService.findById(goodsId);
    30. List<Evaluate> evaList = evaluateService.findEvaluateByGoodsId(goodsId);
    31. model.addAttribute("goods", goods);
    32. model.addAttribute("evaList", evaList);
    33. return "detail";
    34. }
    35. @RequestMapping("preUpdate")
    36. public String preUpdate(Integer goodsId,Model model){
    37. Goods goods = goodsService.findById(goodsId);
    38. model.addAttribute("goods", goods);
    39. return "update";
    40. }
    41. @RequestMapping("findBySplitPage")
    42. @ResponseBody
    43. public JSONObject findBySplitPage(Integer page,Integer limit,String keyword){
    44. PageInfo<Goods> info = goodsService.findBySplitPage(page, limit,keyword);
    45. JSONObject obj=new JSONObject();
    46. obj.put("msg", "");
    47. obj.put("code", 0);
    48. obj.put("count", info.getTotal());
    49. obj.put("data", info.getList());
    50. return obj;
    51. }
    52. @RequestMapping("findGoodsByType")
    53. @ResponseBody
    54. public List<Goods> findGoodsByType(Integer typeId){
    55. List<Goods> list = goodsService.findGoodsByType(typeId);
    56. return list;
    57. }
    58. @RequestMapping("detail")
    59. public String findGoodsDetail(Integer goodsId,Model model,HttpServletRequest request){
    60. Goods goods = goodsService.findById(goodsId);
    61. model.addAttribute("goods",goods);
    62. model.addAttribute("evaList", goods.getEvaList());
    63. HttpSession session = request.getSession();
    64. Users user=(Users) session.getAttribute("user");
    65. if(user!=null){
    66. Guess guess = guessService.findGuessByUserId(user.getUserId(), goods.getGoodsId());
    67. if(guess!=null){
    68. guess.setGuessNum(guess.getGuessNum()+1);
    69. guessService.updateGuess(guess);
    70. }else{
    71. Guess g=new Guess(goods, 1, -1, user);
    72. guessService.addGuess(g);
    73. }
    74. }
    75. return "userview/product_detail";
    76. }
    77. @RequestMapping("findHotGoods")
    78. @ResponseBody
    79. public List<Goods> findHotGoods(){
    80. return goodsService.findHotGoods(4);
    81. }
    82. @RequestMapping("search")
    83. public ModelAndView searchGoodsByName(String keyWord){
    84. ModelAndView mv=new ModelAndView();
    85. List<Goods> list = goodsService.findGoodsLikeName(keyWord);
    86. mv.addObject("searchList",list);
    87. mv.setViewName("userview/search");
    88. return mv;
    89. }
    90. @RequestMapping("searchPre")
    91. @ResponseBody
    92. public List<Goods> searchPreGoods(String keyword){
    93. List<Goods> list = goodsService.findGoodsLikeName(keyword);
    94. return list;
    95. }
    96. @RequestMapping("delete")
    97. @ResponseBody
    98. public String deleteGoods(Integer goodsId){
    99. Integer rs = goodsService.deleteGoods(goodsId);
    100. if(rs>0){
    101. return "success";
    102. }else{
    103. return "fail";
    104. }
    105. }
    106. @RequestMapping("updateGoods")
    107. @ResponseBody
    108. public String updateGoods(Goods goods){
    109. Integer rs = goodsService.update(goods);
    110. if(rs>0){
    111. return "success";
    112. }else{
    113. return "fail";
    114. }
    115. }
    116. @RequestMapping("batchDelete")
    117. @ResponseBody
    118. public String batchDelete(String batchId){
    119. Integer rs=0;
    120. String[] id = batchId.split(",");
    121. for (String s : id) {
    122. Integer goodsId = Integer.valueOf(s);
    123. rs = goodsService.deleteGoods(goodsId);
    124. }
    125. if(rs>0){
    126. return "success";
    127. }else{
    128. return "fail";
    129. }
    130. }
    131. @RequestMapping(value="uploadImg",method={RequestMethod.POST})
    132. @ResponseBody
    133. public Object uploadGoodsImg(@PathVariable(value="file")MultipartFile file,HttpServletRequest request){
    134. String str = file.getOriginalFilename();
    135. String name=UUIDUtil.getUUID()+str.substring(str.lastIndexOf("."));
    136. String path=request.getSession().getServletContext().getRealPath("/upload")+"/"+name;
    137. try {
    138. file.transferTo(new File(path));
    139. } catch (IllegalStateException | IOException e) {
    140. e.printStackTrace();
    141. }
    142. JSONObject obj=new JSONObject();
    143. obj.put("src", name);
    144. return obj;
    145. }
    146. @RequestMapping("addGoods")
    147. @ResponseBody
    148. public String addGoods(Goods goods){
    149. Integer rs = goodsService.addGoods(goods);
    150. if(rs>0){
    151. return "success";
    152. }else{
    153. return "fail";
    154. }
    155. }
    156. @RequestMapping("findGoodsByVolume")
    157. @ResponseBody
    158. public JSONObject findGoodsByVolume(){
    159. List<Goods> goodsList = goodsService.findGoodsByVolume(5);
    160. String[] name=new String[5];
    161. Integer[] volume=new Integer[5];
    162. for(int i=0;i<goodsList.size();i++){
    163. name[i]=goodsList.get(i).getGoodsName();
    164. volume[i]=goodsList.get(i).getGoodsVolume();
    165. }
    166. JSONObject obj=new JSONObject();
    167. obj.put("name", name);
    168. obj.put("volume", volume);
    169. return obj;
    170. }
    171. @RequestMapping("chaozan")
    172. @ResponseBody
    173. public JSONObject chaozan(Integer goodsId,HttpServletRequest request){
    174. HttpSession session = request.getSession();
    175. Users user=(Users) session.getAttribute("user");
    176. Integer rs = goodsService.chaozan(user.getUserId(),goodsId);
    177. Goods goods = goodsService.findById(goodsId);
    178. JSONObject obj=new JSONObject();
    179. if(rs>0){
    180. obj.put("goodzan", goods.getGoodsZan());
    181. obj.put("result", "success");
    182. }else{
    183. obj.put("result", "fail");
    184. }
    185. return obj;
    186. }
    187. }

    用户管理控制层:

    1. @Controller
    2. @RequestMapping("/user")
    3. public class UserController {
    4. private static final String String = null;
    5. @Autowired
    6. private IUserService userService;
    7. @RequestMapping("login")
    8. @ResponseBody
    9. public String login(String userName,String userPass,HttpServletRequest request){
    10. Users user = userService.login(userName, MD5Utils.passToMD5(userPass));
    11. if(user!=null){
    12. HttpSession session = request.getSession();
    13. session.setAttribute("user", user);
    14. return "success";
    15. }
    16. return "fail";
    17. }
    18. @RequestMapping("logout")
    19. public String logout(HttpServletRequest request){
    20. HttpSession session = request.getSession();
    21. session.removeAttribute("user");
    22. return "index";
    23. }
    24. @RequestMapping("amendinfo")
    25. public String preModifyInfo(HttpServletRequest request,Model model){
    26. HttpSession session = request.getSession();
    27. Users user = (Users) session.getAttribute("user");
    28. model.addAttribute("user", user);
    29. return "userview/amend_info";
    30. }
    31. @RequestMapping(value="upload",method={RequestMethod.POST})
    32. @ResponseBody
    33. public JSONObject uploadHeaderPic(@PathVariable(value="file")MultipartFile file,HttpServletRequest request){
    34. String str = file.getOriginalFilename();
    35. String name=UUIDUtil.getUUID()+str.substring(str.lastIndexOf("."));
    36. String path=request.getServletContext().getRealPath("/upload")+"/"+name;
    37. try {
    38. file.transferTo(new File(path));
    39. } catch (IllegalStateException | IOException e) {
    40. e.printStackTrace();
    41. }
    42. JSONObject obj=new JSONObject();
    43. obj.put("userImg", name);
    44. return obj;
    45. }
    46. @RequestMapping("updateUserInfo")
    47. public String updateUserInfo(Users user,Model model,HttpServletRequest request){
    48. Integer rs = userService.updateUserInfo(user);
    49. Users u = userService.findUserById(user.getUserId());
    50. HttpSession session = request.getSession();
    51. session.setAttribute("user", u);
    52. model.addAttribute("user", u);
    53. return "userview/amend_info";
    54. }
    55. @RequestMapping("modifyUserPass")
    56. @ResponseBody
    57. public String modifyUserPass(String oldPass,String newPass,String rePass,HttpServletRequest request){
    58. HttpSession session = request.getSession();
    59. Users user = (Users) session.getAttribute("user");
    60. if(MD5Utils.passToMD5(oldPass).equals(user.getUserPass()) && newPass.equals(rePass)){
    61. user.setUserPass(MD5Utils.passToMD5(newPass));
    62. userService.updateUserInfo(user);
    63. session.removeAttribute("user");
    64. return "success";
    65. }else{
    66. return "fail";
    67. }
    68. }
    69. @RequestMapping("findAllUser")
    70. @ResponseBody
    71. public JSONObject findAllUser(Integer page,Integer limit,String keyword){
    72. PageInfo<Users> info = userService.findAllUsersBySplitPage(page,limit,keyword);
    73. JSONObject obj=new JSONObject();
    74. obj.put("msg", "");
    75. obj.put("code", 0);
    76. obj.put("count",info.getTotal());
    77. obj.put("data", info.getList());
    78. return obj;
    79. }
    80. @RequestMapping("changeUserState")
    81. @ResponseBody
    82. public String changeUserState(Integer userId,Integer state){
    83. Integer rs = userService.changeUserState(state, userId);
    84. if(rs>0){
    85. return "success";
    86. }else{
    87. return "fail";
    88. }
    89. }
    90. @RequestMapping("updateUser")
    91. @ResponseBody
    92. public String updateUser(Users user){
    93. Integer rs = userService.updateUserInfo(user);
    94. if(rs>0){
    95. return "success";
    96. }else{
    97. return "fail";
    98. }
    99. }
    100. @RequestMapping("deleteUser")
    101. @ResponseBody
    102. public String deleteUser(Integer userId){
    103. Integer rs = userService.deleteUser(userId);
    104. if(rs>0){
    105. return "success";
    106. }else{
    107. return "fail";
    108. }
    109. }
    110. @RequestMapping("batchDelete")
    111. @ResponseBody
    112. public String batchDelete(String batchId){
    113. String[] list = batchId.split(",");
    114. boolean flag=true;
    115. for (String id : list) {
    116. Integer userId = Integer.valueOf(id);
    117. Integer rs = userService.deleteUser(userId);
    118. if(rs<0){
    119. flag=false;
    120. }
    121. }
    122. if(flag){
    123. return "success";
    124. }else{
    125. return "fail";
    126. }
    127. }
    128. @RequestMapping("register")
    129. @ResponseBody
    130. public String register(Users user){
    131. user.setUserPass(MD5Utils.passToMD5(user.getUserPass()));
    132. Integer rs = userService.addUser(user);
    133. if(rs>0){
    134. return "success";
    135. }else{
    136. return "fail";
    137. }
    138. }
    139. }

    管理员管理控制层:

    1. @Controller
    2. @Scope("prototype")
    3. @RequestMapping("/admin")
    4. public class AdminController {
    5. @Autowired
    6. private IAdminService adminService;
    7. @RequestMapping("/login")
    8. @ResponseBody
    9. public String login(String adminName,String adminPass,HttpServletRequest request){
    10. Admins admin = adminService.login(adminName, adminPass);
    11. HttpSession session = request.getSession();
    12. if(admin!=null){
    13. session.setAttribute("admin", admin);
    14. request.setAttribute("admins", adminService.findAll());
    15. return "success";
    16. }
    17. return "fail";
    18. }
    19. @RequestMapping("/findAll")
    20. @ResponseBody
    21. public JSONObject findAll(){
    22. PageInfo<Admins> info = adminService.findAll();
    23. JSONObject obj = new JSONObject();
    24. obj.put("msg", "");
    25. obj.put("code", 0);
    26. obj.put("count", info.getTotal());
    27. obj.put("data", info.getList());
    28. return obj;
    29. }
    30. @RequestMapping("logout")
    31. public String logout(HttpServletRequest request){
    32. HttpSession session = request.getSession();
    33. session.removeAttribute("admin");
    34. return "forward:/view/admin";
    35. }
    36. @RequestMapping("updatePass")
    37. @ResponseBody
    38. public String updatePass(String oldPass,String newPass,HttpServletRequest request){
    39. HttpSession session = request.getSession();
    40. Admins admin = (Admins) session.getAttribute("admin");
    41. if(oldPass.equals(admin.getAdminPass())){
    42. admin.setAdminPass(newPass);
    43. adminService.updateAdmin(admin);
    44. session.removeAttribute("admin");
    45. return "success";
    46. }
    47. return "fail";
    48. }
    49. }

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

  • 相关阅读:
    Mybatis-plus通过exists判断记录是否存在
    【数字IC前端入门】02-FPGA基础知识
    小程序中实现excel数据的批量导入
    MVCC:多版本并发控制案例分析(二)
    实验篇(7.2) 10. 扩充物理实验环境 ❀ 远程访问
    消息订阅与发布pubsub-js的使用与案例
    【Java】NIO概述
    【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法
    框架学习1:Spring常见问题
    2022年上半年中国数字藏品(NFT)市场分析总结
  • 原文地址:https://blog.csdn.net/m0_66863468/article/details/125438638