今天将为大家分析一个基于javaweb的教学进度信息管理系统。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。本文设计的高校教学管理系统能够完成教学计划制定,自动排课,课程管理,教学资源管理,学生管理等多方面的功能。
基于javaweb的教学进度信息管理系统项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。基于javaweb的教学进度信息管理系统为一个 后台项目。
为了完成基于javaweb的教学进度信息管理系统,我们首先需要对该系统进行需求分析。一个基于javaweb的教学进度信息管理系统应包含用户角色有管理员、学生。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
在系统中许多表之间是存在关联的,例如学生与考勤。在考勤表中关联了前者之间的关系,其关联关系为考勤的学生与学生的mingzi字段对应、考勤的学生id与学生的id字段对应
。
总结得出基于javaweb的教学进度信息管理系统项目所有数据为:管理员(admin)、考勤(kaoqing)、学生(xuesheng)、课程(kecheng)
基于javaweb的教学进度信息管理系统之管理员表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
基于javaweb的教学进度信息管理系统之考勤表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 考勤id
xuesheng | VARCHAR(255) | | 学生
xueshengid | VARCHAR(255) | | 学生id
kecheng | VARCHAR(255) | | 课程
shijian | VARCHAR(255) | | 时间
renkelaoshi | VARCHAR(255) | | 任课老师
基于javaweb的教学进度信息管理系统之学生表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 学生id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
xuehao | VARCHAR(255) | | 学号
mingzi | VARCHAR(255) | | 名字
banji | VARCHAR(255) | | 班级
基于javaweb的教学进度信息管理系统之课程表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 课程id
biaoti | VARCHAR(255) | | 标题
neirong | VARCHAR(255) | | 内容
renkelaoshi | VARCHAR(255) | | 任课老师
shangkeshijian | VARCHAR(255) | | 上课时间
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- ----------------------------
-- Table structure for ggjyjavawebdjxjdxxglxt
-- ----------------------------
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_kaoqing`;
CREATE TABLE `t_kaoqing` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '考勤id',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '学生',`xueshengid` INT(11) DEFAULT NULL COMMENT '学生id',`kecheng` VARCHAR(255) DEFAULT NULL COMMENT '课程',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`renkelaoshi` 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',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xuehao` VARCHAR(255) DEFAULT NULL COMMENT '学号',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`banji` VARCHAR(255) DEFAULT NULL COMMENT '班级',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='学生';
-- ----------------------------
DROP TABLE IF EXISTS `t_kecheng`;
CREATE TABLE `t_kecheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '课程id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`renkelaoshi` VARCHAR(255) DEFAULT NULL COMMENT '任课老师',`shangkeshijian` VARCHAR(255) DEFAULT NULL COMMENT '上课时间',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='课程';
添加考勤模块:
系统中存在添加考勤功能,通过点击添加考勤可以跳转到该功能模块,在该功能模块中,填写对应的考勤信息。考勤包含信息学生,学生id,课程,时间,任课老师,填写完所有信息后,通过post方法将数据提交到tianjiakaoqing.action中,该地址将在服务器中kaoqingController类中的tianjiakaoqingact方法中进行响应。响应结果为,获取所有的考勤信息,封装一个kaoqing类,使用kaoqingController类中定义的kaoqingdao的insert方法,将考勤数据插入到数据库的kaoqing表中。并给出用户提示信息,添加考勤成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过kaoqingdao的insert方法将页面传输的考勤添加到数据库中 kaoqingdao.insert(kaoqing);
将添加考勤成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加考勤成功");
返回考勤管理界面
return "forward:/tianjiakaoqing.action";
查询考勤模块:
在浏览器中进入考勤查询页面时,此时浏览器的地址栏为kaoqingguanli.action,该地址将响应kaoqingController类中的kaoqingguanli,在该方法中,通过selectByexample方法获取所有的考勤信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成考勤样例类,通过example定义查询条件 KaoqingExample example = new KaoqingExample();
通过kaoqingdao的selectByExample方法查询出所有的考勤信息 List kaoqingall = kaoqingdao.selectByExample(example);
将考勤信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("kaoqingall", kaoqingall);
返回考勤管理界面
return "forward:/kaoqingguanli.action";
修改考勤模块:
在页面完成考勤的修改信息填写后,将该部分数据传入xiugaikaoqing.action地址,并通过post进行提交。提交后在kaoqingController中通过xiugaikaoqing进行接收,将所有字段封装为一个考勤实体。并将该实体传入kaoqingdao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过考勤id更新其余考勤的字段,该部分字段包括学生,学生id,课程,时间,任课老师,该部分核心代码如下所示:
通过kaoqingdao的修改方法根据id修改对应的考勤 kaoqingdao.updateByPrimaryKeySelective(kaoqing);
将修改考勤成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改考勤信息成功");
返回考勤管理界面
return "forward:/kaoqingguanli.action";
删除考勤模块:
删除考勤功能实现在kaoqingController中,实现方法为shanchukaoqing。在页面中通过get方法shanchukaoqing.action?Id的形式将需要删除的考勤id上传到服务器中,响应对应的方法,调用kaoqingdao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过kaoqingdao的删除方法根据id删除对应的考勤 kaoqingdao.deleteByPrimaryKey(id);
将删除考勤成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除考勤成功");
返回考勤管理界面
return "forward:/kaoqingguanli.action";