基于SSM框架下的JAVA网上投票系统

每天记录学习,每天会有好心情。*^_^*

在学习网上投票系统项目的时候,方便日后能及时查阅,在本平台中记录一下该项目的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。是我们学习编程可以重点学习的一个框架,我在开发网上投票系统项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将网上投票系统项目开发为了一个 后台项目。
该项目具有的用户角色包括了管理员、用户,每个角色都含有自己的登录账号和密码。

总结得出该系统所有数据为:管理员(admin)、投票(toupiao)、用户(yonghu)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

投票表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 投票id
biaoti | VARCHAR(255) | | 标题
neirong | VARCHAR(255) | | 内容
xuanxianga | VARCHAR(255) | | 选项A
xuanxiangb | VARCHAR(255) | | 选项B
xuanxiangc | VARCHAR(255) | | 选项C
xuanxiangd | VARCHAR(255) | | 选项D
xuanxiangacs | VARCHAR(255) | | 选项A次数
xuanxiangbcs | VARCHAR(255) | | 选项B次数
xuanxiangccs | VARCHAR(255) | | 选项C次数
xuanxiangdcs | VARCHAR(255) | | 选项D次数

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
nicheng | VARCHAR(255) | | 昵称
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggtoupiaoxitong

-- ----------------------------

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_toupiao`;

CREATE TABLE `t_toupiao` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '投票id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`xuanxianga` VARCHAR(255) DEFAULT NULL COMMENT '选项A',`xuanxiangb` VARCHAR(255) DEFAULT NULL COMMENT '选项B',`xuanxiangc` VARCHAR(255) DEFAULT NULL COMMENT '选项C',`xuanxiangd` VARCHAR(255) DEFAULT NULL COMMENT '选项D',`xuanxiangacs` VARCHAR(255) DEFAULT NULL COMMENT '选项A次数',`xuanxiangbcs` VARCHAR(255) DEFAULT NULL COMMENT '选项B次数',`xuanxiangccs` VARCHAR(255) DEFAULT NULL COMMENT '选项C次数',`xuanxiangdcs` VARCHAR(255) DEFAULT NULL COMMENT '选项D次数',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',`nicheng` 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='用户';

添加投票模块:

通过添加投票模块,可以完成投票的添加操作。在页面中跳转到添加投票页面,输入投票的所有信息,点击添加操作,可以将投票数据以post提交到toupiaoController中。投票所包含的字段信息包括标题,内容,选项A,选项B,选项C,选项D,选项A次数,选项B次数,选项C次数,选项D次数。在toupiaoController中通过定义toupiao接受所有的投票参数。使用toupiaodao的insert方法将toupiao实体插入到数据库中。完成数据的添加操作,在toupiaoMapper中匹配对应的toupiaoxml完成插入sql语句的执行操作。该部分核心代码如下:

通过toupiaodao的insert方法将页面传输的投票添加到数据库中 toupiaodao.insert(toupiao);

将添加投票成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加投票成功");

返回投票管理界面

return "forward:/tianjiatoupiao.action";

查询投票模块:

在浏览器中进入投票查询页面时,此时浏览器的地址栏为toupiaoguanli.action,该地址将响应toupiaoController类中的toupiaoguanli,在该方法中,通过selectByexample方法获取所有的投票信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:

生成投票样例类,通过example定义查询条件 ToupiaoExample example = new ToupiaoExample();

通过toupiaodao的selectByExample方法查询出所有的投票信息 List toupiaoall = toupiaodao.selectByExample(example);

将投票信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("toupiaoall", toupiaoall);

返回投票管理界面

return "forward:/toupiaoguanli.action";

修改投票模块:

在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaitoupiao中,封装为一个投票

,使用update方法修改该投票信息,将数据同步到数据库,完成修改操作。

定义修改成功提示信息,修改投票成功,并保存到request中具体代码如下:

通过toupiaodao的修改方法根据id修改对应的投票 toupiaodao.updateByPrimaryKeySelective(toupiao);

将修改投票成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改投票信息成功");

返回投票管理界面

return "forward:/toupiaoguanli.action";

删除投票模块:

删除投票功能实现在toupiaoController中,实现方法为shanchutoupiao。在页面中通过get方法shanchutoupiao.action?Id的形式将需要删除的投票id上传到服务器中,响应对应的方法,调用toupiaodao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:

通过toupiaodao的删除方法根据id删除对应的投票 toupiaodao.deleteByPrimaryKey(id);

将删除投票成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除投票成功");

返回投票管理界面

return "forward:/toupiaoguanli.action";

猜你喜欢

转载自www.cnblogs.com/lsjyy/p/11587221.html