每天记录学习,每天会有好心情。*^_^*
今天将为大家分析一个基于web的农产品直卖网站,采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。本系统分为前台销售系统和后台管理系统,前台会员系统,为会员提供:会员注册、购物车、顾客留言、商品浏览、订单管理等主要功能。后台管理系统,为管理员提供农产品订单管理、农产品的商品管理、农产品的商品分类管理、农产品的特价商品管理、会员信息管理、系统用户管理等优质服务。
基于web的农产品直卖网站项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。基于web的农产品直卖网站为一个 后台项目。
为了完成基于web的农产品直卖网站,我们首先需要对该系统进行需求分析。一个基于web的农产品直卖网站应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
为了完成系统的功能需要为商家注册设置订单表,记录订单信息。在订单表中定义了两者的关联关系,其中订单的名称与商家注册的mingcheng字段对应
。
总结得出基于web的农产品直卖网站项目所有数据为:管理员(admin)、用户(yonghu)、商家注册(shangjiazhuce)、订单(dingdan)
基于web的农产品直卖网站之管理员表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
quanxian | VARCHAR(255) | | 权限
基于web的农产品直卖网站之用户表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
基于web的农产品直卖网站之商家注册表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 商家注册id
fuzeren | VARCHAR(255) | | 负责人
lianxifangshi | VARCHAR(255) | | 联系方式
nongchanpin | VARCHAR(255) | | 农产品
jiage | VARCHAR(255) | | 价格
mingcheng | VARCHAR(255) | | 名称
基于web的农产品直卖网站之订单表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 订单id
shouhuoren | VARCHAR(255) | | 收货人
lianxifangshi | VARCHAR(255) | | 联系方式
shouhuodizhi | VARCHAR(255) | | 收货地址
mingcheng | VARCHAR(255) | | 名称
nongchanpin | VARCHAR(255) | | 农产品
shuliang | VARCHAR(255) | | 数量
jiage | VARCHAR(255) | | 价格
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- ----------------------------
-- Table structure for ggjywebdncpzmwz
-- ----------------------------
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 '密码',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '权限',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员';
-- ----------------------------
DROP TABLE IF EXISTS `t_yonghu`;
CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`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_shangjiazhuce`;
CREATE TABLE `t_shangjiazhuce` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '商家注册id',`fuzeren` VARCHAR(255) DEFAULT NULL COMMENT '负责人',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',`nongchanpin` VARCHAR(255) DEFAULT NULL COMMENT '农产品',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='商家注册';
-- ----------------------------
DROP TABLE IF EXISTS `t_dingdan`;
CREATE TABLE `t_dingdan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '订单id',`shouhuoren` VARCHAR(255) DEFAULT NULL COMMENT '收货人',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',`shouhuodizhi` VARCHAR(255) DEFAULT NULL COMMENT '收货地址',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`nongchanpin` VARCHAR(255) DEFAULT NULL COMMENT '农产品',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单';
添加订单模块:
从页面中通过post方法,将订单信息传入到后台服务器中,在tianjiadingdanact
中接收,字段包括收货人,联系方式,收货地址,名称,农产品,数量,价格使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加订单成功,并保存到request中具体代码如下:
通过dingdandao的insert方法将页面传输的订单添加到数据库中 dingdandao.insert(dingdan);
将添加订单成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加订单成功");
返回订单管理界面
return "forward:/tianjiadingdan.action";
查询订单模块:
在后台中定义订单查询模块,在侧边栏中点击订单管理,可以跳转到订单管理界面。在该页面中通过dingdanController中定义dingdanguanli响应订单查询模块。在dingdanguanli中查询出所有信息,返回页面进行循环展示。查询方法为dingdandao中的selectByexample方法。该部分核心代码如下:
生成订单样例类,通过example定义查询条件 DingdanExample example = new DingdanExample();
通过dingdandao的selectByExample方法查询出所有的订单信息 List dingdanall = dingdandao.selectByExample(example);
将订单信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("dingdanall", dingdanall);
返回订单管理界面
return "forward:/dingdanguanli.action";
修改订单模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaidingdan中,封装为一个订单
,使用update方法修改该订单信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改订单成功,并保存到request中具体代码如下:
通过dingdandao的修改方法根据id修改对应的订单 dingdandao.updateByPrimaryKeySelective(dingdan);
将修改订单成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改订单信息成功");
返回订单管理界面
return "forward:/dingdanguanli.action";
删除订单模块:
删除订单功能实现在dingdanController中,实现方法为shanchudingdan。在页面中通过get方法shanchudingdan.action?Id的形式将需要删除的订单id上传到服务器中,响应对应的方法,调用dingdandao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过dingdandao的删除方法根据id删除对应的订单 dingdandao.deleteByPrimaryKey(id);
将删除订单成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除订单成功");
返回订单管理界面
return "forward:/dingdanguanli.action";