JavaWeb网上拍卖系统jsp+sql
基于B2C的網上拍賣系統主要用于幫助人們應用互聯網方便快捷買到自己所中意的商品,并參與到秒殺與競拍當中。
主要功能包括:
1.前臺模塊
(1)普通用戶登錄/注冊。
(2)分類查看商品(普通商品與促銷商品)(3)查看商品詳細信息
(4)查看秒殺商品(5)查看競拍商品
(6)將商品加入購物車(7)購買,結算功能 (8)留言
2.后臺模塊
(1)修改密碼
(2)商品管理:
– 編輯/刪除
– 設置/取消促銷
(3)秒殺商品:設置/取消秒殺
(4)競拍商品:設置/取消競拍
(5)訂單管理:查看訂單
(5)留言管理:查看/刪除留言項目訪問路徑:
前臺:http://localhost:8080/sale
后臺:http://localhost:8080/sale/user/adminlogin
前端
前端框架 :?數據可視化框架 : echarts后端IOC容器 : SpringMVC框架 : SpringMVCORM框架 :?緩存技術:數據庫:Mysql日志框架 : Log4j安全框架 :??代碼已經上傳github,
下載地址:https://github.com/21503882
用戶注冊
用戶登錄
發布商品
商品管理?
發布拍賣
?個人拍賣管理?
參與拍賣管理?
競拍?
管理員登錄?
會員管理?
會員等級管理
?審核 新商品?
商品管理
?類型管理?
拍賣管理
公告
?
管理員表
字段名 | 類型 | 屬性 | 描述id | INT(11) | PRIMARY KEY | 管理員idusername | VARCHAR(255) | | 賬號password | VARCHAR(255) | | 密碼?
?
?
買家表
字段名 | 類型 | 屬性 | 描述id | INT(11) | PRIMARY KEY | 買家idmingzi | VARCHAR(255) | | 名字username | VARCHAR(255) | | 賬號password | VARCHAR(255) | | 密碼yue | VARCHAR(255) | | 余額?
?
?
賣家表
字段名 | 類型 | 屬性 | 描述id | INT(11) | PRIMARY KEY | 賣家idmingzi | VARCHAR(255) | | 名字username | VARCHAR(255) | | 賬號password | VARCHAR(255) | | 密碼nianling | VARCHAR(255) | | 年齡xingbie | VARCHAR(255) | | 性別yue | VARCHAR(255) | | 余額?
?
?
商品表
字段名 | 類型 | 屬性 | 描述id | INT(11) | PRIMARY KEY | 商品idmingcheng | VARCHAR(255) | | 名稱jiage | VARCHAR(255) | | 價格chushouzhe | VARCHAR(255) | | 賣家名字chushouzheid | VARCHAR(255) | | 賣家idshuoming | VARCHAR(255) | | 說明?
?
sql建表語句
SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ ------------------------------ Table structure for ggwangshangpaimai-- ----------------------------DROP TABLE IF EXISTS `t_admin`;CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理員id',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理員';-- ----------------------------DROP TABLE IF EXISTS `t_maijia`;CREATE TABLE `t_maijia` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '買家id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',`yue` VARCHAR(255) DEFAULT NULL COMMENT '余額',PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='買家';-- ----------------------------DROP TABLE IF EXISTS `t_chushouzhe`;CREATE TABLE `t_chushouzhe` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '賣家id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年齡',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性別',`yue` VARCHAR(255) DEFAULT NULL COMMENT '余額',PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='賣家';-- ----------------------------DROP TABLE IF EXISTS `t_shangping`;CREATE TABLE `t_shangping` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名稱',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '價格',`chushouzhe` VARCHAR(255) DEFAULT NULL COMMENT '賣家名字',`chushouzheid` INT(11) DEFAULT NULL COMMENT '賣家id',`shuoming` VARCHAR(5000) DEFAULT NULL COMMENT '說明',PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='商品';?
?
商品處理控制層
package org.mypro.front;import java.io.File;import java.io.IOException;import java.math.BigDecimal;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Collections;import java.util.Date;import java.util.List;import javax.jms.Session;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.commons.lang3.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.mypro.dao.ShangpingMapper;import org.mypro.entity.Shangping;import org.mypro.entity.ShangpingExample;import org.mypro.entity.Chushouzhe;import org.mypro.entity.ChushouzheExample;import org.mypro.dao.ChushouzheMapper;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.multipart.MultipartFile;@Controller@RequestMapping(value = "/")public class ShangpingController {private static final Log logger = LogFactory.getLog(ShangpingController.class);@Autowired private ShangpingMapper shangpingdao; // 定義chushouzhedao參數@Autowired private ChushouzheMapper chushouzhedao;//定義方法tianjiashangping,響應頁面tianjiashangping請求@RequestMapping(value = "tianjiashangping")public String tianjiashangping(HttpServletRequest request, HttpServletResponse response,HttpSession session,String backurl) {logger.debug("ShangpingController.tianjiashangping ......");// 定義 example1為 ChushouzheExample的實例ChushouzheExample example1 = new ChushouzheExample();List chushouzheall = chushouzhedao.selectByExample(example1);request.setAttribute("chushouzheall", chushouzheall);if(backurl != null && backurl.indexOf("tianjiashangping.action") == -1){return "forward:/" + backurl; }return "tianjiashangping";}@RequestMapping(value = "tianjiashangpingact")public String tianjiashangpingact(HttpServletRequest request,HttpSession session, HttpServletResponse response,Shangping shangping,String backurl) throws IOException {logger.debug("ShangpingController.tianjiashangpingact ......");shangpingdao.insert(shangping);request.setAttribute("message", "添加商品成功");if(backurl != null && backurl.indexOf("tianjiashangpingact.action") == -1){return "forward:/" + backurl; }//返回tianjiashangping方法return "forward:/tianjiashangping.action";}//定義shangpingguanli方法響應頁面請求@RequestMapping(value = "shangpingguanli")public String shangpingguanli(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {logger.debug("ShangpingController.shangpingguanli ......");ShangpingExample example = new ShangpingExample();List shangpingall = shangpingdao.selectByExample(example);request.setAttribute("shangpingall", shangpingall);if(backurl != null && backurl.indexOf("shangpingguanli.action") == -1){return "forward:/" + backurl; }return "shangpingguanli";}// 定義 shangpingchakan方法@RequestMapping(value = "shangpingchakan")public String shangpingchakan(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {logger.debug("ShangpingController.shangpingchakan ......");ShangpingExample example = new ShangpingExample();List shangpingall = shangpingdao.selectByExample(example);request.setAttribute("shangpingall", shangpingall);if(backurl != null && backurl.indexOf("shangpingchakan.action") == -1){return "forward:/" + backurl; }return "shangpingchakan";}// 定義 xiugaishangping方法@RequestMapping(value = "xiugaishangping")public String xiugaishangping(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){logger.debug("ShangpingController.xiugaishangping ......");Shangping shangping = shangpingdao.selectByPrimaryKey(id);// 定義 example1為 ChushouzheExample的實例ChushouzheExample example1 = new ChushouzheExample();List chushouzheall = chushouzhedao.selectByExample(example1);request.setAttribute("chushouzheall", chushouzheall);request.setAttribute("shangping", shangping);if(backurl != null && backurl.indexOf("xiugaishangping.action") == -1){return "forward:/" + backurl; }return "xiugaishangping";}// 定義xiugaishangpingact處理商品修改@RequestMapping(value = "xiugaishangpingact")public String xiugaishangpingact(HttpServletRequest request, HttpServletResponse response,Shangping shangping,HttpSession session,String backurl) throws IOException {logger.debug("ShangpingController.xiugaishangpingact ......");shangpingdao.updateByPrimaryKeySelective(shangping);request.setAttribute("message", "修改商品信息成功");if(backurl != null && backurl.indexOf("xiugaishangpingact.action") == -1){return "forward:/" + backurl; }return "forward:/shangpingguanli.action";}// 定義shanchushangping,處理刪除商品@RequestMapping(value = "shanchushangping")public String shanchushangping(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){logger.debug("ShangpingController.shanchushangping ......");shangpingdao.deleteByPrimaryKey(id);request.setAttribute("message", "刪除商品成功");if(backurl != null && backurl.indexOf("shanchushangping.action") == -1){return "forward:/" + backurl; }return "forward:/shangpingguanli.action";}// 定義sousuoshangping方法,處理搜索操作@RequestMapping(value = "sousuoshangping")public String sousuoshangping(HttpServletRequest request, HttpServletResponse response,HttpSession session,String search,String backurl) {logger.debug("ShangpingController.sousuoshangping ......");ShangpingExample example = new ShangpingExample();ShangpingExample.Criteria criteria = example.createCriteria();if(search != null){criteria.andMingchengLike("%" + search + "%");}List shangpingall = shangpingdao.selectByExample(example);request.setAttribute("shangpingall", shangpingall);if(backurl != null && backurl.indexOf("sousuoshangping.action") == -1){return "forward:/" + backurl; }return "sousuoshangping";}// 定義ShangpingpinglunMapper@RequestMapping(value = "shangpingxiangqing")public String shangpingxiangqing(HttpServletRequest request,HttpSession session, HttpServletResponse response,int id,String backurl) {logger.debug("ShangpingController.shangpingxiangqing ......");Shangping shangping = shangpingdao.selectByPrimaryKey(id);request.setAttribute("shangping", shangping);if(backurl != null && backurl.indexOf("shangpingxiangqing.action") == -1){return "forward:/" + backurl; }return "shangpingxiangqing";}// 上傳文件圖片等public String uploadUtile(MultipartFile file, HttpServletRequest request) throws IOException {// 根據當前時間生成時間字符串SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");String res = sdf.format(new Date());// uploads文件夾位置String rootPath = request.getSession().getServletContext().getRealPath("resource/uploads/");// 原始名稱String originalFileName = file.getOriginalFilename();// 新文件名String newFileName = "sliver" + res + originalFileName.substring(originalFileName.lastIndexOf("."));// 創建年月文件夾Calendar date = Calendar.getInstance();File dateDirs = new File(date.get(Calendar.YEAR) + File.separator + (date.get(Calendar.MONTH)+1));// 新文件File newFile = new File(rootPath + File.separator + dateDirs + File.separator + newFileName);// 判斷目標文件所在目錄是否存在if( !newFile.getParentFile().exists()) {// 如果目標文件所在的目錄不存在,則創建父目錄newFile.getParentFile().mkdirs();}System.out.println(newFile);// 將內存中的數據寫入磁盤file.transferTo(newFile);// 完整的url?代碼已經上傳github,下載地址:??????????????https://github.com/21503882
String fileUrl = date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH)+1) + "/" + newFileName;return fileUrl;}}?
總結
以上是生活随笔為你收集整理的JavaWeb网上拍卖系统jsp+sql的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BufferedImage类、Image
- 下一篇: oracle database lite