每天记录学习,每天会有好心情。*^_^*
今天和一个朋友共同完成了一个基于web的学校科技竞赛平台项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,基于web的学校科技竞赛平台是一个 后台项目本系统目的正是在于为管理全国各大高校的竞赛赛事而设计的。本文围绕系统的需求分析、系统设计、系统实现和系统测试展开了一系列工作。需求分析从用户对功能的需求和软件性能需求两方面展开。采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
一个基于web的学校科技竞赛平台应包含用户角色有管理员、用户注册。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
总结得出基于web的学校科技竞赛平台项目所有数据为:管理员(admin)、用户注册(yonghuzhuce)、信息发布(xinxifabu)、成绩统计(chengjitongji)
基于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) | | 性别 nianji | VARCHAR(255) | | 年级 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于web的学校科技竞赛平台之信息发布表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 信息发布id saishixinxi | VARCHAR(255) | | 赛事信息 xiangguangongghao | VARCHAR(255) | | 相关公告 baomingxinxi | VARCHAR(255) | | 报名信息
基于web的学校科技竞赛平台之成绩统计表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 成绩统计id xingming | VARCHAR(255) | | 姓名 chengjidan | VARCHAR(255) | | 成绩单 nianling | VARCHAR(255) | | 年龄 xingbie | VARCHAR(255) | | 性别 huojiangminge | VARCHAR(255) | | 获奖名额
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjywebdxxkjjspt -- ---------------------------- 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_yonghuzhuce`; CREATE TABLE `t_yonghuzhuce` (`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 '性别',`nianji` 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_xinxifabu`; CREATE TABLE `t_xinxifabu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '信息发布id',`saishixinxi` VARCHAR(255) DEFAULT NULL COMMENT '赛事信息',`xiangguangongghao` VARCHAR(255) DEFAULT NULL COMMENT '相关公告',`baomingxinxi` VARCHAR(255) DEFAULT NULL COMMENT '报名信息',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='信息发布'; -- ---------------------------- DROP TABLE IF EXISTS `t_chengjitongji`; CREATE TABLE `t_chengjitongji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '成绩统计id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`chengjidan` VARCHAR(255) DEFAULT NULL COMMENT '成绩单',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`huojiangminge` VARCHAR(255) DEFAULT NULL COMMENT '获奖名额',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='成绩统计';
添加信息发布模块:
通过添加信息发布模块,可以完成信息发布的添加操作。在页面中跳转到添加信息发布页面,输入信息发布的所有信息,点击添加操作,可以将信息发布数据以post提交到xinxifabuController中。信息发布所包含的字段信息包括赛事信息,相关公告,报名信息。在xinxifabuController中通过定义xinxifabu接受所有的信息发布参数。使用xinxifabudao的insert方法将xinxifabu实体插入到数据库中。完成数据的添加操作,在xinxifabuMapper中匹配对应的xinxifabuxml完成插入sql语句的执行操作。该部分核心代码如下:
通过xinxifabudao的insert方法将页面传输的信息发布添加到数据库中 xinxifabudao.insert(xinxifabu);
将添加信息发布成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加信息发布成功");
返回信息发布管理界面
return "forward:/tianjiaxinxifabu.action";
查询信息发布模块:
信息发布的查询模块实现方式为,在页面中发起xinxifabuguanli.action请求。通过该请求,响应服务器xinxifabuController类中的xinxifabuguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的信息发布信息查询后,保存到request中的xinxifabuall中,在页面中进行展示,返回xinxifabuguanli.jsp,该部分核心代码如下所示:
生成信息发布样例类,通过example定义查询条件 XinxifabuExample example = new XinxifabuExample();
通过xinxifabudao的selectByExample方法查询出所有的信息发布信息 List xinxifabuall = xinxifabudao.selectByExample(example);
将信息发布信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("xinxifabuall", xinxifabuall);
返回信息发布管理界面
return "forward:/xinxifabuguanli.action";
修改信息发布模块:
对已经上传的信息发布信息可以进行修改操作,该部分操作在信息发布管理界面中点击修改按钮可以跳转到信息发布修改页面。在修改页面中,将初始化所有的信息发布字段信息,字段信息包括赛事信息,相关公告,报名信息。字段信息内容通过信息发布id获取。修改后的信息传入到xinxifabuController中接收为xinxifabu。在xinxifabuController中包含有提前定义好的xinxifabudao,该参数为xinxifabuMapper是实现。xinxifabuMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:
通过xinxifabudao的修改方法根据id修改对应的信息发布 xinxifabudao.updateByPrimaryKeySelective(xinxifabu);
将修改信息发布成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改信息发布信息成功");
返回信息发布管理界面
return "forward:/xinxifabuguanli.action";
删除信息发布模块:
删除信息发布功能的实现方式为,通过点击删除信息发布按钮,向服务器发起get请求。请求中包含信息发布的id信息,在xinxifabuController中使用int接受该id,并将该id传入xinxifabudao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应信息发布。最后将删除信息发布成功的信息返回页面,该部分核心代码如下:
通过xinxifabudao的删除方法根据id删除对应的信息发布 xinxifabudao.deleteByPrimaryKey(id);
将删除信息发布成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除信息发布成功");
返回信息发布管理界面
return "forward:/xinxifabuguanli.action";