基于java jsp+mysql+Spring+mybatis的SSM二手交易網(wǎng)站設(shè)計(jì)和實(shí)現(xiàn)【建議收藏】
時(shí)間:2023-06-08 01:00:02 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-06-08 01:00:02 來(lái)源:網(wǎng)站運(yùn)營(yíng)
基于java jsp+mysql+Spring+mybatis的SSM二手交易網(wǎng)站設(shè)計(jì)和實(shí)現(xiàn)【建議收藏】:主要功能實(shí)現(xiàn):
管理員:商品分類(lèi)管理,商品管理,商品訂單管理,用戶管理等功能。
用戶角色:查看所有商品,用戶登陸注冊(cè),按照類(lèi)別查看商品,發(fā)布商品,查看賣(mài)家主頁(yè),聯(lián)系賣(mài)家,給商品留言,查看訂單,修改查看個(gè)人資料等功能。
主要技術(shù):
HTML+CSS+JavaScript+jsp+mysql+Spring+mybatis
系統(tǒng)首頁(yè):
登錄模塊:
登錄代碼實(shí)現(xiàn):
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>系統(tǒng)登錄 - 超市訂單管理系統(tǒng)</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>二手交易平臺(tái)</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="請(qǐng)輸入用戶名" required/>
</div>
<div class="inputbox">
<label for="mima">密碼:</label>
<input type="password" id="userPassword" name="userPassword" placeholder="請(qǐng)輸入密碼" required/>
</div>
<div class="subBtn">
<input type="submit" value="登錄"/>
<input type="reset" value="重置"/>
</div>
</form>
</section>
</section>
</body>
</html>
商品詳情:
點(diǎn)擊購(gòu)買(mǎi)就創(chuàng)建一個(gè)訂單信息:
個(gè)人中心:
管理員登錄:
主要代碼實(shí)現(xiàn):
/**
* .
*
*
*
*
*/
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;
/**
* 登錄相關(guān)
*
* @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");
//生成文字驗(yàn)證碼
String text = producer.createText();
//生成圖片驗(yàn)證碼
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("驗(yàn)證碼不正確");
}
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("賬號(hào)或密碼不正確");
}catch (LockedAccountException e) {
return R.error("賬號(hào)已被鎖定,請(qǐng)聯(lián)系管理員");
}catch (AuthenticationException e) {
return R.error("賬戶驗(yàn)證失敗");
}
return R.ok();
}
/**
* 退出
*/
@RequestMapping(value = "logout", method = RequestMethod.GET)
public String logout() {
ShiroUtils.logout();
return "redirect:login.html";
}
}
管理員主要功能:
分類(lèi)管理:
商品管理:
訂單管理:
用戶管理;
主要表設(shè)計(jì):
用戶表:
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 '手機(jī)號(hào)' ,
`status` tinyint(4) NULL DEFAULT NULL COMMENT '狀態(tài) 0:禁用 1:正常' ,
`create_time` datetime NULL DEFAULT NULL COMMENT '創(chuàng)建時(shí)間' ,
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 '訂單號(hào)' ,
`user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '用戶主鍵id' ,
`total_price` int(11) NOT NULL DEFAULT 1 COMMENT '訂單總價(jià)' ,
`pay_status` bigint(20) NOT NULL DEFAULT 0 COMMENT '支付狀態(tài):0.未支付,1.支付成功,-1:支付失敗' , ,
`pay_time` datetime NULL DEFAULT NULL COMMENT '支付時(shí)間' ,
`order_status` bigint(20) NOT NULL DEFAULT 0 COMMENT '訂單狀態(tài):0.待支付 1.已支付 2.配貨完成 3:出庫(kù)成功 4.交易成功 -1.手動(dòng)關(guān)閉 -2.超時(shí)關(guān)閉 -3.商家關(guān)閉' ,
`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 '收貨人手機(jī)號(hào)' ,
`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 '商品簡(jiǎn)介' ,
`goods_category_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '關(guān)聯(lián)分類(lèi)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 '商品價(jià)格' ,
`selling_price` int(11) NOT NULL DEFAULT 1 COMMENT '商品實(shí)際售價(jià)' ,
`tag` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品標(biāo)簽' ,
`goods_sell_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '商品上架狀態(tài) 0-下架 1-上架' ,
`create_user` int(11) NOT NULL DEFAULT 0 COMMENT '添加者主鍵id' ,
PRIMARY KEY (`goods_id`)
)
————————————————
版權(quán)聲明:本文為CSDN博主「java李楊勇」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:基于java jsp+mysql+Spring+mybatis的SSM二手交易網(wǎng)站設(shè)計(jì)和實(shí)現(xiàn)【建議收藏】
關(guān)鍵詞:交易,設(shè)計(jì),收藏,建議,實(shí)現(xiàn)