• 基于ssm的果蔬商城管理系统


    一、系统简介


    本项目采用eclipse工具开发,spring+springmvc+mybatis+layui技术编写,数据库采用的是mysql,navicat管理工具。

    系统一共分为2个角色分别是:管理员,用户

    二、模块简介

    管理员

    1、登录

    2、个人信息管理

    3、用户管理

    4、入库管理

    5、供应商管理

    6、商品管理

    7、商品类型管理

    8、订单管理

    9、管理员管理

    用户

    1、登录注册

    2、个人信息管理

    3、浏览网站

    4、加入购物车

    5、下单商品

    6、个人地址管理

    7、个人订单管理

    项目简介:
    难度等级:✩✩✩
    用户类型:2角色(管理员,用户)
    设计模式:MVC
    项目架构:B/S架构
    开发语言:Java语言
    前端技术:layui+HTML、CSS、JS、JQuery等
    后端技术:JSP、ssm框架
    运行环境:Windows7或10、JDK1.8
    运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)
    数  据  库:MySQL5.5/5.7/8.0版本
    运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
    是否基于Maven环境:否
    是否采用框架:是
    数据库表数量:10张表
    JSP页面数量:40多张
    是否有分页:有分页

    相关截图

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     相关代码

    登录

    1. <%@page pageEncoding="utf-8"%>
    2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    3. <c:set var="ctx" value="${pageContext.request.contextPath}" />
    4. html>
    5. <html>
    6. <head>
    7. <jsp:include page="common/head.jsp">
    8. <jsp:param value="登录" name="titleName" />
    9. jsp:include>
    10. <script src="${ctx}/res/js/jquery.cookie.js">script>
    11. <script src="${ctx}/res/js/jquery.ripples.js">script>
    12. head>
    13. <style>
    14. * {
    15. margin: 0;
    16. padding: 0;
    17. }
    18. html {
    19. height: 100%;
    20. }
    21. body {
    22. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    23. background-size: cover;
    24. background-position: 50% 0;
    25. height: 100%;
    26. text-align: center;
    27. }
    28. body:before {
    29. display: inline-block;
    30. vertical-align: middle;
    31. height: 100%;
    32. }
    33. form {
    34. width: 24%;
    35. margin-left: 38%;
    36. padding-top: 15%;
    37. }
    38. style>
    39. <body style="background-image: url(${ctx}/res/images/bg2.jpg)">
    40. <form class="layui-form layui-form-pane" action="">
    41. <label style="font-size: 30px; font-weight: 700; margin-bottom: 30px;">管理员登录label>
    42. <div class="layui-form-item" style="margin-top: 30px;">
    43. <label class="layui-form-label">手机号label>
    44. <div class="layui-input-block">
    45. <input type="text" name="tel" id="tel" lay-verify="required|tel"
    46. placeholder="请输入手机号" autocomplete="off" class="layui-input">
    47. div>
    48. div>
    49. <div class="layui-form-item">
    50. <label class="layui-form-label">密码label>
    51. <div class="layui-input-block">
    52. <input type="password" name="password" id="password"
    53. lay-verify="required" placeholder="请输入密码" autocomplete="off"
    54. class="layui-input">
    55. div>
    56. div>
    57. <div class="layui-form-item" style="float: left;">
    58. <input type="checkbox" id="cookieRemember" name="cookieRemember"
    59. value="true" lay-skin="primary" checked title="记住帐号?">
    60. div>
    61. div>
    62. <div class="layui-form-item">
    63. <button style="background-color:#8fce23;" class="layui-btn" style="width: 100%;" lay-submit
    64. lay-filter="login">登录button>
    65. div>
    66. <a href="${ctx}/mall/index"><b>返回首页b>a>
    67. form>
    68. <script>
    69. $(document).ready(
    70. function() {
    71. //获取cookie的值
    72. var tel = $.cookie('tel');
    73. var password = $.cookie('password');
    74. //将获取的值填充入输入框中
    75. $('#tel').val(tel);
    76. $('#password').val(password);
    77. if (tel != null && tel != '' && password != null
    78. && password != '') {
    79. //选中记住密码的复选框
    80. $("#cookieRemember").attr('checked', true);
    81. }
    82. $('body').ripples({
    83. resolution : 512,
    84. dropRadius : 20, //px
    85. perturbance : 0.04
    86. });
    87. });
    88. layui.use([ 'form', 'layer' ], function() {
    89. var form = layui.form, layer = layui.layer;
    90. form.render();
    91. //自定义验证规则
    92. form.verify({
    93. tel : function(value) {
    94. if (!IsMobilePhoneNumber(value)) {
    95. return '请输入正确的手机号!';
    96. }
    97. },
    98. password : [ /^[\S]{6,16}$/, '密码必须6到16位,且不能出现空格' ]
    99. });
    100. //监听提交
    101. form.on('submit(login)', function(data) {
    102. /** 实现记住密码功能 */
    103. var tel = $('#tel').val();
    104. var password = $('#password').val();
    105. if ($('#cookieRemember').is(':checked') == true) {
    106. $.cookie("tel", tel, {
    107. expires : 7
    108. });//存储一个带7天期限的cookie
    109. $.cookie("password", password, {
    110. expires : 7
    111. });
    112. } else {
    113. $.cookie("tel", "", {
    114. expires : -1
    115. });
    116. $.cookie("password", "", {
    117. expires : -1
    118. });
    119. }
    120. var url = "${ctx}/admin/doLogin";
    121. var data = {
    122. tel : data.field.tel,
    123. password : data.field.password
    124. };
    125. doAjaxSubmit("post", url, data, "loginSuccess");
    126. return false;
    127. });
    128. });
    129. function loginSuccess(data) {
    130. if (data.errList == null) {
    131. window.location.href = "${ctx}/admin/index";
    132. } else {
    133. layer.msg(data.errList, {
    134. offset : 't',
    135. icon : 5
    136. });
    137. }
    138. }
    139. script>
    140. body>
    141. html>
    1. /**
    2. * 登录
    3. *
    4. * @param request
    5. * @param response
    6. * @param session
    7. * @param admin
    8. * @return
    9. * @throws Exception
    10. */
    11. @ResponseBody
    12. @RequestMapping("/doLogin")
    13. public Map doLogin(HttpServletRequest request,
    14. HttpServletResponse response, HttpSession session, Admin admin)
    15. throws Exception {
    16. Map map = new HashMap();
    17. admin.setPassword(CommonUtil.getMD5(admin.getPassword()));
    18. admin = adminService.login(admin);
    19. if (admin != null) {
    20. session.setAttribute("loginAdminName", admin.getNickName());
    21. session.setAttribute("loginAdminId", admin.getId());
    22. session.setAttribute("limit", admin.getLimits());
    23. map.put("msg", "登录成功!");
    24. map.put("errList", null);
    25. } else {
    26. map.put("errList", "账号或密码不正确!");
    27. }
    28. return map;
    29. }

    其他相关代码都是类似的,主要是前端jsp和后端控制器交互比较重要!!!非开源!!!!!!
    其他模块代码都是类似的,此项目适合初学者学习借鉴,项目整体比较简单,可用作于期末考核,课设,毕设等方面的作业!!!!!
    喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!
    感谢  = v =

     

  • 相关阅读:
    计算机网络学习笔记(3.数据链路层 4.网络层)
    使用mybatis或mybatisplus存储数据库加密,解密
    【UFS HCI】第2篇:UFS HCI register详解
    [VM trunk ports]opensatck VM 单网卡,多VLAN配置
    性能测试面试题总结(答案全)
    一个项目经理最大的危机,就是……
    关于Flume-Kafka-Flume的模式进行数据采集操作
    【Rust日报】2023-10-16 为什么要异步 Rust
    java计算机毕业设计古惠农产品线上销售系统MyBatis+系统+LW文档+源码+调试部署
    《性能之巅第2版》阅读笔记(五)--file-system监测
  • 原文地址:https://blog.csdn.net/qq_43485489/article/details/126105995