基于ssm的鲜花植物商城管理系统

30 篇文章 1 订阅

一、系统简介


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

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

二、模块简介

管理员

1、登录

2、用户管理

3、鲜花植物类型管理

4、鲜花植物管理

5、收货地址管理

6、评论管理

7、系统消息管理

8、订单管理

用户

1、登录注册

2、浏览信息

3、收藏商品

4、加入购物车

5、收货地址管理

6、评论商品

7、购买,充值

8、个人信息管理

9、查看新闻

10、查看订单

项目简介

项目类型:Java EE项目(SSM框架)

项目名称:基于SSM的宿舍管理系统(flower_ssm) 

难度等级:✩✩✩

用户类型:双角色(用户、管理员)

设计模式:MVC

项目架构:B/S架构

开发语言:Java语言

前端技术:bootstrap、HTML、CSS、JS、JQuery等

后端技术:JSP、SSM框架

运行环境:Windows10、JDK1.8

运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)

数  据  库:MySQL5.5/5.7/8.0版本

运行服务器:Tomcat7.0/8.0/8.5/9.0等版本

是否基于Maven环境:否

是否采用框架:是

数据库表数量:11张表

JSP页面数量:30张左右

是否有分页:有分页

是否有代码注释:有

 项目截图

项目结构

 数据库

 登录注册

 

 用户管理

 

 鲜花管理

 

 前台首页

 购物大厅

 购物车

 商品详情

 评论信息

 收藏

 我的订单

 相关代码

登录代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<jsp:include page="/WEB-INF/view/header.jsp"/>
<body>
<div class="row lyear-wrapper">
  <div class="lyear-login">
    <div class="login-center">
      <div class="login-header text-center">
        <a > 登录</a>
      </div>
      <form >
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入用户名" class="form-control" name="username" id="username" />
          <span class="mdi mdi-account form-control-feedback" aria-hidden="true"> </span>
         <span id="msg" style="color:red;"></span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="password" placeholder="请输入密码" class="form-control" id="password" name="password" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
           <span id="msg2" style="color:red;"></span>
        </div>
        <div class="form-group has-feedback feedback-left row">

            <div class="col-xs-12">
                <select class="form-control" id="type" name="type" size="1">
                    <option value="1">管理员</option>
                    <option value="2">用户</option>

                </select>
            </div>
        </div>
          <font  color="red">${message}</font>
        <div class="form-group"><!-- onclick="location.href='index.html'" -->
          <button class="btn btn-block btn-primary" type="button" id="login"   >立即登录</button>
           
        </div>
      </form>
      <a class="btn btn-block btn-primary" type="button" href="toRegister" >去注册</a> 
      <hr>
      <footer class="col-sm-12 text-center">
      </footer>
    </div>
  </div>
</div>

<script type="text/javascript">
    layui.use(['layer', 'form','jquery'], function(){
        var layer = layui.layer
            ,form = layui.form
            ,jquery=layui.jquery;
        $("#login").on("click", function() {
            var username = $("#username").val().trim(); // trim()去除空格
            var password = $("#password").val().trim();
            var type = $("#type").val();
            if(!username) {
                $("#msg").html("用户名不能为空!");
                $("#username").focus(); // 聚焦
                return false;
            } else {
                if(!password) {
                    $("#msg").html("密码不能为空!");
                    $("#password").focus(); // 聚焦
                    return false;
                } else {
                    $("#msg").html("");
                }
            }

            $.ajax({
                type: "post", // post或get
                url: "login", // 提交路径
                data: {
                	username: username,
                    password: password,
                    type:type,
                },
                // dataType: "json", // 指定后台传来的数据是json格式
                success: function(data) {

                    if (data == "ok") {
                        layer.msg('登陆成功!', {icon: 6});
                        // 延迟跳转
                        window.setTimeout("window.location='toMain'",900);
                    } else if(data == 'toIndex'){
                    	 layer.msg('登陆成功!', {icon: 6});
                        window.setTimeout("window.location='toIndex'",900);

                    }else if(data=="error"){
                        layer.tips('账号或密码错误!', '#login', {
                            tips: [2, '#FF5722'],
                            time: 4000

                        });

                    }

                },

                error: function(err) {}

            })

        })



    });
</script>

