当前位置 博文首页 > java李阳勇的博客:基于java jsp+mysql+Spring+mybatis的SSM二手

    java李阳勇的博客:基于java jsp+mysql+Spring+mybatis的SSM二手

    作者:[db:作者] 时间:2021-08-04 08:48

    你懂得 先上镇楼图

    下载完整源码

    一、 绪论 2

    1.1 研究背景 2

    1.2 研究目的和意义 2

    1.3 研究的内容 3

    1.4可行性研究设计 3

    1.5社会可行性 4

    1.6相关技术说明 4

    spring 4

    Spring?5

    jQuery 5

    Mysql 6

    1) 功能强大 6

    2) 支持跨平台 6

    3) 运行速度快 6

    4) 支持面向对象 7

    5) 安全性高 7

    6) 成本低 7

    7) 支持各种开发语言 7

    8) 数据库存储容量大 7

    9) 支持强大的内置函数 7

    二、 需求分析 8

    2.1系统功能概述 8

    1) 用户注册和登录登录功能 8

    2) 用户信息的管理 8

    3) 用户二手物品的操作 8

    4) 用户购物车的管理 8

    5) 用户订单管理操作管理 8

    6)闲置物品类型的管理、添加、修改、删除操作 8

    7)网页商品的预览、查看等 8

    8)注销退出登录 8

    2.2系统运行环境 8

    三、 系统设计 9

    3.1系统设计 9

    3.1.1客户端主要设计 9

    3.4主流程描述 9

    四、 系统实现 11

    4.1 程序主要类 11

    4.1.1用户管理员类 11

    4.1.4二手物品分类 12

    4.1.4二手物品订单类 12

    4.1.4二手物品订单类 13

    4.1.4二手物品详情类 14

    4.1.4用户客户类 15

    4.3系统功能主要实现模块截图 16

    4.3.1登陆页面 16

    4.3.1登录前端代码: 16

    4.3.2注册页面: 17

    4.3.2 系统功能截图 17

    4.3.4部分关键源码展示: 22

    4.4数据库表设计 29

    4.4.0数据三范式: 29

    一、第一范式 29

    二、第二范式 29

    三、第三范式 29

    4.4.1表ER图 30

    4.4.2用户表设计 30

    4.4.3二手物品分类表设计 30

    4.4.4用户订单表设计 31

    4.4.5二手物品表详情设计 31

    4.4.5二手物品订单表设计 32

    4.4.6数据库sql文件 32

    五、参考献文 36

    主要功能实现:

    管理员:商品分类管理,商品管理,商品订单管理,用户管理等功能。
    用户角色:查看所有商品,用户登陆注册,按照类别查看商品,发布商品,查看卖家主页,联系卖家,给商品留言,查看订单,修改查看个人资料等功能。

    主要技术:

    HTML+CSS+JavaScript+jsp+mysql+Spring+mybatis

    系统首页:

    登录模块:

    登录代码实现:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>系统登录 - 超市订单管理系统</title>
        <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath }/css/style.css" />
        <script type="text/javascript">
    	/* if(top.location!=self.location){
    	      top.location=self.location;
    	 } */
        </script>
    </head>
    <body class="login_bg">
        <section class="loginBox">
            <header class="loginHeader">
                <h1>二手交易平台</h1>
            </header>
            <section class="loginCont">
    	        <form class="loginForm" action="${pageContext.request.contextPath }/login.do"  name="actionForm" id="actionForm"  method="post" >
    				<div class="info">${error }</div>
    				<div class="inputbox">
                        <label for="user">用户名:</label>
    					<input type="text" class="input-text" id="userCode" name="userCode" placeholder="请输入用户名" required/>
    				</div>	
    				<div class="inputbox">
                        <label for="mima">密码:</label>
                        <input type="password" id="userPassword" name="userPassword" placeholder="请输入密码" required/>
                    </div>	
    				<div class="subBtn">
    					
                        <input type="submit" value="登录"/>
                        <input type="reset" value="重置"/>
                    </div>	
    			</form>
            </section>
        </section>
    </body>
    </html>
    

    商品详情:

    点击购买就创建一个订单信息:

    个人中心:

    管理员登录:

    主要代码实现:

    /**
     * .
     *
     *
     *
     *
     */
    
    package io.renren.modules.sys.controller;
    
    
    import com.google.code.kaptcha.Constants;
    import com.google.code.kaptcha.Producer;
    import io.renren.common.utils.R;
    import io.renren.modules.sys.shiro.ShiroUtils;
    import org.apache.shiro.authc.*;
    import org.apache.shiro.subject.Subject;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import javax.imageio.ImageIO;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletResponse;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    
    /**
     * 登录相关
     *
     * @author Mark s.com
     */
    @Controller
    public class SysLoginController {
    	@Autowired
    	private Producer producer;
    	
    	@RequestMapping("captcha.jpg")
    	public void captcha(HttpServletResponse response)throws IOException {
            response.setHeader("Cache-Control", "no-store, no-cache");
            response.setContentType("image/jpeg");
    
            //生成文字验证码
            String text = producer.createText();
            //生成图片验证码
            BufferedImage image = producer.createImage(text);
            //保存到shiro session
            ShiroUtils.setSessionAttribute(Constants.KAPTCHA_SESSION_KEY, text);
            
            ServletOutputStream out = response.getOutputStream();
            ImageIO.write(image, "jpg", out);
    	}
    	
    	/**
    	 * 登录
    	 */
    	@ResponseBody
    	@RequestMapping(value = "/sys/login", method = RequestMethod.POST)
    	public R login(String username, String password, String captcha) {
    		String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY);
    		if(!captcha.equalsIgnoreCase(kaptcha)){
    			return R.error("验证码不正确");
    		}
    		try{
    			Subject subject = ShiroUtils.getSubject();
    			UsernamePasswordToken token = new UsernamePasswordToken(username, password);//md5+Jiayan
    			subject.login(token);
    		}catch (UnknownAccountException e) {
    			return R.error(e.getMessage());
    		}catch (IncorrectCredentialsException e) {
    			return R.error("账号或密码不正确");
    		}catch (LockedAccountException e) {
    			return R.error("账号已被锁定,请联系管理员");
    		}catch (AuthenticationException e) {
    			return R.error("账户验证失败");
    		}
    	    
    		return R.ok();
    	}
    	
    	/**
    	 * 退出
    	 */
    	@RequestMapping(value = "logout", method = RequestMethod.GET)
    	public String logout() {
    		ShiroUtils.logout();
    		return "redirect:login.html";
    	}
    	
    }
    

    管理员主要功能:

    分类管理:

    商品管理:

    订单管理:

    用户管理;

    主要表设计:

    用户表:

    CREATE TABLE `NewTable` (
    `user_id`  bigint(20) NOT NULL AUTO_INCREMENT ,
    `username`  varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名' ,
    `password`  varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码' ,
    `salt`  varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '盐' ,
    `email`  varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱' ,
    `mobile`  varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号' ,
    `status`  tinyint(4) NULL DEFAULT NULL COMMENT '状态  0:禁用   1:正常' ,
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间' ,
    PRIMARY KEY (`user_id`),
    UNIQUE INDEX `username` (`username`) USING BTREE 
    )

    订单表:

    CREATE TABLE `NewTable` (
    `order_id`  bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单表主键id' ,
    `order_no`  varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '订单号' ,
    `user_id`  bigint(20) NOT NULL DEFAULT 0 COMMENT '用户主键id' ,
    `total_price`  int(11) NOT NULL DEFAULT 1 COMMENT '订单总价' ,
    `pay_status`  bigint(20) NOT NULL DEFAULT 0 COMMENT '支付状态:0.未支付,1.支付成功,-1:支付失败' , ,
    `pay_time`  datetime NULL DEFAULT NULL COMMENT '支付时间' ,
    `order_status`  bigint(20) NOT NULL DEFAULT 0 COMMENT '订单状态:0.待支付 1.已支付 2.配货完成 3:出库成功 4.交易成功 -1.手动关闭 -2.超时关闭 -3.商家关闭' ,
    `extra_info`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '订单body' ,
    `user_name`  varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收货人姓名' ,
    `user_phone`  varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收货人手机号' ,
    `user_address`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收货人收货地址' ,
    PRIMARY KEY (`order_id`)
    )

    商品表:

    CREATE TABLE `NewTable` (
    `goods_id`  bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品表主键id' ,
    `goods_name`  varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品名' ,
    `goods_intro`  varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品简介' ,
    `goods_category_id`  bigint(20) NOT NULL DEFAULT 0 COMMENT '关联分类id' ,
    `goods_cover_img`  varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '/admin/dist/img/no-img.png' COMMENT '商品主图' ,
    `goods_detail_content`  text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商品详情' ,
    `original_price`  int(11) NOT NULL DEFAULT 1 COMMENT '商品价格' ,
    `selling_price`  int(11) NOT NULL DEFAULT 1 COMMENT '商品实际售价' ,
    
    `tag`  varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品标签' ,
    `goods_sell_status`  tinyint(4) NOT NULL DEFAULT 0 COMMENT '商品上架状态 0-下架 1-上架' ,
    `create_user`  int(11) NOT NULL DEFAULT 0 COMMENT '添加者主键id' ,
    PRIMARY KEY (`goods_id`)
    )

    相关系统设计实现推荐:

    基于java springboot+mybatis电影售票网站管理系统前台+后台设计和实现

    基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

    基于JAVA springboot+mybatis智慧生活分享平台设计和实现

    基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现

    基于Java springboot+vue+redis前后端分离家具商城平台系统设计和实现

    查看更多博主首页更多实战项目 >>>

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

    cs