基于SSM的JAVA网上招标系统
今日思考,完成一个网上招标系统项目,需要实现哪些功能?
此类项目常见描述如下:
信息技术不断发展,传统的招投标模式已经不适应当前的情况,网上招标是一种以先进的网络技术为支撑,是传统招标方式与现代网络技术相融合的产物.随着我国市场经济的不断发展和完善,电子招投标在中国有着十分广阔的应用前景。以网络技术为基础,招标、投标、评标、合同等业务全过程实现数字化、网络化、高度集成化的系统,主要由网络安全系统与网上业务系统两部分组成。具有信息高度集成,信息更新速度快,信息的查询分析功能强大等特色。
SSM(MYECLIPSE)框架及其适合本类项目,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对网上招标系统系统的仔细分析,可以得出网上招标系统系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、用户。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、招标平台(zhaobiaopingtai)、服务平台(fuwupingtai)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id xingming | VARCHAR(255) | | 姓名 zhiwu | VARCHAR(255) | | 职务 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 quanxian | VARCHAR(255) | | 权限
招标平台表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 招标平台id zhaobiaoxiangmu | VARCHAR(255) | | 招标项目 baojia | VARCHAR(255) | | 报价 gongsimingcheng | VARCHAR(255) | | 公司名称
服务平台表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 服务平台id gongsijianjie | VARCHAR(255) | | 公司简介 xiangmuzhonglei | VARCHAR(255) | | 项目种类 zixunjieshao | VARCHAR(255) | | 咨询介绍
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggwangshangzhaobiaoxt -- ---------------------------- 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_yonghu`; CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`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_zhaobiaopingtai`; CREATE TABLE `t_zhaobiaopingtai` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '招标平台id',`zhaobiaoxiangmu` VARCHAR(255) DEFAULT NULL COMMENT '招标项目',`baojia` VARCHAR(255) DEFAULT NULL COMMENT '报价',`gongsimingcheng` VARCHAR(255) DEFAULT NULL COMMENT '公司名称',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='招标平台'; -- ---------------------------- DROP TABLE IF EXISTS `t_fuwupingtai`; CREATE TABLE `t_fuwupingtai` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '服务平台id',`gongsijianjie` VARCHAR(255) DEFAULT NULL COMMENT '公司简介',`xiangmuzhonglei` VARCHAR(255) DEFAULT NULL COMMENT '项目种类',`zixunjieshao` VARCHAR(255) DEFAULT NULL COMMENT '咨询介绍',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='服务平台';
添加服务平台模块:
通过添加服务平台模块,可以完成服务平台的添加操作。在页面中跳转到添加服务平台页面,输入服务平台的所有信息,点击添加操作,可以将服务平台数据以post提交到fuwupingtaiController中。服务平台所包含的字段信息包括公司简介,项目种类,咨询介绍。在fuwupingtaiController中通过定义fuwupingtai接受所有的服务平台参数。使用fuwupingtaidao的insert方法将fuwupingtai实体插入到数据库中。完成数据的添加操作,在fuwupingtaiMapper中匹配对应的fuwupingtaixml完成插入sql语句的执行操作。该部分核心代码如下:
通过fuwupingtaidao的insert方法将页面传输的服务平台添加到数据库中 fuwupingtaidao.insert(fuwupingtai);
将添加服务平台成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加服务平台成功");
返回服务平台管理界面
return "forward:/tianjiafuwupingtai.action";
查询服务平台模块:
服务平台的查询模块实现方式为,在页面中发起fuwupingtaiguanli.action请求。通过该请求,响应服务器fuwupingtaiController类中的fuwupingtaiguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的服务平台信息查询后,保存到request中的fuwupingtaiall中,在页面中进行展示,返回fuwupingtaiguanli.jsp,该部分核心代码如下所示:
生成服务平台样例类,通过example定义查询条件 FuwupingtaiExample example = new FuwupingtaiExample();
通过fuwupingtaidao的selectByExample方法查询出所有的服务平台信息 List fuwupingtaiall = fuwupingtaidao.selectByExample(example);
将服务平台信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("fuwupingtaiall", fuwupingtaiall);
返回服务平台管理界面
return "forward:/fuwupingtaiguanli.action";
修改服务平台模块:
点击修改按钮,可以跳转到服务平台修改页面。在服务平台修改页面中,将初始化该服务平台的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完服务平台信息后,页面通过post方法将数据封装为一个服务平台实体,传入到fuwupingtaiController中。在xiugaifuwupingtai中进行接收,接收完毕后,调用fuwupingtaiMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:
通过fuwupingtaidao的修改方法根据id修改对应的服务平台 fuwupingtaidao.updateByPrimaryKeySelective(fuwupingtai);
将修改服务平台成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改服务平台信息成功");
返回服务平台管理界面
return "forward:/fuwupingtaiguanli.action";
删除服务平台模块:
在页面中通过a标签,shanchufuwupingtai?id=将id传入到后台中,通过shanchufuwupingtai接收服务平台id。使用deleteByid的方法
删除该服务平台,完成删除操作。定义删除成功提示信息,删除服务平台成功,并保存到request中,该部分代码如下:
通过fuwupingtaidao的删除方法根据id删除对应的服务平台 fuwupingtaidao.deleteByPrimaryKey(id);
将删除服务平台成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除服务平台成功");
返回服务平台管理界面
return "forward:/fuwupingtaiguanli.action";