写在最开始:此课程设计是我2021年暑假自己一行一行代码写出来的,现在免费分享给大家,如果有帮到你的话希望可以给我点个赞哦,谢谢。
如果有什么问题可以留下评论,我看到的话会回你的,但是我只能回答我的代码相关的问题,其他配置问题啥的建议多去搜索一下。
资源链接(自行选择,皆为免费):
下面我针对代码进行一些讲解:
1、本课程设计没有特别高大上,人机交互界面使用的Java swing的各种组件,后端就是Java和SQL server,压缩包里面我给出了SQL文件,大家下载后在SQL server直接运行就可以了,但是我不知道MySQL或者Navicat是否能够运行,建议大家搜一下,我觉得应该挺好解决的,如果想用MySQL的话。
2、下载压缩包、打开压缩包,里面会有三样东西。
这三样东西分别是:
Eclipse的Project文件;
创建数据库的SQL代码;
课程设计报告。
注意:课程设计报告里面的内容可能和实际的代码不一致,因为我在后期的时候完善了一些功能,这个具体需要大家自己去看了,我只记得一些:
报告里只能选课,但是代码实现了退课;
查看课表的功能以前是直接弹出一张课表照片,现在是在页面上打印出课表。
我只记得这些了。
3、打开Project
以下只介绍正常步骤,默认不会出错,操作过程中遇到的问题建议去网上搜索解决方法。
File——Open Projects from File System
点击Directory选择Project文件lin
打开后是这个样子:
我只有一个包zzdx,里面就包含了项目的所有代码,其实这种代码编写习惯是很不好的,全部代码都在一个包里会很繁琐,也很不专业,而我大二的时候其实也不懂什么MVC框架之类的,所以就都写在了一个包里。
注意:只有lf.java才能运行,其他的都是调用的。
原谅我取的名字有点奇怪,大部分都是中文首字母,比如:第二个ckcj.java,这个文件就是查看成绩的界面。
右键lf.java——Run As——Java Application
运行界面就出来了。如下:我的界面都比较朴素,大家如果有时间的话,可以去搜一下怎么把界面变得更美观。
哦对了,所有图片文件都在包里,大家要更换的话可以在包里直接换就行。
还有就是文字需要修改的可能需要在对应界面的代码里去找,比如第一个界面里的郑州大学教务系统啥的,需要在lf.java里修改。
这种汉字在代码里还是挺显眼的,所以应该好改吧,对大家来说可能难的地方是需要找到对应界面对应的Java文件。
下面干脆我来解释一下各个代码表示的页面或者功能吧:(不是按照Eclipse里排列的顺序来的)
主任就相当于管理员
身份 | 代码名 | 含义 |
---|---|---|
ALL | lf.java | 欢迎页 |
ALL | welcome.java | 选择身份 |
ALL | dl.java、test.java | 输入账号密码登录,test.java用于生成验证码 |
ALL | zzdx.java、zzdx1.java、zzdx2.java | 账号密码验证(学生、老师、主任) |
ALL | success.java、success1.java、success2.java、qq.java | 登陆成功后的首页(学生、老师、主任),qq.java用于生成首页的核心部分——功能选择框 |
ALL | error.java | 账号密码有误 |
学生 | ckkb.java | 查看课表 |
学生 | ckcj.java | 查看成绩 |
学生 | cktz.java | 查看通知 |
学生 | jsdh.java、more.java | 查询老师的电话,jsdh.java是查看任课老师的电话,如果想要其他老师的电话可以在more.java里面查询 |
学生 | xk.java | 选课 |
学生 | tuike.java | 退课 |
学生 | xgmm.java | 修改密码 |
老师 | ckkc.java | 查看任课课程 |
老师 | fbtz.java | 发布通知 |
老师 | sccj.java | 上传学生成绩 |
主任 | ckjl.java | 查看老师上传成绩的记录 |
主任 | gznx.java | 更新老师工作年限(这个功能没什么用,建议删除) |
主任 | kskc.java | 开设课程 |
主任 | zhgl.java、xs.java、js.java、sc.java、cj.java | 账户管理(增删师生账号) |
4、运行SQL文件
在SQL server中
文件——打开——文件
也可以在MySQL或者Navicat中试试
找到zzdx.sql,打开
点击执行即可创建数据库
代码中所有这样的代码都需要换成你们自己的用户名和密码,如果你们把zzdx.sql换成其他名了,那么zzdx也要换成你们改的名字,这样才能成功连接数据库。
这个可能会花一点时间
首先用鼠标选中Class.forName
点击:Search——Text——Project
这样Eclipse就可以帮你找到在lin Project中所有出现Class.forName的地方,然后一一修改即可,只要改好一个,后面的直接复制粘贴即可。建议先试一下能不能成功连接数据库再全部进行修改。
5、课程设计报告
我再强调一下,报告里的内容和代码实现功能有出入,但是也没有差多少,大家可以参考参考。
6、大致的界面
页面描述 | 图片 |
---|---|
欢迎页 | |
身份选择 | |
输入账号密码 | |
登陆失败 | |
学生首页 | |
查看课程(名字改为查看课程是因为我觉得把学生的课排成课表的样子很麻烦,所以这里只是简单地列了出来,以前的名字是查看课表是因为功能实现为弹出一张课表照片,不需要我人为编辑,所以大家可以把Project中的课表图片删了,因为没什么用,还有就是大家可以看到课程名字太长的话是无法全部显示的,我用的JLabel组件,大家有时间可以换成JTextField组件,可以显示全部名称) | |
查看成绩(null表示老师还没有上传成绩,此时默认显示通过考试) | |
查看通知(每个通知都会带上老师的姓名,只有课任老师发的通知,学生才会收到,好像是这样,我有点忘了) | |
查询电话(首先会打印出课任老师的电话,如果需要其他老师的,可以点击更多) | |
更多(输入名字即可查询,有这个老师就打印出来,没有就给出提示) | |
选课(可以进行模糊搜索,点击课程名就可以选课了,系统会自动对比该课程与已有课程是否存在冲突,选课或者退课都不能马上把课程移出当前列表,需要退出重进才能看见已选课程不在列表中了,但是多点几次是不会出错的,这个可以放心) | |
退课(点击课程编号即可退课) | |
修改密码 | |
老师首页 | |
查看教授的课程(和学生一样只是单纯列出来) | |
发布通知(只有自己的学生才会收到这份通知) | |
上传成绩(输入成绩然后点提交键,和选课一样,不能提交了某个学生的成绩该学生就从列表里移出,所以可以多次上传成绩,最后一次即为最终分数,但是上传记录都会被详细记载,主任可以查询,我们这里给庄周同学上传88分,等会看看主任能不能查看修改记录) | |
主任首页 | |
查看记录(看看有没有我们给庄周同学88分的记录,其实还是有一个问题我说一下,这里如果修改记录太多是无法全部显示的,需要定期清理record.txt文件,还有选课也是,如果可供选择的课太多也是无法全部显示的,大家有时间可以搜索一下换成什么组件可以实现下拉条,然后把这些记录信息或者课程信息放入下拉条组件里,这样就可以装下所有的内容了) | |
开设课程 | |
账户管理(包括对老师学生账号的创建和删除,我懒得截图了) |
7、好了,就这样吧,如果对你有所帮助希望可以给我点个赞