刚学完javaweb,做个项目练手与巩固所学的知识,同时分享自己写的这个教务管理系统,同样也是为自己记下笔记。
为以后复习有帮助。
该系统没有用到框架的知识,一共花了7天写出来。所以非常适合javaweb初学者
教务管理系统javaweb项目
运行环境:window系统,Apache Tomcat v7.0.84、JDK1.8
开发环境:J2EE eclipse、navicat for mysql运用的技术:MVC设计模式、DAO模式、Servlet、JSP、Filter、EL表达式、jstl、MySQL数据库
项目代码的下载:
点击打开链接下载源码
下载回来后首先看文件夹下的README.txt文件
一、需求分析:
教务管理系统首先需要完成登录的基本功能,主要分为四部分:学生、教师、教务员、管理员。
学生用户可以查看自己的学籍信息,并可以修改自己的一些信息(比如联系电话、家庭地址);查看自己的成绩,不同学期的成绩查询;查看自己的课表和考试安排;以及选课。
教师用户可以查看自己的个人信息并能修改自己的一些信息(比如联系电话、家庭地址),录入成绩和修改成绩。
教务员可以查看全部成绩和条件(学院、专业、学号)查询成绩,以及查看成绩统计分析情况(总分、平均分、绩点等等),查看学生选课报名的情况(报名名单),考级成绩,以及学籍管理(修改学生的学籍信息)
管理员是进行用户管理(增删改查),系统维护
二、设计思想
先把整个系统的架构搭好,然后再一个一个地往系统里添加功能
首先写好登录的功能,根据用户的身份不同登录到不同的页面,也就是学生、教师、教务员页面、管理员页面。
然后就可以分开完成各个用户的自己的各种功能。
以下是系统主要结构:
1.登录(全部已实现)
(1)验证码
(2)找回密码
(3)修改密码
(4)注销
2.学生用户(全部已实现)
(1)选课报名
-选修报名
-考级报名
(2)业务办理
-缓考申请
-免修申请
(3)信息查询
-学籍信息
-课表查询
-成绩查询
-考试安排
3.教师用户
(1)信息查询
-个人信息(已实现)
-班级信息(待实现)
-课程信息(待实现)
(2)成绩管理
-录入成绩(待实现)
-修改成绩(待实现)
4.教务员用户(全部已实现)
(1)学籍管理
(2)考级管理
-考级报名学生
-考级学生成绩
(3)教务管理
-成绩管理
-选修报名学生
(4)个人事务
-个人信息
5.管理员用户
(1)用户管理(已实现)
(2)系统维护(待实现)
为使用户体验比较好,每个页面都添加返回上一步的链接。
三、设计步骤
整个设计步骤比较多,太啰嗦了。总的来说,先完成登录的功能,然后完成四种用户的主页面,最后再一个一个完成每个用户的功能。
四、完成成果截图:
1.登录页面:
2.找回密码:
3.学生用户的主页面:
4.教务员用户:
5.教师用户:
五、遇到的问题以及解决方法
1.问题:账号过期,需要返回登录页面,重新登录
解决方法:为每种用户设一个过滤器Filter,访问该用户下的所有页面都需要经过这个过滤器。这个过滤器的功能就是检验session中属性user是否还在,若存在,则放行,若不存在,返回登录页面,并携带信息告知用户:账号已过期,请重新登录。
2.问题:生成验证码的代码
解决方法:查找之前学习中遇到生成验证码的java代码。
3.问题:查询时需要用到下拉列表。如:教务员查询成绩时,需要通过条件查询学生成绩,条件有学院、专业、班级、学号与姓名。而学院、专业与班级需要就可以用到下拉列表。当然,也可以用输入文本框text。但是为了追求更完美,使用下拉列表是最好的。
解决方法:由于没有正式学过html,所以查看W3school.chm参考文档,文档有所有的html标签的参考知识。
六、可优化的地方
1.管理员的功能太少,可以继续添加其他功能,目前想不到。
2.可继续添加新功能,比如教务员的排课管理、缓考免修申请处理等等,学生用户的班级课表查询、休退学申请等等
3.数据库中各表的信息联系很少,可以优化数据库中的数据管理,分组查询等。
4.考级显示那里,目前实现可以显示四六级成绩,可优化根据不同的考试显示不同的成绩表格,比如计算机等级水平考试。
5.教务员用户的成绩管理,查询成绩,还可优化添加导出成绩文件到本地电脑的功能。
七、优点
最大的优点就是这个系统框架已经构好,现在可以不断往其中完善和添加新的功能应用。
八、缺点:
显示使用jsp,没有用CSS,页面比较简陋。
学习完前端后,继续对该系统完善
分享给java初学者参考学习。
也欢迎各路大神指导和建议。谢谢!