基于MVC的网上拍卖系统,JAVA源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON、PHP、C#、安卓等多项技术。

今天将为大家分析一个网上拍卖系统(随着Internet技术的发展和互联网的日益普及以及电子商务的发展,电子商务活动日益繁荣,C2C模式的巨大优势将使它成为未来电子商务领域重要的一部分。网上拍卖迅速成为一种非常活跃的C2C电子商务模式。详细介绍了JSP+Servlet+JavaBean的三层架构模式在电子商务平台上应用的相关技术。该系统经实践证明是稳定、安全和高效的,具有较高的实用价值。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。网上拍卖系统为一个 后台项目。

为了完成该系统,我们首先需要对该系统进行需求分析。一个网上拍卖系统应包含用户角色有管理员、买家、卖家。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

为了完成系统的功能需要为卖家设置商品表,记录商品信息。在商品表中定义了两者的关联关系,其中商品的卖家名字与卖家的mingzi字段对应、商品的卖家id与卖家的id字段对应

 

 

总结得出该系统所有数据为:管理员(admin)、买家(maijia)、卖家(chushouzhe)、商品(shangping)

 

 

管理员表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 管理员id

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

 

 

 

买家表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 买家id

mingzi | VARCHAR(255) |  | 名字

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

yue | VARCHAR(255) |  | 余额

 

 

 

卖家表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 卖家id

mingzi | VARCHAR(255) |  | 名字

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

nianling | VARCHAR(255) |  | 年龄

xingbie | VARCHAR(255) |  | 性别

yue | VARCHAR(255) |  | 余额

 

 

 

商品表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 商品id

mingcheng | VARCHAR(255) |  | 名称

jiage | VARCHAR(255) |  | 价格

chushouzhe | VARCHAR(255) |  | 卖家名字

chushouzheid | VARCHAR(255) |  | 卖家id

shuoming | 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

String fileUrl = date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH)+1) + "/" + newFileName;

return fileUrl;

}}

 

源码下载

转载于:https://www.cnblogs.com/qwcx/p/11525255.html

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 附加例及代码 包含教材各章的10个补充实例及完整的Java源程序代码,具体如下。  【附加例3.1】利用类适配器进行设计的邮政编码检验系统  【附加例3.2】利用对象适配器设计的关于椭圆的不同画法的程序  【附加例3.3】利用外观模式设计的学生信息文档  【附加例3.4】利用桥接模式设计的特工信息保密系统  【附加例4.1】利用中介者模式进行重构的实例  【附加例4.2】利用策略模式设计的相同数据的不同图表显示的实例  【附加例4.3】利用状态模式设计的天气状态软件  【附加例4.4】利用状态模式设计的中国个人所得税的计算系统  【附加例6.1】二手车拍卖系统最简单的设计与实现  【附加例6.2】二手车拍卖系统的非MVC设计与实现-两个类的情况 2. 教材各章实例代码 包括书中各章实例的Java源程序代码 (共46组),列表如下。 (1)上篇:软件设计模式例子代码  【例2.2】简单工厂方法模式-汽车保险  【例2.3】工厂方法模式-汽车保险  【例2.4】抽象工厂模式-房屋信息  【例2.5】生成器模式-房屋信息  【例2.6】单例模式-互联网连接  【例3.2】组合模式-五子棋代码  【例3.3】组合模式-空军指挥系统  【例3.4】组合模式-世界问候语  【例3.7】类适配器模式-客户信息验证  【例3.8】对象适配器模式-字符串排序  【例3.10】外观模式-安全系统  【例3.11】外观模式-椭圆功能  【例3.13】桥接模式-茶水机系统  【例3.14】桥接模式-几何立体体积  【例4.1】迭代器模式-矩阵搜索  【例4.2】迭代器模式-产品搜索  【例4.4】访问者模式-名牌鞋销售软件  【例4.5】访问者模式-计算机部件销售软件  【例4.6】命令模式-室内温度控制  【例4.7】命令模式-室内温度控制-2个GUI  【例4.8】命令模式-室内温度控制-3个GUI  【例4.10】中介者模式-旅游信息共享  【例4.11】中介者模式-海岛机场  【例4.13】策略模式-整数排序  【例4.14】策略模式-中国属相  【例4.16】状态模式-交通信号灯-设计1  【例4.16】状态模式-交通灯信号灯-设计2  【例4.16】状态模式-交通灯信号灯-设计3 (2)下篇:软件体系结构例子代码  【例6.4】结构化设计-文件更新-C源代码  【例6.5】面向对象设计架构-文件更新  【例6.7】顺序批处理架构-文件更新  【例6.8】顺序批处理架构-图像处理  【例6.9】管道过滤器架构-主动过滤器  【例6.10】管道过滤器架构-被动过滤器  【例6.11】管道-过滤器架构-文件更新  【例6.12】管道-过滤器架构-图像处理程  【例6.14】事件体系结构-鼠标响应  【例6.17】事件体系结构-观察者模式-大草原1  【例6.18】事件体系结构-观察者模式-大草原2  【例6.19】事件体系结构-观察者模式-温度显示  【例6.21】层次架构-软件测试  【例6.22】层次架构-银行- Access数据库  【例6.23】MVC架构-二手车拍卖-无观察者  【例6.24】MVC架构-二手车拍卖-观察者-3个图形界面  【例6.25】MVC架构-二手车拍卖-观察者-1个图形界面  2.3.3节中应用单例模式设计的President程序 3. 软件设计-编程作业 共包含25个作业,每个作业都有部分可运行代码。在每次做作业之前请先看相应文件夹中的Word文档(包含描述该作业的类图),这样才能很好地理解作业中的源代码。通常每个作业都要求学生在原有的设计中增加新的单独的类或层次类,并且要求具体实现其设计。具体如下。 (1)上篇:软件设计模式  【作业2.1-1】-工厂方法模式-汽车保险  【作业2.1-2】-抽象工厂模式-房屋信息  【作业2.2-1】-生成器模式-房屋信息  【作业2.3-1】-单例模式-网络连接  【作业3.1-1】-组合模式-空军指挥  【作业3.2-1】-适配器模式-客户信息验证  【作业3.2-2】-适配器模式-邮编验证  【作业3.3-1】-外观模式-毕业生信息  【作业3.4-1】-桥接模式-几何体积  【作业3.4-2】-桥接模式-特工信息  【作业4.1-1】-迭代器模式-矩阵型数据搜索  【作业4.2-1】-访问者模式-名牌鞋查询  【作业4.2-2】-访问者模式-计算机配件  【作业4.3-1】-命令模式-空调  【作业4.3-2】-命令模式-空调2  【作业4.4-1】-中介者模式-商业信息共享  【作业4.5-1】-策略模式-排序  【作业4.5-2】-策略模式-属相  【作业4.6-1】-状态模式-天气  【作业4.6-2】-状态模式-税收 (2)下篇:软件体系结构  【作业6.1-1】-状态模式-税收  【作业6.2-1】-管道-过滤器  【作业6.3-1】-观察者  【作业6.4-1】-层次架构 【作业6.5-1】-MVC

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值