zoukankan      html  css  js  c++  java
  • 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";

    源码下载

  • 相关阅读:
    构造无限级树并深度遍历查找指定节点
    如何用python自动编写《赤壁赋》文档
    《易经》总结
    IDEA看代码必备插件Call Graph 介绍及使用方法
    chemfig化学式转换为pdf
    从wav到Ogg Opus 以及使用java解码OPUS
    使用jhipster 加速java web开发
    从Spring框架看设计模式如何灵活使用
    提升NginxTLS/SSL HTTPS 性能的7条优化建议
    高效团队的gitlab flow最佳实践
  • 原文地址:https://www.cnblogs.com/hxlk/p/11672115.html
Copyright © 2011-2022 走看看