最近了解了基于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";

源码下载

01-19 20:18