今天和一个朋友共同完成了一个学生在线选课系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目。这个系统的介绍是这样的:学生在线选课系统对于学校的决策者和管理者来说是至关重要的.针对选课系统的特点及其应用需求,采用基于JAVA的集成开发环境,开发出一套集数据查询、数据交换和数据维护等功能的网上模拟选课系统.设计了一种基于Web的学生选课系统,该系统采用java的架构开发而成,通过学生在线的浏览器操作,使得选课管理工作变得规范化、系统化,提高了信息处理的有效性和准确性,同时大大提高了在学校日常工作中学生的参与性。,一个学生在线选课系统应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、课程(kecheng)、公告栏(gonggaolan)
管理员表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
quanxian | VARCHAR(255) | | 权限
用户表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
nianji | VARCHAR(255) | | 年级
xingbie | VARCHAR(255) | | 性别
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
课程表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 课程id
shangkeshijian | VARCHAR(255) | | 上课时间
xiakeshijian | VARCHAR(255) | | 下课时间
laoshixingming | VARCHAR(255) | | 老师姓名
mingzi | VARCHAR(255) | | 名字
zhiwu | VARCHAR(255) | | 职务
zhonglei | VARCHAR(255) | | 种类
公告栏表
字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 公告栏id
shijian | VARCHAR(255) | | 时间
neirong | VARCHAR(255) | | 内容
zhuyishixiang | VARCHAR(255) | | 注意事项
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- ----------------------------
-- Table structure for ggxszaixianxuankext
-- ----------------------------
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_yonghu`;
CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`nianji` VARCHAR(255) DEFAULT NULL COMMENT '年级',`xingbie` 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',`shangkeshijian` VARCHAR(255) DEFAULT NULL COMMENT '上课时间',`xiakeshijian` VARCHAR(255) DEFAULT NULL COMMENT '下课时间',`laoshixingming` VARCHAR(255) DEFAULT NULL COMMENT '老师姓名',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='课程';
-- ----------------------------
DROP TABLE IF EXISTS `t_gonggaolan`;
CREATE TABLE `t_gonggaolan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '公告栏id',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`zhuyishixiang` VARCHAR(255) DEFAULT NULL COMMENT '注意事项',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='公告栏';
添加课程模块:
从页面中通过post方法,将课程信息传入到后台服务器中,在tianjiakechengact
中接收,字段包括上课时间,下课时间,老师姓名,名字,职务,种类使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加课程成功,并保存到request中具体代码如下:
通过kechengdao的insert方法将页面传输的课程添加到数据库中 kechengdao.insert(kecheng);
将添加课程成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加课程成功");
返回课程管理界面
return "forward:/tianjiakecheng.action";
删除课程模块:
删除课程功能实现在kechengController中,实现方法为shanchukecheng。在页面中通过get方法shanchukecheng.action?Id的形式将需要删除的课程id上传到服务器中,响应对应的方法,调用kechengdao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过kechengdao的删除方法根据id删除对应的课程 kechengdao.deleteByPrimaryKey(id);
将删除课程成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除课程成功");
返回课程管理界面
return "forward:/kechengguanli.action";