• Java项目: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

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

    3. 将项目中springmvc-servlet.xml配置文件中的数据库配置改为自己的配置;

    4. 运行项目,在浏览器中输入http://localhost:8080/ 登录
    用户账号/密码: user/123456
    管理员账号/密码:admin/admin

    运行截图

    前台界面 

     

     

     

     

     

     

    后台界面

     

     

     

     

     

    代码相关

    管理端控制器

    1. //定义为控制器
    2. @Controller
    3. // 设置路径
    4. @RequestMapping(value = "/admin", produces = "text/plain;charset=utf-8")
    5. public class AdminAction extends BaseAction {
    6. // 注入Service 由于标签的存在 所以不需要getter setter
    7. @Autowired
    8. @Resource
    9. private AdminService adminService;
    10. // 管理员登录 1 验证用户名是否存在 2 验证密码是否正确
    11. @RequestMapping("login.action")
    12. public String login() {
    13. String username = this.getRequest().getParameter("username");
    14. String password = this.getRequest().getParameter("password");
    15. Admin adminEntity = new Admin();
    16. adminEntity.setUsername(username);
    17. List adminlist = this.adminService.getAdminByCond(adminEntity);
    18. if (adminlist.size() == 0) {
    19. this.getRequest().setAttribute("message", "用户名不存在");
    20. return "admin/index";
    21. } else {
    22. Admin admin = adminlist.get(0);
    23. if (password.equals(admin.getPassword())) {
    24. this.getSession().setAttribute("adminid", admin.getAdminid());
    25. this.getSession().setAttribute("adminname", admin.getUsername());
    26. this.getSession().setAttribute("realname", admin.getRealname());
    27. } else {
    28. this.getRequest().setAttribute("message", "密码错误");
    29. return "admin/index";
    30. }
    31. }
    32. return "admin/main";
    33. }
    34. // 修改密码
    35. @RequestMapping("editpwd.action")
    36. public String editpwd() {
    37. String adminid = (String) this.getSession().getAttribute("adminid");
    38. String password = this.getRequest().getParameter("password");
    39. String repassword = this.getRequest().getParameter("repassword");
    40. Admin admin = this.adminService.getAdminById(adminid);
    41. if (password.equals(admin.getPassword())) {
    42. admin.setPassword(repassword);
    43. this.adminService.updateAdmin(admin);
    44. } else {
    45. this.getRequest().setAttribute("message", "旧密码错误");
    46. }
    47. return "admin/editpwd";
    48. }
    49. // 管理员退出登录
    50. @RequestMapping("exit.action")
    51. public String exit() {
    52. this.getSession().removeAttribute("adminid");
    53. this.getSession().removeAttribute("adminname");
    54. this.getSession().removeAttribute("realname");
    55. return "admin/index";
    56. }
    57. // 准备添加数据
    58. @RequestMapping("createAdmin.action")
    59. public String createAdmin() {
    60. return "admin/addadmin";
    61. }
    62. // 添加数据
    63. @RequestMapping("addAdmin.action")
    64. public String addAdmin(Admin admin) {
    65. admin.setAddtime(VeDate.getStringDateShort());
    66. this.adminService.insertAdmin(admin);
    67. return "redirect:/admin/createAdmin.action";
    68. }
    69. // 通过主键删除数据
    70. @RequestMapping("deleteAdmin.action")
    71. public String deleteAdmin(String id) {
    72. this.adminService.deleteAdmin(id);
    73. return "redirect:/admin/getAllAdmin.action";
    74. }
    75. // 批量删除数据
    76. @RequestMapping("deleteAdminByIds.action")
    77. public String deleteAdminByIds() {
    78. String[] ids = this.getRequest().getParameterValues("adminid");
    79. for (String adminid : ids) {
    80. this.adminService.deleteAdmin(adminid);
    81. }
    82. return "redirect:/admin/getAllAdmin.action";
    83. }
    84. // 更新数据
    85. @RequestMapping("updateAdmin.action")
    86. public String updateAdmin(Admin admin) {
    87. this.adminService.updateAdmin(admin);
    88. return "redirect:/admin/getAllAdmin.action";
    89. }
    90. // 显示全部数据
    91. @RequestMapping("getAllAdmin.action")
    92. public String getAllAdmin(String number) {
    93. List adminList = this.adminService.getAllAdmin();
    94. PageHelper.getPage(adminList, "admin", null, null, 10, number, this.getRequest(), null);
    95. return "admin/listadmin";
    96. }
    97. // 按条件查询数据 (模糊查询)
    98. @RequestMapping("queryAdminByCond.action")
    99. public String queryAdminByCond(String cond, String name, String number) {
    100. Admin admin = new Admin();
    101. if (cond != null) {
    102. if ("username".equals(cond)) {
    103. admin.setUsername(name);
    104. }
    105. if ("password".equals(cond)) {
    106. admin.setPassword(name);
    107. }
    108. if ("realname".equals(cond)) {
    109. admin.setRealname(name);
    110. }
    111. if ("contact".equals(cond)) {
    112. admin.setContact(name);
    113. }
    114. if ("addtime".equals(cond)) {
    115. admin.setAddtime(name);
    116. }
    117. }
    118. List nameList = new ArrayList();
    119. List valueList = new ArrayList();
    120. nameList.add(cond);
    121. valueList.add(name);
    122. PageHelper.getPage(this.adminService.getAdminByLike(admin), "admin", nameList, valueList, 10, number, this.getRequest(), "query");
    123. name = null;
    124. cond = null;
    125. return "admin/queryadmin";
    126. }
    127. // 按主键查询数据
    128. @RequestMapping("getAdminById.action")
    129. public String getAdminById(String id) {
    130. Admin admin = this.adminService.getAdminById(id);
    131. this.getRequest().setAttribute("admin", admin);
    132. return "admin/editadmin";
    133. }
    134. public AdminService getAdminService() {
    135. return adminService;
    136. }
    137. public void setAdminService(AdminService adminService) {
    138. this.adminService = adminService;
    139. }
    140. }

     订单管理控制器

    1. //定义为控制器
    2. @Controller
    3. // 设置路径
    4. @RequestMapping(value = "/orders" , produces = "text/plain;charset=utf-8")
    5. public class OrdersAction extends BaseAction {
    6. // 注入Service 由于标签的存在 所以不需要getter setter
    7. @Autowired
    8. @Resource
    9. private OrdersService ordersService;
    10. @Autowired
    11. @Resource
    12. private UsersService usersService;
    13. // 准备添加数据
    14. @RequestMapping("createOrders.action")
    15. public String createOrders() {
    16. List usersList = this.usersService.getAllUsers();
    17. this.getRequest().setAttribute("usersList", usersList);
    18. return "admin/addorders";
    19. }
    20. // 添加数据
    21. @RequestMapping("addOrders.action")
    22. public String addOrders(Orders orders) {
    23. this.ordersService.insertOrders(orders);
    24. return "redirect:/orders/createOrders.action";
    25. }
    26. // 通过主键删除数据
    27. @RequestMapping("deleteOrders.action")
    28. public String deleteOrders(String id) {
    29. this.ordersService.deleteOrders(id);
    30. return "redirect:/orders/getAllOrders.action";
    31. }
    32. // 批量删除数据
    33. @RequestMapping("deleteOrdersByIds.action")
    34. public String deleteOrdersByIds() {
    35. String[] ids = this.getRequest().getParameterValues("ordersid");
    36. for (String ordersid : ids) {
    37. this.ordersService.deleteOrders(ordersid);
    38. }
    39. return "redirect:/orders/getAllOrders.action";
    40. }
    41. // 更新数据
    42. @RequestMapping("updateOrders.action")
    43. public String updateOrders(Orders orders) {
    44. this.ordersService.updateOrders(orders);
    45. return "redirect:/orders/getAllOrders.action";
    46. }
    47. // 显示全部数据
    48. @RequestMapping("getAllOrders.action")
    49. public String getAllOrders(String number) {
    50. List ordersList = this.ordersService.getAllOrders();
    51. PageHelper.getPage(ordersList, "orders", null, null, 10, number, this.getRequest(), null);
    52. return "admin/listorders";
    53. }
    54. // 按条件查询数据 (模糊查询)
    55. @RequestMapping("queryOrdersByCond.action")
    56. public String queryOrdersByCond(String cond, String name, String number) {
    57. Orders orders = new Orders();
    58. if(cond != null){
    59. if ("ordercode".equals(cond)) {
    60. orders.setOrdercode(name);
    61. }
    62. if ("username".equals(cond)) {
    63. orders.setUsername(name);
    64. }
    65. if ("total".equals(cond)) {
    66. orders.setTotal(name);
    67. }
    68. if ("status".equals(cond)) {
    69. orders.setStatus(name);
    70. }
    71. if ("addtime".equals(cond)) {
    72. orders.setAddtime(name);
    73. }
    74. }
    75. List nameList = new ArrayList();
    76. List valueList = new ArrayList();
    77. nameList.add(cond);
    78. valueList.add(name);
    79. PageHelper.getPage(this.ordersService.getOrdersByLike(orders), "orders", nameList, valueList, 10, number, this.getRequest(), "query");
    80. name = null;
    81. cond = null;
    82. return "admin/queryorders";
    83. }
    84. // 按主键查询数据
    85. @RequestMapping("getOrdersById.action")
    86. public String getOrdersById(String id ) {
    87. Orders orders = this.ordersService.getOrdersById(id);
    88. this.getRequest().setAttribute("orders", orders);
    89. List usersList = this.usersService.getAllUsers();
    90. this.getRequest().setAttribute("usersList", usersList);
    91. return "admin/editorders";
    92. }
    93. public OrdersService getOrdersService() { return ordersService; }
    94. public void setOrdersService(OrdersService ordersService) { this.ordersService = ordersService; }
    95. }

    主题管理控制器

    1. //定义为控制器
    2. @Controller
    3. // 设置路径
    4. @RequestMapping(value = "/topic" , produces = "text/plain;charset=utf-8")
    5. public class TopicAction extends BaseAction {
    6. // 注入Service 由于标签的存在 所以不需要getter setter
    7. @Autowired
    8. @Resource
    9. private TopicService topicService;
    10. @Autowired
    11. @Resource
    12. private UsersService usersService;
    13. @Autowired
    14. @Resource
    15. private JiancaiService jiancaiService;
    16. // 准备添加数据
    17. @RequestMapping("createTopic.action")
    18. public String createTopic() {
    19. List usersList = this.usersService.getAllUsers();
    20. this.getRequest().setAttribute("usersList", usersList);
    21. List jiancaiList = this.jiancaiService.getAllJiancai();
    22. this.getRequest().setAttribute("jiancaiList", jiancaiList);
    23. return "admin/addtopic";
    24. }
    25. // 添加数据
    26. @RequestMapping("addTopic.action")
    27. public String addTopic(Topic topic) {
    28. this.topicService.insertTopic(topic);
    29. return "redirect:/topic/createTopic.action";
    30. }
    31. // 通过主键删除数据
    32. @RequestMapping("deleteTopic.action")
    33. public String deleteTopic(String id) {
    34. this.topicService.deleteTopic(id);
    35. return "redirect:/topic/getAllTopic.action";
    36. }
    37. // 批量删除数据
    38. @RequestMapping("deleteTopicByIds.action")
    39. public String deleteTopicByIds() {
    40. String[] ids = this.getRequest().getParameterValues("topicid");
    41. for (String topicid : ids) {
    42. this.topicService.deleteTopic(topicid);
    43. }
    44. return "redirect:/topic/getAllTopic.action";
    45. }
    46. // 更新数据
    47. @RequestMapping("updateTopic.action")
    48. public String updateTopic(Topic topic) {
    49. this.topicService.updateTopic(topic);
    50. return "redirect:/topic/getAllTopic.action";
    51. }
    52. // 显示全部数据
    53. @RequestMapping("getAllTopic.action")
    54. public String getAllTopic(String number) {
    55. List topicList = this.topicService.getAllTopic();
    56. PageHelper.getPage(topicList, "topic", null, null, 10, number, this.getRequest(), null);
    57. return "admin/listtopic";
    58. }
    59. // 按条件查询数据 (模糊查询)
    60. @RequestMapping("queryTopicByCond.action")
    61. public String queryTopicByCond(String cond, String name, String number) {
    62. Topic topic = new Topic();
    63. if(cond != null){
    64. if ("username".equals(cond)) {
    65. topic.setUsername(name);
    66. }
    67. if ("jiancainame".equals(cond)) {
    68. topic.setJiancainame(name);
    69. }
    70. if ("num".equals(cond)) {
    71. topic.setNum(name);
    72. }
    73. if ("contents".equals(cond)) {
    74. topic.setContents(name);
    75. }
    76. if ("addtime".equals(cond)) {
    77. topic.setAddtime(name);
    78. }
    79. }
    80. List nameList = new ArrayList();
    81. List valueList = new ArrayList();
    82. nameList.add(cond);
    83. valueList.add(name);
    84. PageHelper.getPage(this.topicService.getTopicByLike(topic), "topic", nameList, valueList, 10, number, this.getRequest(), "query");
    85. name = null;
    86. cond = null;
    87. return "admin/querytopic";
    88. }
    89. // 按主键查询数据
    90. @RequestMapping("getTopicById.action")
    91. public String getTopicById(String id ) {
    92. Topic topic = this.topicService.getTopicById(id);
    93. this.getRequest().setAttribute("topic", topic);
    94. List usersList = this.usersService.getAllUsers();
    95. this.getRequest().setAttribute("usersList", usersList);
    96. List jiancaiList = this.jiancaiService.getAllJiancai();
    97. this.getRequest().setAttribute("jiancaiList", jiancaiList);
    98. return "admin/edittopic";
    99. }
    100. public TopicService getTopicService() { return topicService; }
    101. public void setTopicService(TopicService topicService) { this.topicService = topicService; }
    102. }

    如果也想学习本系统,下面领取。关注并回复:158ssm

  • 相关阅读:
    Redis高可用系列——Hash类型底层详解
    VisionPro学习笔记(3)——BeadInspectTool
    paddleDetection训练自己的模型
    树状数组实战
    Windows10上使用llama-recipes(LoRA)来对llama-2-7b做fine-tune
    【Java刷题系列】03构造类
    【Arduino+ESP32专题】案例:读取SD卡图片并显示
    【 C++ 】list的常用接口说明
    element关于form表单其他参数+upload文件 一起提交
    SpringBoot - 集成Quartz框架之Quartz简介
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/126456314