最近了解了基于javaweb的成绩查询系统项目,在这个平台记录一下这个基于javaweb的成绩查询系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成基于javaweb的成绩查询系统项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,基于javaweb的成绩查询系统为一个 后台项目。
在对基于javaweb的成绩查询系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、学生。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。
总结得出基于javaweb的成绩查询系统项目所有数据为:管理员(admin)、学生(xuesheng)、成绩(chengji)
基于javaweb的成绩查询系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于javaweb的成绩查询系统之学生表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 学生id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 banji | VARCHAR(255) | | 班级 nianling | VARCHAR(255) | | 年龄 xingbie | VARCHAR(255) | | 性别
基于javaweb的成绩查询系统之成绩表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 成绩id xuesheng | VARCHAR(255) | | 学生 xueshengid | VARCHAR(255) | | 学生id chengji | VARCHAR(255) | | 成绩 kemu | VARCHAR(255) | | 科目
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjyjavawebdcjcxxt -- ---------------------------- 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_xuesheng`; CREATE TABLE `t_xuesheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '学生id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`banji` VARCHAR(255) DEFAULT NULL COMMENT '班级',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='学生'; -- ---------------------------- DROP TABLE IF EXISTS `t_chengji`; CREATE TABLE `t_chengji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '成绩id',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '学生',`xueshengid` INT(11) DEFAULT NULL COMMENT '学生id',`chengji` VARCHAR(255) DEFAULT NULL COMMENT '成绩',`kemu` VARCHAR(255) DEFAULT NULL COMMENT '科目',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='成绩';
添加成绩模块:
从页面中通过post方法,将成绩信息传入到后台服务器中,在tianjiachengjiact
中接收,字段包括学生,学生id,成绩,科目使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加成绩成功,并保存到request中具体代码如下:
通过chengjidao的insert方法将页面传输的成绩添加到数据库中 chengjidao.insert(chengji);
将添加成绩成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加成绩成功");
返回成绩管理界面
return "forward:/tianjiachengji.action";
查询成绩模块:
在后台chengjiguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成成绩查询操作。具体代码如下:
生成成绩样例类,通过example定义查询条件 ChengjiExample example = new ChengjiExample();
通过chengjidao的selectByExample方法查询出所有的成绩信息 List chengjiall = chengjidao.selectByExample(example);
将成绩信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("chengjiall", chengjiall);
返回成绩管理界面
return "forward:/chengjiguanli.action";
修改成绩模块:
在页面完成成绩的修改信息填写后,将该部分数据传入xiugaichengji.action地址,并通过post进行提交。提交后在chengjiController中通过xiugaichengji进行接收,将所有字段封装为一个成绩实体。并将该实体传入chengjidao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过成绩id更新其余成绩的字段,该部分字段包括学生,学生id,成绩,科目,该部分核心代码如下所示:
通过chengjidao的修改方法根据id修改对应的成绩 chengjidao.updateByPrimaryKeySelective(chengji);
将修改成绩成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改成绩信息成功");
返回成绩管理界面
return "forward:/chengjiguanli.action";
删除成绩模块:
删除成绩功能的实现方式为,通过点击删除成绩按钮,向服务器发起get请求。请求中包含成绩的id信息,在chengjiController中使用int接受该id,并将该id传入chengjidao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应成绩。最后将删除成绩成功的信息返回页面,该部分核心代码如下:
通过chengjidao的删除方法根据id删除对应的成绩 chengjidao.deleteByPrimaryKey(id);
将删除成绩成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除成绩成功");
返回成绩管理界面
return "forward:/chengjiguanli.action";