java抽奖系统
每天都要认真学习,才能更加进步。└(^o^)┘
在工作和学习的过程中要善于思考,勤于学习。并做出适当的记录,才能最快速的学习并掌握一项知识。希望在这个平台和大家一起共同成长,和大家分享一个SSM(MYECLIPSE)项目,该项目名称为基于javaweb的抽奖系统。推荐使用 HMAC 作为签名的实现形式,使得用户很难破解这种密钥联合签名算法。在交互过程中使用的关键敏感信息以 session 的形式存储于服务器端的数据库中,保证了用户不可篡改。该方案具有普遍性,可广泛应用于各种在线抽奖系统产品。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
大家在学习中编写SSM(MYECLIPSE)框架的项目时常选用的开发工具是MYECLIPSE,从上面的项目背景中,我们可以得出基于javaweb的抽奖系统拥有 后台。才能让用户完整的使用该项目。
基于javaweb的抽奖系统项目的登录角色包括了管理员、用户,系统中所有的用户都是拥有账号密码字段的。其中管理员只能在后台和数据库进行添加。而其余的登录角色可以通过注册的方式成功拥有系统账号密码。
总结得出基于javaweb的抽奖系统项目所有数据为:管理员(admin)、用户(yonghu)、抽奖(choujiang)
基于javaweb的抽奖系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于javaweb的抽奖系统之用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id mingzi | VARCHAR(255) | | 名字 ujsername | VARCHAR(255) | | 账号 xingbie | VARCHAR(255) | | 性别 nianling | VARCHAR(255) | | 年龄
基于javaweb的抽奖系统之抽奖表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 抽奖id jiangxiang | VARCHAR(255) | | 奖项 jiangpin | VARCHAR(255) | | 奖品 shuoming | VARCHAR(255) | | 说明 jibie | VARCHAR(255) | | 级别
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjyjavawebdcjxt -- ---------------------------- 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',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`ujsername` VARCHAR(255) DEFAULT NULL COMMENT '账号',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户'; -- ---------------------------- DROP TABLE IF EXISTS `t_choujiang`; CREATE TABLE `t_choujiang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '抽奖id',`jiangxiang` VARCHAR(255) DEFAULT NULL COMMENT '奖项',`jiangpin` VARCHAR(255) DEFAULT NULL COMMENT '奖品',`shuoming` VARCHAR(5000) DEFAULT NULL COMMENT '说明',`jibie` VARCHAR(255) DEFAULT NULL COMMENT '级别',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='抽奖';
添加抽奖模块:
通过添加抽奖模块,可以完成抽奖的添加操作。在页面中跳转到添加抽奖页面,输入抽奖的所有信息,点击添加操作,可以将抽奖数据以post提交到choujiangController中。抽奖所包含的字段信息包括奖项,奖品,说明,级别。在choujiangController中通过定义choujiang接受所有的抽奖参数。使用choujiangdao的insert方法将choujiang实体插入到数据库中。完成数据的添加操作,在choujiangMapper中匹配对应的choujiangxml完成插入sql语句的执行操作。该部分核心代码如下:
通过choujiangdao的insert方法将页面传输的抽奖添加到数据库中 choujiangdao.insert(choujiang);
将添加抽奖成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加抽奖成功");
返回抽奖管理界面
return "forward:/tianjiachoujiang.action";
查询抽奖模块:
在后台choujiangguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成抽奖查询操作。具体代码如下:
生成抽奖样例类,通过example定义查询条件 ChoujiangExample example = new ChoujiangExample();
通过choujiangdao的selectByExample方法查询出所有的抽奖信息 List choujiangall = choujiangdao.selectByExample(example);
将抽奖信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("choujiangall", choujiangall);
返回抽奖管理界面
return "forward:/choujiangguanli.action";
修改抽奖模块:
在页面完成抽奖的修改信息填写后,将该部分数据传入xiugaichoujiang.action地址,并通过post进行提交。提交后在choujiangController中通过xiugaichoujiang进行接收,将所有字段封装为一个抽奖实体。并将该实体传入choujiangdao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过抽奖id更新其余抽奖的字段,该部分字段包括奖项,奖品,说明,级别,该部分核心代码如下所示:
通过choujiangdao的修改方法根据id修改对应的抽奖 choujiangdao.updateByPrimaryKeySelective(choujiang);
将修改抽奖成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改抽奖信息成功");
返回抽奖管理界面
return "forward:/choujiangguanli.action";
删除抽奖模块:
删除抽奖功能实现在choujiangController中,实现方法为shanchuchoujiang。在页面中通过get方法shanchuchoujiang.action?Id的形式将需要删除的抽奖id上传到服务器中,响应对应的方法,调用choujiangdao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过choujiangdao的删除方法根据id删除对应的抽奖 choujiangdao.deleteByPrimaryKey(id);
将删除抽奖成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除抽奖成功");
返回抽奖管理界面
return "forward:/choujiangguanli.action";