JSP基于WEB的网上选排课系统,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON、PHP、C#、安卓等多项技术。

今天将为大家分析一个网上选排课系统(高校排课系统要求十分严格的可靠性和合理性。课表安排是保证高校顺利进行教学活动,按要求培 养合格人才的重要保证。课程表是一个院校日常教学工作的“指挥表”,是具体实施教学计划的重要组成部分,是教学管理的关键环节。如何科学合理地编排课程表 是每个学校教学管理的一项重要工作。因而开发一套符合实际需求的高校排课系统是非常必要的。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。网上选排课系统为一个 后台项目。

为了完成该系统,我们首先需要对该系统进行需求分析。一个网上选排课系统应包含用户角色有管理员、老师、学生。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

为了完成系统的功能需要为老师设置课程表,记录课程信息。在课程表中定义了两者的关联关系,其中课程的任课老师与老师的mingzi字段对应、课程的任课老师id与老师的id字段对应

。为了完成系统的功能需要为课程、学生设置选课记录表,记录选课记录信息。在选课记录表中定义了两者的关联关系,其中选课记录的课程与课程的mingcheng字段对应、选课记录的课程id与课程的id字段对应、选课记录的学生与学生的mingzi字段对应、选课记录的学生id与学生的id字段对应

总结得出该系统所有数据为:管理员(admin)、老师(laoshi)、学生(xuesheng)、课程(kecheng)、选课记录(xuankejilu)

管理员表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 管理员id

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

老师表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 老师id

mingzi | VARCHAR(255) |  | 名字

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

学生表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 学生id

mingzi | VARCHAR(255) |  | 名字

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

课程表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 课程id

mingcheng | VARCHAR(255) |  | 名称

shangkeshijian | VARCHAR(255) |  | 上课时间

renkelaoshi | VARCHAR(255) |  | 任课老师

renkelaoshiid | VARCHAR(255) |  | 任课老师id

shifoukexuan | VARCHAR(255) |  | 是否可选

kexuanrenshu | VARCHAR(255) |  | 可选人数

yixuanrenshu | VARCHAR(255) |  | 已选人数

选课记录表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 选课记录id

kecheng | VARCHAR(255) |  | 课程

kechengid | VARCHAR(255) |  | 课程id

xuesheng | VARCHAR(255) |  | 学生

xueshengid | VARCHAR(255) |  | 学生id

xuankeshijian | VARCHAR(255) |  | 选课时间

sql建表语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggxuanpaike

-- ----------------------------

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_laoshi`;

CREATE TABLE `t_laoshi` (`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 '密码',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 '密码',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',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`shangkeshijian` VARCHAR(255) DEFAULT NULL COMMENT '上课时间',`renkelaoshi` VARCHAR(255) DEFAULT NULL COMMENT '任课老师',`renkelaoshiid` INT(11) DEFAULT NULL COMMENT '任课老师id',`shifoukexuan` VARCHAR(255) DEFAULT NULL COMMENT '是否可选',`kexuanrenshu` VARCHAR(255) DEFAULT NULL COMMENT '可选人数',`yixuanrenshu` VARCHAR(255) DEFAULT NULL COMMENT '已选人数',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='课程';

-- ----------------------------

DROP TABLE IF EXISTS `t_xuankejilu`;

CREATE TABLE `t_xuankejilu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '选课记录id',`kecheng` VARCHAR(255) DEFAULT NULL COMMENT '课程',`kechengid` INT(11) DEFAULT NULL COMMENT '课程id',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '学生',`xueshengid` INT(11) DEFAULT NULL COMMENT '学生id',`xuankeshijian` VARCHAR(255) DEFAULT NULL COMMENT '选课时间',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='选课记录';

添加课程模块:

在kechengController中定义tianjiakechengact接收页面传入的课程参数,定义为kecheng。其中kecheng包含字段:名称,上课时间,任课老师,任课老师id,是否可选,可选人数,已选人数,使用tianjiakechengact将该课程对象存入数据库中,在kechengMapper中定义了insert方法,匹配数据库中的insert into kecheng语句实现将课程数据存入数据库的操作。该部分核心代码如下:

通过kechengdao的insert方法将页面传输的课程添加到数据库中 kechengdao.insert(kecheng);

将添加课程成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加课程成功");

返回课程管理界面

return "forward:/tianjiakecheng.action";

查询课程模块:

在后台中定义课程查询模块,在侧边栏中点击课程管理,可以跳转到课程管理界面。在该页面中通过kechengController中定义kechengguanli响应课程查询模块。在kechengguanli中查询出所有信息,返回页面进行循环展示。查询方法为kechengdao中的selectByexample方法。该部分核心代码如下:

生成课程样例类,通过example定义查询条件 KechengExample example = new KechengExample();

通过kechengdao的selectByExample方法查询出所有的课程信息 List kechengall = kechengdao.selectByExample(example);

将课程信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("kechengall", kechengall);

返回课程管理界面

return "forward:/kechengguanli.action";

源码下载地址

猜你喜欢

转载自www.cnblogs.com/qwcx/p/11520836.html
今日推荐