• SSM实现一个图书销售商场项目网站


     作者主页:夜未央5788

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

    文末获取源码

    项目介绍

    本项目分为前后台,分为管理员与用户两种角色,用户登录前台,管理员登录后台;

    管理员角色包含以下功能:

    管理员登录,订单管理,顾客管理,添加顾客,图书管理,添加图书,类目列表管理,添加类目,用户管理等功能。

    用户角色包含以下功能:

    查看书店首页,用户注册,用户登录,查看图书详情,加入购物车,提交订单,查看我的订单等功能。

    环境需要

    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+mybatis
    2. 前端:JSP+css+javascript+jQuery+html

    使用说明

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

    4. 运行项目,输入http://localhost:8080/ 登录

    运行截图

    前台界面

     

     

     

     

    后台界面

     

     

     

     

     

    相关代码

     管理员控制器

    1. /**
    2. * 功能描述:系统用户模块控制层
    3. *
    4. * @Author 源码空间站
    5. * http://www.shuyue.fun/
    6. * @Date 2019/04/13.
    7. */
    8. @Controller
    9. @RequestMapping("/admin")
    10. public class AdminController {
    11. @Autowired
    12. private IAdminService adminService;
    13. @Autowired
    14. private IUserService userService;
    15. /**
    16. * 功能描述:跳转到系统管理员列表页面
    17. * @param request
    18. * @param response
    19. * @return
    20. * @throws ServletException
    21. * @throws IOException
    22. */
    23. @RequestMapping("/adminList")
    24. public ModelAndView adminList(HttpServletRequest request,@RequestParam(value="page", required=false) Integer page,
    25. @RequestParam(value="rows", required=false) Integer rows,Admin admin,
    26. HttpServletResponse response) throws ServletException, IOException {
    27. ModelAndView view = new ModelAndView();
    28. if(page==null){
    29. page = 1;
    30. }
    31. if(rows==null){
    32. rows = 10;
    33. }
    34. List<Admin> adminList = adminService.getPageList(admin,page,rows);
    35. PageInfo<Admin> pageInfo = new PageInfo<Admin>(adminList);
    36. String pageTool = PageUtil.getPageToolAdmin(request, pageInfo.getTotal(), page, rows);
    37. view.addObject("adminList",adminList);
    38. view.addObject("pageTool",pageTool);
    39. view.setViewName("jsp/admin/pages/admin-list");
    40. return view;
    41. }
    42. /**
    43. * 功能描述:跳转到新增管理员页面
    44. * @param request
    45. * @param response
    46. * @return
    47. * @throws ServletException
    48. * @throws IOException
    49. */
    50. @RequestMapping("/toAdd")
    51. public ModelAndView toAdd(HttpServletRequest request, HttpServletResponse response)
    52. throws ServletException, IOException {
    53. ModelAndView view = new ModelAndView();
    54. view.setViewName("jsp/admin/pages/admin-add");
    55. return view;
    56. }
    57. /**
    58. * 功能描述:新增菜单
    59. * @param request
    60. * @param response
    61. * @return
    62. * @throws ServletException
    63. * @throws IOException
    64. */
    65. @RequestMapping("/adminAdd")
    66. public ModelAndView adminAdd(Admin admin,HttpServletRequest request, HttpServletResponse response)
    67. throws ServletException, IOException {
    68. ModelAndView view = new ModelAndView();
    69. admin.setPassword(SafeUtil.encode(admin.getPassword()));
    70. adminService.add(admin);
    71. view.addObject("msg","新增成功");
    72. view.setViewName("jsp/admin/pages/admin-add");
    73. return view;
    74. }
    75. /**
    76. * 功能描述:重置管理员密码
    77. * @param request
    78. * @param response
    79. * @return
    80. * @throws ServletException
    81. * @throws IOException
    82. */
    83. @RequestMapping("/adminRe")
    84. public ModelAndView adminRe(Admin admin,HttpServletRequest request,
    85. HttpServletResponse response) throws ServletException, IOException {
    86. ModelAndView view = new ModelAndView();
    87. Admin tempAdmin = adminService.findById(admin.getId());
    88. tempAdmin.setPassword(SafeUtil.encode("123456"));
    89. adminService.updateById(tempAdmin);
    90. view.setViewName("redirect:adminList.do");
    91. return view;
    92. }
    93. /**
    94. * 功能描述:删除管理员信息
    95. * @param request
    96. * @param response
    97. * @return
    98. * @throws ServletException
    99. * @throws IOException
    100. */
    101. @RequestMapping("/adminDelete")
    102. public ModelAndView adminDelete(HttpServletRequest request,@RequestParam(value="id",required=true) Integer id,
    103. HttpServletResponse response) throws ServletException, IOException {
    104. ModelAndView view = new ModelAndView();
    105. try {
    106. adminService.deleteById(id);
    107. } catch (Exception e) {
    108. }
    109. view.setViewName("redirect:adminList.do");
    110. return view;
    111. }
    112. }

     图书控制器

    1. /**
    2. * 功能描述:书籍模块控制层
    3. *
    4. * @Author 源码空间站
    5. * http://www.shuyue.fun/
    6. * @Date 2019/04/12.
    7. */
    8. @Controller
    9. @RequestMapping("/book")
    10. public class BookController {
    11. @Autowired
    12. private ICategoryService categoryService;
    13. @Autowired
    14. private IUserService userService;
    15. @Autowired
    16. private IBookService bookService;
    17. /**
    18. * 功能描述:跳转到书籍列表页面
    19. * @param request
    20. * @param response
    21. * @return
    22. * @throws ServletException
    23. * @throws IOException
    24. */
    25. @RequestMapping("/bookList")
    26. public ModelAndView bookList(HttpServletRequest request,@RequestParam(value="page", required=false) Integer page,
    27. @RequestParam(value="rows", required=false) Integer rows,Book book,
    28. HttpServletResponse response) throws ServletException, IOException {
    29. ModelAndView view = new ModelAndView();
    30. if(page==null){
    31. page = 1;
    32. }
    33. if(rows==null){
    34. rows = 10;
    35. }
    36. List<Book> bookList = bookService.getPageList(book,page,rows);
    37. PageInfo<Book> pageInfo = new PageInfo<Book>(bookList);
    38. String pageTool = PageUtil.getPageToolAdmin(request, pageInfo.getTotal(), page, rows);
    39. view.addObject("bookList",bookList);
    40. view.addObject("pageTool",pageTool);
    41. view.setViewName("jsp/admin/pages/book-list");
    42. return view;
    43. }
    44. /**
    45. * 功能描述:跳转到新增页面
    46. * @param request
    47. * @param response
    48. * @return
    49. * @throws ServletException
    50. * @throws IOException
    51. */
    52. @RequestMapping("/toAdd")
    53. public ModelAndView toAdd(HttpServletRequest request, HttpServletResponse response)
    54. throws ServletException, IOException {
    55. ModelAndView view = new ModelAndView();
    56. List<Category> categoryList = categoryService.getList();
    57. view.addObject("categoryList",categoryList);
    58. view.setViewName("jsp/admin/pages/book-add");
    59. return view;
    60. }
    61. /**
    62. * 功能描述:保存新增记录
    63. * @param request
    64. * @param response
    65. * @return
    66. * @throws ServletException
    67. * @throws IOException
    68. */
    69. @RequestMapping("/addBook")
    70. public ModelAndView addBook(Book book,@RequestParam("photo") CommonsMultipartFile photo,HttpServletRequest request) {
    71. DiskFileItem diskFileItem = (DiskFileItem)photo.getFileItem();
    72. File file = diskFileItem.getStoreLocation();
    73. book.setCover(UploadUtil.fileUpload(file, photo.getOriginalFilename(), "picture",request));
    74. ModelAndView view = new ModelAndView();
    75. bookService.add(book);
    76. view.setViewName("jsp/admin/pages/book-add");
    77. view.addObject("msg","保存成功");
    78. return view;
    79. }
    80. /**
    81. * 功能描述:跳转到修改页面
    82. * @param request
    83. * @param response
    84. * @return
    85. * @throws ServletException
    86. * @throws IOException
    87. */
    88. @RequestMapping("/bookUp")
    89. public ModelAndView bookUp(HttpServletRequest request,@RequestParam("id")Integer id,
    90. HttpServletResponse response) throws ServletException, IOException {
    91. ModelAndView view = new ModelAndView();
    92. List<Category> categoryList = categoryService.getList();
    93. view.addObject("categoryList",categoryList);
    94. Book tempBook = bookService.findById(id);
    95. view.addObject("book",tempBook);
    96. view.setViewName("jsp/admin/pages/book-update");
    97. return view;
    98. }
    99. /**
    100. * 功能描述:保存修改信息
    101. * @param request
    102. * @param response
    103. * @return
    104. * @throws ServletException
    105. * @throws IOException
    106. */
    107. @RequestMapping("/bookUpdate")
    108. public ModelAndView bookUpdate(Book book,HttpServletRequest request,@RequestParam("photo") CommonsMultipartFile photo,
    109. HttpServletResponse response) throws ServletException, IOException {
    110. ModelAndView view = new ModelAndView();
    111. if (photo != null&&!photo.isEmpty()) {
    112. DiskFileItem diskFileItem = (DiskFileItem)photo.getFileItem();
    113. File file = diskFileItem.getStoreLocation();
    114. book.setCover(UploadUtil.fileUpload(file, photo.getOriginalFilename(), "picture",request));
    115. }
    116. bookService.updateById(book);
    117. view.setViewName("redirect:bookList.do");
    118. return view;
    119. }
    120. /**
    121. * 功能描述:删除菜单
    122. * @param request
    123. * @param response
    124. * @return
    125. * @throws ServletException
    126. * @throws IOException
    127. */
    128. @RequestMapping("/bookDelete")
    129. public ModelAndView bookDelete(HttpServletRequest request,@RequestParam("id")Integer id,
    130. HttpServletResponse response) throws ServletException, IOException {
    131. ModelAndView view = new ModelAndView();
    132. bookService.deleteById(id);
    133. view.setViewName("redirect:bookList.do");
    134. return view;
    135. }
    136. /**
    137. * 图书设置
    138. * @return
    139. */
    140. @RequestMapping("/bookSet")
    141. public ModelAndView bookSet(@RequestParam("id") Integer id,@RequestParam("flag")Integer flag){
    142. ModelAndView view = new ModelAndView();
    143. Book book = bookService.findById(id);
    144. switch (flag) {
    145. case 10:
    146. book.setSpecial(0);
    147. break;
    148. case 11:
    149. book.setSpecial(1);
    150. break;
    151. case 20:
    152. book.setNews(0);
    153. break;
    154. case 21:
    155. book.setNews(1);
    156. break;
    157. case 30:
    158. book.setSale(0);
    159. break;
    160. case 31:
    161. book.setSale(1);
    162. break;
    163. }
    164. bookService.updateById(book);
    165. view.setViewName("redirect:bookList.do");
    166. return view;
    167. }
    168. }

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

  • 相关阅读:
    【代码随想录】算法训练计划01
    分布式搜索引擎
    【论文精读2】R-MVSNet
    Latex 安装与配置
    《设计模式巩固学习》
    面试官:你是怎样进行react组件代码复用的
    云原生周报 | Kubernetes 1.25 重要更新;2022 国际开源节即将开启
    全球化智能组网以中国联通云联网为核心
    深度克隆和浅拷贝的区别
    使用java代码向mysql数据库插入100万条数据
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/125456395