【Java Web】学生签到作业管理系统

(2019-2020学年第二学期「Java Web程序设计」课程设计)

gayhub:https://github.com/StargazerSylpha/wjc

一、简介

「学生签到作业管理系统(Project WJC)」是我这个学期「Java Web程序设计」科目的大作业。该项目的原始创意来自于HDU的大佬,B站UP主「接纳很秀鸭」的JSP大作业「学生成绩管理系统[1]」,我简单看了一下,稍微有些简陋,便凭着我自己的理解稍微优化拓展了一下,另做了一个出来(后来发现稍微有些困难,超出了我的精力…)


二、主要功能

该系统实现了用户的登录与登出(重点);通知功能(重点);教师对于学生信息列表的查看;课程信息的列表与详情查看;个人信息的查看;以及作业功能(重点)。(签到功能由于时间原因以及与作业功能较为相似而被砍掉了)

①用户的登录与登出:比较耗费时间与精力的点之一,重点是密码和cookie凭证的加密、cookie与session的操作等;也因为是整个系统第一个实现的功能,对于其他部分的摸索与尝试也是耗费精力的原因之一。


登录界面(很眼熟对不对?偷懒用的3年前的设计改的,简化的效果意外的还不错)

②通知功能:通知模块能算是功能模块里实现的比较完整的部分之一,实现了教师对通知的添加与删除的权限控制,以及学生对通知的查看。
③作业功能:作业模块的完整程度仅次于通知模块,但复杂度要更上一层。实现了教师查看学生提交的作业,并进行打分评价;学生提交作业,并查看教师评价等功能。


教师查看学生提交的作业列表


学生查看教师评语

其他的部分因为并不属于重点,仅随便写了个展示的页面,并没有深入开发。但设计时逻辑都预留好了,开发时也不至于太麻烦。


三、技术栈

本系统虽然为小组作业(6人一组),但由于某些众所周知的原因,实际仅有我一人开发。从前端界面设计、功能设计、数据库设计,到开发、测试,甚至验收时的演讲,以及实验报告的大部分绘图和撰写,均由我一人包办(怨念极深)。整个系统开发时基本上遵循了MVC架构(大概)。

前端部分:主要使用了bootstrap3的栅格系统以及组件风格(按钮、输入框等),其他为自行设计,简单实现了页面的宽度自适应(大嘘)。通过使用ajax和jQuery来完成数据的获取和对页面的填充。以及,本来以为jsp过于古老,没打算使用「.jsp」文件,但最后还是用了它来实现头部和页脚代码的拼接,减少复制和粘贴,增强前端代码的复用(以免修改导航文字时累死我,但即使这样还是累了个半死…),以及解决一些棘手的小问题(比如偷懒用这个解决js获取浏览器querystring麻烦的问题,读代码应该能发现…)

后端部分采用Java Servlet,这个倒没什么可说的。采用的外部jar包有:commons-codec(用来实现sha1加密)、mysql-connector-java(用来与数据库连接),以及阿里巴巴的fastjson(用来在servlet中将数据封装成json方便传输)。

开发环境:
MacBook Pro 15 2018,16GB内存,macOS 10.15.6
Intellij IDEA Ultimate 2020.1.2
MySQL 5.7.17
Tomcat 9.0.35
Java 12.0.1


四、评价

教师评价:功能实现不全,界面过于简陋,用户体验不好,部分逻辑有问题。(按照原意的话是那种能上线运行赚钱的程度,我一个人就算开发两个月也做不到啊…)

个人评价:这个系统最终体量还是有些大了,稍微超出了我个人的能力。原本按照预想是一个功能相对完备,针对人数少的课堂能上线运营的程度。但由于时间关系以及摸鱼,最终还是没有完成所有部分,但应付答辩是够用了。比较遗憾的就是除了「通知的添加」外没有实现其他模块的「添加」功能,以及所有模块的编辑功能都没有实现。


五、感言

这个系统从6月初开始开发,中间断断续续开发了将近一个月(因为我懒),到7月10号才结束开发进行验收。刚开始的时候因为我之前没有接触过Java,所以一边在「慕课网」上找教程学习,一边进行的开发,耗费了很大精力,但是成品的效果还是比较满意的。当初自愿揽下所有活的时候,就是希望借此机会接触下Java,做出点作品,别以后面试连个作品和开发经历都没有。最终也是锻炼了我工程化开发的能力,第一次独立完成了一个项目。完事后的这个暑假就要开始准备复习考研了,0基础从八月份开始,也不知道考不考的上,为此还入了个iPad Pro实现无纸化学习。尽自己最大的努力吧。

碎碎念:说是自愿揽下,但其实也没有别的办法,为了绩点和成绩不干也得硬着头皮上。组员什么都不会,几乎和大部分普通人一样0基础。最绝的是:出了成绩,我是组里分数最低的,比什么都不会的组员还要低10分。绝了.jpg

参考资料:
[1].大一下jsp&jquery大作业(实时更新中),接纳很秀鸭@bilibili,https://www.bilibili.com/video/BV1qv411z7NC

Copyright © 2020 Project WJC / Team 220N / Sylpha Project Co., Ltd. All Rights Reserved. Developed by Sylpha Project Co., Ltd.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Copyright © 2012-2024 Sylpha Project Co., Ltd. All Rights Reserved.
鲁ICP备2022002009号-1