这学期的期末项目将使用本学期所学技术,即使用 Spring + SpringMVC + MyBatis 的在线考试系统。
所需技术
本次期末项目采用以下技术,其中又分为前端部分和后端部分
后端部分
- Spring + SpringMVC + MyBatis
- Apache POI(处理word,excel)
- pageHelper(处理分页)
- JUnit(用于单元测试)
前端部分
- MiniLayUI
- JQuery
项目协作
项目协作的部分使用 git,使用 gitee 作为代码仓库。在使用 git 作为多人协作会可能出现以下的问题,一个是不会用,另一个是会用之后,不知该如何去合并。
还有一些合作上的问题,等等各种疑难杂项。
如何操作
在此之前,需要注册一个 gitee 的账号,后续的代码协作才能继续操作。
gitee 账号创建完成之后,需要配置 SSH,SSH 的配置可以参考下面的链接。
如果你是新加入的组员
1、首先获取项目:
git clone https://gitee.com/bestguo2020/ssm_online_exam.git
2、获取项目完成切换到 dev01 分支进行操作了
分支的可以理解成工作区,但是专业的叫法还是叫“分支”
git checkout dev01
接下来就是配置开发者的邮箱和用户名,配置用户名和邮箱可以参考以下链接
以下配置完成之后就可以继续愉快的写代码了。
3、假如你某项功能完成之后,需要添加你要提交的代码(“.” 代表全部的代码)
git add .
4、在提交代码时需要交代清楚你需要做了哪些工作,也就是 xxxxx 里的内容需要填写的部分。
git commit -m "xxxxxx"
5、推送到远程仓库之前,将 gitee 上的远程代码拉取下来
git pull origin dev01
6、开始推送,同时也需要将你的工作区推到 gitee
git push origin dev01
如果你是已经加入的组员
1、首先获取最新的项目:
git pull origin dev01
拉取完成之后就可以继续愉快的写代码了。
2、假如你某项功能完成之后,需要添加你要提交的代码(“.” 代表全部的代码)
git add .
3、在提交代码时需要交代清楚你需要做了哪些工作,也就是 xxxxx 里的内容需要填写的部分。
git commit -m "xxxxxx"
4、推送到远程仓库之前,将 gitee 上的远程代码拉取下来
git pull origin dev01
5、开始推送,同时也需要将你的工作区推到 gitee
git push origin dev01
可能出现的问题
在进行协作的时候,可能会出现代码冲突等等问题,后续出现了问题在新创建的日志中记录
2021-04-29
提交项目时出现权限不够的问题,其实就是没将成员添加进来。参考链接
2021-05-09
模拟提交代码的时候由于修改同一个位置导致的代码冲突,这种冲突没办法只好通过协商的方式解决。
拉取代码时出现代码冲突信息
$ git pull origin dev01
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.
From gitee.com:bestguo2020/ssm_online_exam
* branch dev01 -> FETCH_HEAD
271754d..e441092 dev01 -> origin/dev01
Auto-merging asd.txt
CONFLICT (content): Merge conflict in asd.txt
Automatic merge failed; fix conflicts and then commit the result.
发生冲突之后,asd.txt 中的文件内容如下
解决的办法有三种,一种是保留上面的,另一种时保留下面的,最后一种是两者都保留。
通过协商完成之后,重新执行如下命令
git add .
git commit -m "xxxxxx"
(xxxxx 里的内容需要填写的部分)
2021-05-13
问题 1
学生端登录之后跳出页面已过期的问题,其主要原因:学生端系统中右侧的 iframe 嵌入的页面是教师端。导致教师端的 session 为空。从而重定向到登录界面。
解决办法:新建一个学生端的左侧导航菜单的配置文件,重新配置该菜单即可。
呃(⊙o⊙)……
后面实在是没空记录了😂😂😂
分析
系统描述
在线考试系统中,学生和教师需要进行登录方可进入考试系统。教师可以将自己的题目上传到系统,形成自己的题库,可以发布考题进行线上考核,同时也可以生成试卷进行线下考核,但是线下考核的分数需要人工来进行判定。考试结束之后,系统会自动计算每个学生的考试成绩,成绩计算完成之后,教师可以查询学生的考试情况,也可以将线上考试成绩进行导出。
学生在登录进入考试系统参加考试,在参加考试之前需要加入班级并选择一个班级,并且可以查看,待老师发布考题,在规定的时间开始才能开始考试,考试结束之后,学生可以查看考试成绩,也可以不看,等老师将成绩公布出来也行。如果学生加错了班级或者想退出班级,可以直接退出该班级。
管理员除了拥有教师的全部功能,还可以管理教师信息、学生信息和班级信息。
表设计
该系统中的数据库表和表之间的关系,以及单个表中的字段和属性
后续就是和未来的组员沟通交流的时刻了。
心得
2021-06-08
这是我第一次和舍友进行多人项目合作,毕竟作为一个难度系数为 1.0 的考试系统,在加上时间才只有短短的一个月的时间,一个人硬刚肯定是受不了的。这也是我体会到多人协作的好处(前提是没有啥都不做的,不过我们还好,至少每个人都有去做的)。
其实遇到可以一起做项目的同学挺不容易的,而且还要和组员进行一个沟通。还要教舍友如何简简单单的使用 git ,用来方便的将我们写的代码进行一个合并。他们都能够较好的去使用,这个项目我觉得帮了大忙的还是 git ,它可以告诉我们在项目协作的时候,有提示冲突的地方,这种也是很好去解决的。还有代码的合并不需要我们人工来合并,这样也不会非常浪费在合并代码上了。
第一次和舍友进行协作,我觉得还是很成功的。
这周五就要开始项目答辩啦,祝我好运吧。今天还有一个安卓的期末项目答辩,加油加油!
———————–✂—————————
安卓期末答辩终于结束了,稳的一匹 💁👌🎍,就差周五的 J2EE 的项目答辩了,可以的。
突然想起这周还有英语四级。哈哈哈哈哈哈哈哈,完了,啥也没什么准备呀😂😂😂,直接裸考,英语四级又很差。英语四级就随缘吧 😅。这是我第一次考,也是我最后一次考。
2021-06-11
今天的 j2ee 答辩有点小紧张,还以为要从头到尾把所有的功能全部展示一遍。不过老师是按照功能点来进行演示的,这让我顿时不那么慌了,加上老师在旁边提醒着我别紧张,总得来说还是挺好的。还是挺感谢的,对这个项目指出了一些不足之处以及一些需要改进的地方这样子,后期也会抽空来对该项目进行一些改进的😊😊。
最终的项目整体成绩还是令人满意的。也非常感谢老师的指导。
上个月确实挺辛苦的,一直都在集中火力干 Java。
不过……
明天的英语四级肯定过不了,只能等死啦 😂😂
———————–✂—————————
快快点这里 👉 点我点我,欢迎来玩耍呀
其实就是我的期末项目哒~
请勿发布违反中国大陆地区法律的言论,请勿人身攻击、谩骂、侮辱和煽动式的语言。