</body>
</html>

	@RequestMapping("/login")
	@ResponseBody
     public  String login(@RequestParam("username")String username,
    		 HttpServletRequest request,@RequestParam("password")String password,
    		 HttpSession session,HttpServletResponse response,ModelAndView mv) throws ServletException, IOException {	
		session.removeAttribute("admin");
		session.removeAttribute("user");
	    String type=request.getParameter("type").toString();
	    User user =new User();
	    Admin admin = new Admin();
		request.getSession().setAttribute("type", type);
		String message = "error";
	    if(type != null && type.equals("1")){
	    	admin.setUsername(username);
	    	admin.setPassword(password);
		    Admin admin1 = us.selectAdmin(admin);
		    if(admin1 != null){
				//mv.addObject("admin", admin);
				request.getSession().setAttribute("admin", admin);
				message = "ok";
				//mv.setViewName("view/main");
		    }
	    }else if(type != null && type.equals("2")){
	    	user.setUsername(username);
	    	user.setPassword(password);
	    	User te = us.selectUser(user);
	    	if(te != null){
				request.getSession().setAttribute("user", te);
				message = "toIndex";
				//mv.setViewName("view/main");
		    }
	    }
		return message;
			
	}

注册代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:include page="/WEB-INF/view/header.jsp"/>
<body>
<div class="row lyear-wrapper">
  <div class="lyear-login">
    <div class="login-center">
      <div class="login-header text-center">
        <a > <h4  style="color: #15c377;">注册</h4></a>
      </div>
      <form id="saveForm"  method="post" >
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入用户名"  class="form-control" name="username" id="username" />
          <span class="mdi mdi-account form-control-feedback" aria-hidden="true"> </span>
         <span class="msg" style="color:red;">	${requestScope.msg}</span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入真实姓名" class="form-control" id="realName" name="realName" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入身份证" class="form-control" id="idCard" name="idCard" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入手机号" class="form-control" id="mobile" name="mobile" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入密码" class="form-control" id="password" name="password" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入邮箱" class="form-control" id="email" name="email" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
        </div>
              <input type="hidden" name="img" class="img">
		   <div class="form-group">
		        <label for="name">头像:</label>
		        <div class="layui-upload">
		          <div class="layui-upload-list">
		                <img class="layui-upload-img" style="width:200px;height:100px;" id="demo1">
		                <button type="button" class="layui-btn layui-btn-sm " id="test1">+</button>
		                <p id="demoText"></p>
		            </div>
		           
		        </div>
		    </div>
                                        
        <div class="form-group">
          <button class="btn btn-block btn-primary" type="button"  id="save"   >立即注册</button>
        </div>
      </form>
       <a class="btn btn-block btn-primary" type="button" href="toLogin">去登录</a>
      <hr>
      <footer class="col-sm-12 text-center">
      </footer>
    </div>
  </div>
</div>

<script>

layui.use([ 'form','jquery','layer','laydate','upload' ], function() {
	var form = layui.form,
	 layer = layui.layer,
	 laydate = layui.laydate,
	 upload = layui.upload,
	 $= layui.jquery;
	 form.render();//这句一定要加,占坑
	
	  
	  var uploadInst = upload.render({
          elem: '#test1'
          ,url: 'upload2'
          ,accept:'images'
          ,size:50000
          ,before: function(obj){

              obj.preview(function(index, file, result){

                  $('#demo1').attr('src', result);
              });
          }
          ,done: function(res){
              //如果上传失败
              if(res.code > 0){
                  return layer.msg('上传失败');
              }
              //上传成功
              var demoText = $('#demoText');
              demoText.html('<span style="color: #4cae4c;">上传成功</span>');

              var fileupload = $(".img");
              fileupload.attr("value",res.data.src);
              console.log(fileupload.attr("value"));
          }
          ,error: function(){
              //演示失败状态,并实现重传
              var demoText = $('#demoText');
              demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
              demoText.find('.demo-reload').on('click', function(){
                  uploadInst.upload();
              });
          }
      });
	 
	 
	    $("#save").click(function(){
			//执行添加的操作ajax
			$.ajax({
				cache:true,
				type:"post",
				url:"addUser",
				data:$("#saveForm").serialize(),
				async:false,
				success:function(e){
					if(e){
						 layer.msg('新增成功', {
						  icon: 1,
						  time: 2000 //2秒关闭(如果不配置,默认是3秒)
						});  

					}else{
						 layer.msg('新增失败', {
							  icon: 1,
							  time: 2000 //2秒关闭(如果不配置,默认是3秒)
							}); 
					}
				}
			})
		});
		   
	    

	  });
	  
	


</script>
</body>
</html>

其他相关代码都是类似的,主要是前端jsp和后端控制器交互比较重要!!!非开源!!!!!!

喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!
感谢  = v =


项目截图中的数据,很多是用来测试的,需要自行添加合适的数据图片!!

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码盗_java_bishe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值