基于SSM框架的JSP网上作业提交系统

每天记录学习,每天会有好心情。*^_^*

最近了解了网上作业提交系统项目,在这个平台记录一下这个网上作业提交系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,网上作业提交系统为一个 后台项目。这个项目的描述是这样的:网络作业提交系统实现了管理员发布管理公告、教师管理、学生管理;老师在线发布作业、批改作业、网络答疑;学生做作业、查看作业信息、提出疑问的功能。网络作业提交系统中按照以学习者为中心的远程学习理论,融入学生对网络作业的反馈、老师对学生作业的个别评析,更好调动学生学习的主动性和积极性。
在对网上作业提交系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、学生、老师。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。

总结得出该系统所有数据为:管理员(admin)、学生(xuesheng)、老师(laoshi)、作业(zuoye)

管理员表

字段名 | 类型 | 属性 | 描述
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) | | 密码
xingbie | VARCHAR(255) | | 性别
nianling | VARCHAR(255) | | 年龄
banji | VARCHAR(255) | | 班级

老师表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 老师id
mingzi | VARCHAR(255) | | 名字
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
kemu | VARCHAR(255) | | 科目

作业表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 作业id
timu | VARCHAR(255) | | 题目
neirong | VARCHAR(255) | | 内容
cankaodaan | VARCHAR(255) | | 参考答案
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggwszuoye

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

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 '密码',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`nianling` 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_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 '密码',`kemu` VARCHAR(255) DEFAULT NULL COMMENT '科目',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='老师';

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

DROP TABLE IF EXISTS `t_zuoye`;

CREATE TABLE `t_zuoye` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '作业id',`timu` VARCHAR(255) DEFAULT NULL COMMENT '题目',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`cankaodaan` VARCHAR(255) DEFAULT NULL COMMENT '参考答案',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='作业';

添加作业模块:

系统中存在添加作业功能,通过点击添加作业可以跳转到该功能模块,在该功能模块中,填写对应的作业信息。作业包含信息题目,内容,参考答案,填写完所有信息后,通过post方法将数据提交到tianjiazuoye.action中,该地址将在服务器中zuoyeController类中的tianjiazuoyeact方法中进行响应。响应结果为,获取所有的作业信息,封装一个zuoye类,使用zuoyeController类中定义的zuoyedao的insert方法,将作业数据插入到数据库的zuoye表中。并给出用户提示信息,添加作业成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过zuoyedao的insert方法将页面传输的作业添加到数据库中 zuoyedao.insert(zuoye);

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

返回作业管理界面

return "forward:/tianjiazuoye.action";

查询作业模块:

作业的查询模块实现方式为,在页面中发起zuoyeguanli.action请求。通过该请求,响应服务器zuoyeController类中的zuoyeguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的作业信息查询后,保存到request中的zuoyeall中,在页面中进行展示,返回zuoyeguanli.jsp,该部分核心代码如下所示:

生成作业样例类,通过example定义查询条件 ZuoyeExample example = new ZuoyeExample();

通过zuoyedao的selectByExample方法查询出所有的作业信息 List zuoyeall = zuoyedao.selectByExample(example);

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

返回作业管理界面

return "forward:/zuoyeguanli.action";

修改作业模块:

在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaizuoye中,封装为一个作业

,使用update方法修改该作业信息,将数据同步到数据库,完成修改操作。

定义修改成功提示信息,修改作业成功,并保存到request中具体代码如下:

通过zuoyedao的修改方法根据id修改对应的作业 zuoyedao.updateByPrimaryKeySelective(zuoye);

将修改作业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改作业信息成功");

返回作业管理界面

return "forward:/zuoyeguanli.action";

删除作业模块:

删除作业功能实现在zuoyeController中,实现方法为shanchuzuoye。在页面中通过get方法shanchuzuoye.action?Id的形式将需要删除的作业id上传到服务器中,响应对应的方法,调用zuoyedao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:

通过zuoyedao的删除方法根据id删除对应的作业 zuoyedao.deleteByPrimaryKey(id);

将删除作业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除作业成功");

返回作业管理界面

return "forward:/zuoyeguanli.action";

猜你喜欢

转载自www.cnblogs.com/xxsnn/p/11587479.html