- 1.57 MB
- 2022-05-17 13:33:03 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
盐城师范学院毕业设计毕业设计基于j2EE的教务考勤管理系统设计与实现学生姓名学院专业班级学号指导教师2016年5月16日
盐城师范学院毕业设计基于j2EE的教务考勤管理系统设计与实现摘要为了解决当前学校考勤中存在的任课教师考勤困难、班主任考勤统计繁琐、学生请假不方便等诸多问题,本设计开发了一个基于j2EE的教务考勤管理系统。该系统可以实现学生在线签到、在线请假,任课教师实时统计学生出勤情况,班主任教师统计学生出勤、在线批假情况,还可以实现学生、任课教师、班主任三类用户的在线注册等功能。系统总体采用J2EE技术实现,前台网站主要利用JSP语言实现,后台功能主要采用Servlet+Service技术实现,后台数据库采用SQLServer2008作为数据库管理系统。整个系统在MyEclipse10.0下集成开发,利用Tomcat6作为服务器的版本。系统经过班主任、任课教师和学生的综合测试,各角色对系统功能基本满意,能够达到原先设定的需求。【关键词】教务考勤;管理系统;JSP;Servlet+Service技术
盐城师范学院毕业设计ThedesignandimplementationofeducationalmanagementattendancemanagementsystembasedonJ2EEplatformAbstractInordertosolvethecurrentschoolattendanceinthepresenceofteacherattendancedifficult,classattendancestatistics,tedious,studentsleavenotconvenientandsoonmanyproblems,thisdesigndevelopedabasedonJ2EEacademicattendancemanagementsystem.Thesystemcanrealizethestudentonlinesign,onlineleave,teachersreal-timestatisticsstudentattendance,teachersstudentattendancestatistics,onlinetitled,canalsorealizestudents,teachers,teacherthreetypesofusersofonlineregistrationandotherfunctions.OverallsystemusingJ2EEtechnologytoimplement,theonstagewebsitemainlyusesJSPlanguageandbackofficefunctionsarerealizedbyServletandService,back-enddatabaseusingSQLServer2008asadatabasemanagementsystem.ThewholesysteminMyEclipse10.0integrateddevelopment,usingTomcat6asaversionoftheserver.Systemafterclasstutors,thecomprehensivetestofteachersandstudents,theroleandthefunctionofthesystembasicallysatisfied,canachievetheoriginalsetofneeds.[Keywords]academicattendancing,managements’system,JSP,ServletandServicetechnology
盐城师范学院毕业设计目录1绪论11.1课题背景11.2目的和意义12开发工具及使用技术22.1开发工具22.2JSP22.3JavaScript33需求分析33.1系统的功能分析33.1.1系统管理员33.1.2班主任教师53.1.3普通任课教师53.1.4学生群体63.2可行性分析74系统设计84.1系统总体设计84.2系统模块详细设计84.2.1系统管理员子系统104.2.2班主任教师子系统104.2.3普通任课教师子系统104.2.4学生群体子系统114.3系统结构设计114.4数据库设计114.4.1数据库E-R图设计114.4.2数据库表设计134.4.3数据库关系图物理实现155系统功能实现165.1系统登录页面的实现165.2系统管理员功能模块的实现20
盐城师范学院毕业设计5.3班主任教师功能模块的实现235.4普通任课教师功能模块的实现255.5学生群体功能模块的实现266系统测试316.1系统测试的目的与意义316.2系统测试过程316.3其他错误31结论32参考文献33致谢34
盐城师范学院毕业设计1绪论1.1课题背景20世纪90年代以来,信息技术不断创新,信息产业持续发展,计算机网络广泛普及,信息化已成为全球经济社会发展的显著特征,逐步向信息网络化时代变革。随着学校对教务考勤管理的逐步深入,传统繁杂的教务管理方式已远远不能满足学校的发展,无法结合现代学校的一些新特点:信息化,网络化,系统化,规范化。因此尽快改变传统的教务管理方式,运用现代化的手段对学校的教学工作进行科学有效的管理,这已经成为学校管理亟待解决的课题之一。当前教务考勤管理系统具有以下优势:方便学生进行在线签到,在线请假;任课教师对学生上课出勤进行统计,及时掌握课堂出勤情况,做好日常教务考勤工作;班主任能够及时掌握班级学生的上课出勤情况,及时了解学生的动向,与学生进行沟通,做好班级常规管理工作。近几十年来,为贯彻国家大力推行教育体制改革的方针,我国高校招入大批新生,随之而来,存在的问题也越来越多。对于普通教师而言:上课学生人数增多了,上课点名过程也变得繁琐起来,需要花费任课教师大量的时间。这会导致课堂时间不充足,降低课堂质量,影响课堂效率。对于班主任而言:无法及时了解学生上课出勤情况,也无法及时了解学生的动态,如果学生长期处于缺勤状态,就会引发一系列的安全问题,影响班主任对班级事务的常规管理。对于学生而言:学生无法把精力集中在学习上,思想态度不端正,整个班级无法营造一个良好的学习氛围。目前,纸质化管理模式同样也存在很大弊端:统计结果数量之大,无法长期保存,在使用上很不方便,任课教师在期末评定成绩时较困难。综合以上问题,本设计准备开发一个基于J2EE的教务考勤管理系统。1.2目的和意义随着我国学校教学体制改革的深入发展,传统的教务系统管理方式存在很大的弊端,降低了教务管理的工作效率。为了改善这一现状,在充分结合学校自身特点的前提下,开发一套能够适应新的教学体制、能够最大程度满足学校现代化管理要求的教务考勤管理系统成为必然。开发一个基于J2EE第34页共34页
盐城师范学院毕业设计的教务考勤管理系统,对于学校而言,可以节省大量的人力和物力,有助于学校提高工作质量和工作效率,更好地运用现代化手段科学有效的管理日常教务工作。与此同时,也符合信息化社会的需求。除了满足学校的基本管理需求之外,还可以代替课堂点名制度。普通任课教师和班主任教师可以对学生的出勤签到、在线请假进行有效的管理,及时了解学生的动态。在期末审核中,节省了大量的时间,能快速高效的评定学生的成绩,并为教师的日常评分提供有效的依据。2开发工具及使用技术2.1开发工具本系统主要运用MyEclipse10.0开发工具,Tomcat6服务器,MicrosoftSQLServer2008数据库来实现,利用主流的JSP技术设计前台的页面,下面主要针对MyEclipse10.0+Tomcat+MicrosoftSQLServer2008进行介绍。MyEclipse在外形上与eclipse有很多共通的地方,也有其自身独特的优点:拥有很多集成开发工具和jar包,方便用户使用。尤其是在个人开发小型或者小规模的网站时,效果更加显著。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。MicrosoftSQLServer2008安全性良好。在很多信息的平台上都可以使用,可用性较好。SQLServer使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性[4];支持多线程,充分利用CPU资源[5];提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。2.2JSPJSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP技术的优点:(1)一次编写,处处运行。除了系统之外,代码不用做任何更改[6]。第34页共34页
盐城师范学院毕业设计(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的[7]。(3)强大的可伸缩性。(4)多样化和功能强大的开发工具支持[8]。2.3JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。3需求分析3.1系统的功能分析系统的功能分析:总体而言,本系统主要可以实现课程信息管理、老师信息管理、课表信息管理、学生信息管理、出勤信息统计、请假信息统计、在线请假、课程出勤签到、查询批准状态、查看个人信息,修改个人密码等功能。根据这些功能本系统分为以下四个角色:系统管理员、班主任教师、普通任课教师和学生群体。具体分析,系统管理员拥有本系统的大部分功能,主要对所有信息进行管理。班主任教师功能分析:主要对学生出勤和请假进行统计,了解学生的课程及课表信息,及时更新学生的动态。普通任课教师功能分析:主要了解自身课表情况,及时上课,并且掌握学生上课出勤情况。学生群体功能分析:主要可以进行上课出勤签到,查询自身课表,在线请假,查询班主任批复状态等操作。3.1.1系统管理员经过管理员功能分析,得出系统管理员的用例图如下图3-1所示。简要说明如下:第34页共34页
盐城师范学院毕业设计图3-1系统管理员用例图1、课程信息管理(1)查看所有课程(2)添加课程(3)删除课程2、教师信息管理(1)查看所有教师(2)添加教师信息(3)删除教师信息3、课表信息管理(1)查看所有课表(2)添加课表(3)删除课表4、学生信息管理(1)查看所有学生(2)添加学生信息(3)删除学生信息5、出勤信息统计(1)统计所有学生上课出勤状况第34页共34页
盐城师范学院毕业设计6、请假信息统计(1)统计所有学生请假状况7、修改个人密码(1)系统管理员修改自身密码3.1.2班主任教师经过班主任教师功能分析,得出班主任教师的用例图如下图3-2所示。简要说明如下:图3-2班主任教师用例图1、课程信息查询(1)全部课程信息查询2、课表信息查询(1)全部课表信息查询3、出勤信息统计(1)查询班主任班级下学生的出勤状况4、请假信息统计(1)查询班主任班级下学生的请假情况5、修改个人密码(1)班主任教师修改自身密码3.1.3普通任课教师经过普通任课教师功能分析,得出普通任课教师的用例图如下图3-3所示。简要说明如下:第34页共34页
盐城师范学院毕业设计图3-3普通任课教师用例图1、出勤信息统计(1)统计任课教师下的学生上课出勤情况2、课表信息查询(1)查询该任课教师有关的课表信息3、请假信息统计(1)统计任课教师下的学生请假情况4、我的个人信息(1)查看任课教师自己的个人信息3.1.4学生群体经过学生群体功能分析,得出学生群体的用例图如下图3-4所示。简要说明如下:图3-4学生群体用例图第34页共34页
盐城师范学院毕业设计1、课表信息查询(1)查询与学生相关课表信息2、课程出勤签到(1)学生进行上课签到出勤3、在线请假(1)学生对某门课进行请假4、查询批准进度(1)学生查看班主任教师对请假信息的批准进度状况5、我的个人信息(1)学生查看自身信息3.2可行性分析为了避免造成大量的资源浪费,可行性分析检测是必不可少的,可从以下三个方面进行分析:技术可行性、经济可行性、操作可行性。技术可行性:教务考勤系统的主要实现的:基于Web的数据库的增删改查,在大学学过MSSQL数据库,C++语言,ASP.net,C语言等课程,培训时学习了java语言,每个学期也会完成对应的课程设计,技术操作十分熟练,能够完成该系统。经济可行性:可以利用丰富的网络资源,免费下载本系统涉及的相关软件,减少经济支出。操作可行性:操作界面简洁明了,普通用户不需特殊讲解即可完成界面操作也不需要掌握相关专业知识。本系统运用菜单样式显示,界面布局合理,与用户具有良好的交互性。综上所述,整体开发一个教务考勤管理系统是可行的。第34页共34页
盐城师范学院毕业设计4系统设计4.1系统总体设计该教务考勤管理系统,整体上分为4个大模块:系统管理员模块、班主任教师模块、普通任课教师模块、学生群体模块。系统管理员模块有7个功能小模块,分别是课程信息管理模块、老师信息管理模块、课表信息管理模块、学生信息管理模块、出勤信息统计模块、请假信息统计模块和修改个人密码模块。班主任教师模块有4个功能小模块,分别是出勤信息统计模块、课程信息查询模块、课表信息查询模块、请假信息统计模块和修改个人密码模块。普通任课教师模块有5个功能小模块,分别是课表信息查询模块、出勤信息统计模块、请假信息统计模块和我的个人信息模块。学生群体模块有5个功能小模块,分别是我的个人信息模块、课表信息查询模块、课程出勤签到模块、在线请假模块和查询批准进度模块。综合上述得出以下总体功能模块图,如图4-1:图4-1总体功能模块图4.2系统模块详细设计第34页共34页
盐城师范学院毕业设计本教务考勤管理系统,主要针对普通任课教师、学生、班主任教师三类人群而设计,在系统登录模块中,系统会对需要登录的用户身份进行验证,用户需要提交自己的身份信息,点击登录按钮,系统会进入数据库中对用户身份进行匹配,如果完全一致,则显示登录成功,用户可以登录进系统;否则系统会提示用户身份信息出错,用户则无法进入系统,需要提交正确的身份信息登录系统。本系统登录流程图如图4-2所示:登录首页验证身份信息系统首页进入对应功能否是图4-2系统登录流程图本系统还具有在线注册功能,方便学生、班主任、任课教师进行在线用户注册,简化系统管理员繁杂的操作方式,使得普通用户能够快速地使用本系统。如下图4-3所示:用户在线注册班主任注册JSP页面教师注册JSP页面学生注册JSP页面点击班主任注册按钮点击教师注册按钮点击学生注册按钮提交注册系统提示注册成功,跳转登录JSP页面图4-3系统用户在线注册流程图第34页共34页
盐城师范学院毕业设计4.2.1系统管理员子系统管理员功能模块说明:管理员是功能最多的一种用户角色。(1)修改个人密码模块:该模块完成系统信息管理功能。系统信息管理提供系统管理员的查询,增加和删除等功能。管理员信息包括用户名、密码等信息。(2)课程信息管理模块:该模块完成课程信息的管理,其功能包括课程信息录入、查询、删除等操作。(3)教师信息管理模块:该模块完成教师信息的管理,其功能包括教师信息录入、查询、删除等操作。(4)课表信息管理模块:该模块完成课表信息的管理,其功能包括课表信息录入、查询、删除等操作。(5)学生信息管理模块:该模块完成学生信息的管理,其功能包括学生信息录入、查询、删除等操作。(6)出勤信息统计模块:该模块完成学生出勤情况统计的管理。(7)请假信息统计模块:该模块完成班主任对学生请假批复状态的管理。4.2.2班主任教师子系统班主任功能模块说明:(1)个人密码修改功能:该模块可以修改班主任教师登录的密码。(2)课程信息查询功能:该模块可以查询学生拥有的相关课程。(3)课表信息查询功能:该模块可以查看学生的相关课表。(4)出勤信息统计功能:该模块班主任可以及时了解学生的出勤情况,可以及时端正学生的学习态度。(5)请假信息统计功能:该模块班主任对学生请假进行批复,了解请假原因,及时与学生取得联系。4.2.3普通任课教师子系统教师功能模块说明:(1)个人信息查看功能:该模块可以查看普通教师相关信息。(2)出勤信息统计功能:该模块可以查询学生出勤情况。(3)课表信息查询功能:该模块可以查看教师的相关课表信息。(4)请假信息统计功能:该模块可以查看学生请假的相关信息,以及班主任教师是否批准。第34页共34页
盐城师范学院毕业设计4.2.4学生群体子系统学生功能模块说明:(1)个人信息查询功能:该模块可以查询学生的相关信息。(2)课表信息查询功能:该模块学生可以查询自身课表,及时上课。(3)课程出勤签到功能:该模块学生可以对自身课程进行签到。(4)在线请假功能:该模块学生可以及时请假,通知班主任,不影响教师对学生的出勤统计。(5)查询批准进度功能:该模块学生可以及时查询班主任是否批假,了解原因,及时与班主任取得联系。4.3系统结构设计本系统中采用的体系结构是J2EE体系结构,其结构模型如下图4-4所示。客户层业务层数据层客户端机器J2EE服务器数据库服务器图4-4J2EE三层结构图J2EE体系结构提供中间集成框架,中间层服务器呈组件形式,封装了所有的业务规则。本系统的体系结构分为三部分:第一层是数据层(EIS层),负责数据库信息的存储、访问及其优化。第二层是业务层,负责业务逻辑的实现,使用构建化设计原则对各种业务进行设计。第三层是表示层,提供用户与系统的友好访问,主要是使用JSP来实现的。对于一些查询操作也主要是通过JSP来实现,可以更加灵活、方便,界面也更友好。4.4数据库设计4.4.1数据库E-R图设计E-R图主要展示实体与属性之间的紧密联系,通过对教务考勤管理系统的综合分析,得出系统的E-R图主要有以下四个:系统管理员实体图、普通任课教师实体图、学生群体实体图、班主任教师实体图。系统管理员实体主要有管理员编号,管理员名字和管理员密码三个属性,其E-R图如图4-5所示:第34页共34页
盐城师范学院毕业设计userIduserPwuserName系统管理员图4-5系统管理员实体E-R图普通任课教师实体主要有普通教师编号,姓名,性别,年龄,职称,登录名,登录密码,状态等属性,其E-R图如图4-6所示:loginnamexingbienianling普通任课老师zhichengidloginpwxingmingbianhao图4-6普通任课教师实体E-R图学生群体实体主要有学生编号,学号,姓名,性别,年龄,班级编号(外键),登录名,登录密码,状态,电话,班主任编号(外键)等属性,其E-R图如图4-7所示:nianlingloginpwxingmingtelephonexuehao学生banji_ididbanzhuren_idxingbie图4-7学生群体实体E-R图班主任教师实体主要有班主任编号,姓名,登录密码,班级编号(外键),状态,登录名,号码等属性,其E-R图如图4-8所示:第34页共34页
盐城师范学院毕业设计图4-8班主任教师实体E-R图4.4.2数据库表设计建立设计本系统所需要的9张表,t_admin表为系统管理员表。t_xuesheng表为学生群体表。t_laoshi表为普通任课教师表。t_banzhuren表为班级班主任表。t_kecheng表为课程的表。t_kebiao表为要上课的课表。t_qiandao表为学生上课签到出勤的签到表。t_banji表为班级表。t_qingjia表为学生在线请假的请假表。主要表的设计如下所示:表4-1t_admin表列名数据类型长度允许空是否主键是否外键说明userIdint10否是否管理员IDuserNamevarchar5是否否管理员姓名userPwvarchar8是否否管理员密码表4-2t_xuesheng表列名数据类型长度允许空是否主键是否外键说明idint10否是否学生IDxuehaovarchar10是否否学号xingmingvarchar10是否否姓名xingbievarchar2是否否性别nianlingvarchar7是否否年龄banji_idint9是否是班级idloginnamevarchar10是否否登录名loginpwvarchar8是否否登录密码delvarchar4是否否状态telephonevarchar11是否否电话banzhuren_idint9是否是班主任id第34页共34页
盐城师范学院毕业设计表4-3t_laoshi表列名数据类型长度允许空是否主键是否外键说明idint9否是否教师IDbianhaovarchar9是否否编号xingmingvarchar10是否否姓名xingbievarchar2是否否性别nianlingvarchar7是否否年龄zhichengvarchar12是否否职称loginnamevarchar10是否否登录名loginpwvarchar8是否否登录密码delvarchar4是否否状态表4-4t_banzhuren表列名数据类型长度允许空是否主键是否外键说明idint9否是否班主任IDmasterNamevarchar10是否否姓名masterPwvarchar8是否否登录密码banji_idint8是否是班级iddelvarchar4是否否状态loginNamevarchar10是否否登录名telephonevarchar11是否否号码表4-5t_kecheng表列名数据类型长度允许空是否主键是否外键说明idint9否是否课程IDbianhaovarchar9是否否课程编号mingchengvarchar20是否否课程名keshivarchar7是否否课时delvarchar4是否否状态表4-6t_kebiao表列名数据类型长度允许空是否主键是否外键说明idint9否是否课表IDkecheng_idint9是否是课程idlaoshi_idint9是否是教师idshijianvarchar20是否否课表时间jiaoshivarchar20是否否课表教室banji_idint8是否是班级id第34页共34页
盐城师范学院毕业设计表4-7t_qiandao表列名数据类型长度允许空是否主键是否外键说明idint12否是否签到IDxuesheng_idint12是否是学生idkebiao_idint9是否是课表idqiandaoshijianvarchar20是否否签到时间qiandaoshuxingvarchar4是否否签到属性kecheng_idint9是否是课程id表4-8t_banji表列名数据类型长度允许空是否主键是否外键说明idint8否是否班级IDbanjimingvarchar20是否否班级名表4-9t_qingjia表列名数据类型长度允许空是否主键是否外键说明idint10否是否请假IDbanji_idint8是否是班级idkecheng_idint9是否是课程idbanzhuren_idint9是否是班主任idyuanyinvarchar50是否否请假原因shijianvarchar20是否否请假时间statusvarchar6是否否班主任是否批阅xuehaovarchar12是否否学号checknoint4是否否班主任是否批准通过xuesheng_idint12是否是学生idlaoshi_idint10是否是教师id4.4.3数据库关系图物理实现根据上述E-R图以及数据库表设计图,在MicrosoftSQLServer2008环境下实现了关系图,“钥匙”符号表示主键字段,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。本数据库关系图如图4-9所示:第34页共34页
盐城师范学院毕业设计图4-9数据库关系图5系统功能实现5.1系统登录页面的实现功能:支持四个角色:系统管理员、班主任教师、普通任课教师、学生群体。具体实现界面如下图5-1所示。图5-1系统登录页面设计第34页共34页
盐城师范学院毕业设计实现原理图:本系统总共有四种角色,为了保证系统的安全性,用户需要正确的账号和密码登录本系统。如图5-2所示:登录页面输入用户身份信息验证用户身份信息利用Session会话域保存用户信息内容进入功能界面否是图5-2首页登录原理图loginService是本系统中实现系统登录的主要使用的方法。loginservice重点:if(userType==0)//usertype为0:系统管理员登录为1:教师登录为2:学生登录为3:班主任登录{Stringsql="select*fromt_adminwhereuserName=?anduserPw=?";//定义一个sql,用来查询数据库的sql语句。Object[]params={userName,userPw};//把userName和userPw放入params中去DBmydb=newDB();//创建数据库对象mydbmydb.doPstm(sql,params);//调用doPstm方法try{ResultSetrs=mydb.getRs();//创建ResultSet集对象rsbooleanmark=(rs==null||!rs.next()?false:true);第34页共34页
盐城师范学院毕业设计if(mark==false){result="no";}else{result="yes";TAdminadmin=newTAdmin();//实例化一个admin对象admin.setUserId(rs.getInt("userId"));//把userId字段添加到admin对象中去admin.setUserName(rs.getString("userName"));//把userName字段添加到admin对象中去admin.setUserPw(rs.getString("userPw"));//把userPw字段添加到admin对象中去WebContextctx=WebContextFactory.get();HttpSessionsession=ctx.getSession();//创建session会话域对象session.setAttribute("userType",0);//把userType为0的身份对象赋予admin对象的session会话域中去session.setAttribute("admin",admin);//把admin这个实例化对象里面的内容也放进session会话域中去,这样可以方便以后在管理员模块中的其他界面,可以直接使用admin对象的属性。}rs.close();//rs对象关闭}catch(SQLExceptione)//报SQLException异常{System.out.println("登录失败!");//提示登录失败e.printStackTrace();//打印出异常的栈轨迹}第34页共34页
盐城师范学院毕业设计finally{mydb.closed();//关闭数据库}}}returnresult;}为增强安全性,防止出现不用登录就可以进入页面,jsp页面设置了拦截操作,代码如下:if(session.getAttribute("user")==null){out.print("");}登录进系统以后,利用javaScript语言编写了树形结构的系统框架,左边的最上面是“系统菜单”,在系统菜单下面是各个模块的子菜单。vartree=null;varroot=newTreeNode("系统菜单");//身份为系统管理员varfun2=newTreeNode("修改个人密码");//子菜单功能varfun21=newTreeNode("修改个人密码","<%=path%>/admin/userinfo/userPw.jsp","tree_node.gif",null,"tree_node.gif",null);//path路径里面是链接到点击以后出现在右边的界面fun2.add(fun21);root.add(fun2);//把子节点添加到根节点里面去。。。。。。此处省略类似功能代码varfun9=newTreeNode("请假信息统计");varfun91=newTreeNode("请假信息统计","<%=path第34页共34页
盐城师范学院毕业设计%>/qingjia?type=qingjiaMana","tree_node.gif",null,"tree_node.gif",null);fun9.add(fun91);root.add(fun9);。。。。。。此处省略类似功能代码tree=newTree(root);tree.show("menuTree")5.2系统管理员功能模块的实现本模块为系统管理员模块,在该模块中,有七个子菜单功能,如下图5-3,分别是:修改个人密码、课程信息管理、教师信息管理、课表信息管理、学生信息管理、出勤信息统计和请假信息统计。在修改个人密码、课程信息管理、教师信息管理、课表信息管理、学生信息管理功能中所采用的都是最基本的增删改查操作,涉及数据库中的select语句,insert语句,update语句。在删除操作中,为了得到数据库安全性与整体性的保证,通常采用的是查看视图,定义一个标志flag,通过flag的改变来实现删除效果。因此,删除操作的实现还是使用数据库中的update语句。图5-3管理员主页面第34页共34页
盐城师范学院毕业设计该模块中后面两个子菜单功能的实现是重点。出勤信息统计功能,如下图5-4:利用查询语句select*fromt_kebiao查询出t_kebiao里面的内容,在Tkebiao这个model类里面整体封装了Tkecheng和Tlaoshi这两个model类的对象,在前台页面可以通过${kebiao.kecheng.bianhao}取出t_kecheng表里面的内容。图5-4出勤信息统计界面实现原理图,如图5-5所示:图5-5系统管理员-出勤统计功能实现原理图点击出勤统计跳转到学生签到属性的画面,如下图5-6:前台通过下面的语句<%=path%>/admin/qiandao/qiandao_tongji.jsp?id=${kebiao.kecheng_id}跳转到qiandao_tongji.jsp,跳转的过程中带有id字段,在qiandao_tongji.jsp页面要给该字段进行值的传递,利用JSP技术可以实现值的传递:<%Stringpath=request.getContextPath();//获取当前系统路径intid=Integer.parseInt(request.getParameter("id"));第34页共34页
盐城师范学院毕业设计//强制类型转换成Integer类型ListqiandaoList=utilService.get_qiandao_list(id);//调用utilService里面的get_qiandao_list(intid)方法request.setAttribute("qiandaoList",qiandaoList);%>在get_qiandao_list(intid)方法中通过select*fromt_qiandaowherekecheng_id=?查询语句在数据库中进行查询。图5-6出勤统计-签到属性页面实现原理图,如图5-7所示:图5-7系统管理员-出勤统计链接实现原理图请假信息统计功能,如下图5-8:点击请假信息统计,通过servlet技术:<%=path%>/qingjia?type=qingjiaMana,内部跳转到qingjia_servlet里面,找到qingjiaMana方法,在qingjiaMana方法中利用select*fromt_qingjiawherestatus=’0’来筛选出所要的信息内容。通过request.getRequestDispatcher("admin/qingjia/qingjiaMana.jsp").forward(req,res);跳转到qingjiaMana.jsp页面(request的请求转发)。第34页共34页
盐城师范学院毕业设计图5-8请假信息统计页面实现原理图,如图5-9所示:图5-9系统管理员-请假信息统计实现原理图5.3班主任教师功能模块的实现本模块为班主任教师模块,在该模块中,有六个子菜单功能,如下图5-10,分别是:修改个人密码、课程信息查询、学生信息查询、课表信息查询、出勤信息统计和请假信息统计。第34页共34页
盐城师范学院毕业设计图5-10班主任教师主页面该模块后面两个子菜单功能的实现是重点。出勤信息统计功能,如下图5-11:点击出勤信息统计,会调转到相应的jsp页面,利用session会话域技术可以实现在以班主任教师身份登录进系统以后,整个会话的过程中班主任教师的所有信息在任何一个前台页面都可以轻松的访问。如下是传值的代码:<%=path%>/admin/qiandao/kebiaoAll.jsp?dd=${sessionScope.banzhuren.id}该前台页面是通过查询出某位班主任教师班上的学生的出勤统计情况,涉及banzhuren表的id。图5-11班主任教师-出勤统计页面点击出勤统计跳转到学生签到属性页面,该前台页面是查询出与该班主任有关的学生,直接显示在该页面中,并且在后台检索查询出所有的出勤次数与未出勤次数,方便班主任进行教务查询工作。签到属性有三种:正常,迟到,旷课。用三种颜色体现出来,颜色鲜明,一目了然。第34页共34页
盐城师范学院毕业设计图5-12班主任教师-出勤统计-签到属性页面请假信息统计功能,如下图5-13:点击请假信息统计跳转到请假信息页面,该页面显示出所有班主任未审核的学生请假信息。班主任可以通过此功能及时查看有哪些学生请假,根据学生的请假原因进行审核,对于理由不充分的,班主任可以及时与学生取的联系,进行沟通,了解情况。在操作一栏有两个选项可以点击,一种是审核通过,另一种是审核不通过。点击相应的按钮进行相应的操作。页面刷新后,班主任再次进入该功能,审核过的学生请假信息不会出现在该页面。图5-13请假信息统计5.4普通任课教师功能模块的实现第34页共34页
盐城师范学院毕业设计本模块为普通任课教师模块,在该模块中,有四个子菜单功能,如下图5-14,分别是:我的个人信息、出勤信息统计、课表信息查询、请假信息统计。课表信息查询功能:普通任课教师可以查看自身的课表,及时去上课,以免造成时间上的误差,耽误课程。出勤信息统计功能,如下图5-15:普通任课教师可以查看自身课程学生的出勤情况,方便教师对学生最后的期末成绩进行评分与总结。请假信息统计,如下图5-16:普通任课教师可以及时了解哪些课有哪些学生因为有事请假不能及时出勤签到,班主任有没有批准同意其请假,做好统计,以免影响期末成绩评定。图5-14普通任课教师主页面图5-15普通任课教师-出勤情况统计图5-16普通任课教师-请假情况统计5.5学生群体功能模块的实现第34页共34页
盐城师范学院毕业设计本模块为学生群体模块,在该模块中,有五个子菜单功能,如下图5-17,分别是:我的个人信息、课表信息查询、课程出勤签到、在线请假、查询批准进度。本模块重点突出课程出勤签到以及在线请假两大功能。图5-17学生群体主页面课程出勤签到功能:该签到功能的算法:dangqianshi>shangkeshi为迟到或者旷课,dangqianshi-shangkeshi>10*60*1000为迟到时间>10分钟,旷课处理,dangqianshi-shangkeshi<10*60*1000为迟到时间<10分钟,迟到处理,dangqianshi+10*60*1000shangkeshi为正常签到。实现原理图,如图5-18所示:图5-18学生群体-课程出勤签到实现原理图第34页共34页
盐城师范学院毕业设计相关代码:Longshangkeshi=Util.newDate1(utilService.get_kebiao(kebiao_id).getShijian()).getTime();//上课时间Longdangqianshi=Util.newDate1(newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate())).getTime();//当期时间if(dangqianshi>shangkeshi)//迟到或者旷课{if(dangqianshi-shangkeshi>10*60*1000){utilService.qiandao_add(xuesheng_id,kebiao_id,newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate()),"旷课",kecheng_id);s="迟到时间>10分钟,旷课处理";}if(dangqianshi-shangkeshi<10*60*1000){utilService.qiandao_add(xuesheng_id,kebiao_id,newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate()),"迟到",kecheng_id);s="迟到时间<10分钟,迟到处理";}}else{if(dangqianshi+10*60*1000shangkeshi){utilService.qiandao_add(xuesheng_id,kebiao_id,newSimpleDateFormat("yyyy-MM-ddHH:mm").format(newDate()),"正常",kecheng_id);第34页共34页
盐城师范学院毕业设计s="正常签到";}}学生在线请假功能:点击在线请假跳转到请假条页面,如下图5-19:利用Ajax技术可以实现跳转到前台页面时自动显示出相应的当前学生的相关信息,方便用户操作。实现原理图,如图5-20所示:图5-19在线请假页面相应的代码:varxmlHttp;functionsearchXuehao(obj){varname=obj.value;//1、获取XMLHttpReqeust对象xmlHttp=newXMLHTTPRequest();//2、打开一个url链接,用来发送数据Varurl="<%=path%>/qingjia?type=searchxuehao&xuehao="+name;xmlHttp.open("POST",url,true);//3、创建回调函数xmlHttp.onreadystatechange=processResult;//4、ajax发送xmlHttp.send();}第34页共34页
盐城师范学院毕业设计图5-20学生群体-在线请假实现原理图点击批准进度跳转到批准进度页面,如下图5-21:在批准进度功能中有三种状态,第一种是班主任教师还未审核,第二种是班主任教师已审核并且批准学生请假,第三种是班主任教师已审核但是不批准学生请假,此功能模块,能查询到学生和班主任教师的手机号,人性化的设计,方便教师与学生进行沟通与交流。图5-21批准进度页面第34页共34页
盐城师范学院毕业设计6系统测试6.1系统测试的目的与意义每个系统做完以后都要经过系统测试这个环节,该环节必不可少。包括三个方面:功能测试,性能测试,安全性测试。功能测试针对系统的所有功能进行检测,查看有哪些功能有欠缺和不足的地方,通过本环节能检测出来。性能测试是指整个系统运行过程中设计的一些指标,占用CUP比率和时间等。安全性测试是指系统在不同的机器上运行时,某些操作是否会引起对数据的损坏,数据是否加密等。6.2系统测试过程在测试过程阶段,需要很多的耐心,不断地去运行测试,遇到问题反复调试,是一个周而复始的过程。同时要使用不同的数据进行系统测试,全面考虑每个功能出现的情况,最终能成功运行出每一个画面与功能。6.3其他错误在程序运行的过程中总会出现这样或者那样的问题,会出现:web.xml文件里面的配置出错;lib文件下的jar包缺少或者导入出错;路径出错;书写错误、传值类型不一致、参数传递问题等,这些都需要通过细心的检测与不断的调试才能够排除。第34页共34页
盐城师范学院毕业设计结论本次毕业设计实现的是教务考勤管理系统,在实际操作过程中,我去图书馆查找了很多技术相关资料,也向老师,同学们以及工作上的同事们请教了许许多多我并不是很了解的问题。在此过程中,我对java语言有了更深刻的认识,实际动手操作能力变强了。从刚开始的选择课题,一次一次的被导师驳回,很迷茫很无措,后来在与导师的不断沟通与交流中,我确定了自己的选题,拿到这个选题以后,我还是有点手足无措,因为本次毕业设计是自己要去动手设计一个教务考勤管理系统,心中有很多好的想法和构思,但是由于大学之前的几年学习的都是一些偏理论性的知识,虽然对于那些我掌握的很好,但要真正的让我开始实际的去编写代码实现功能还是有一定困难的。于是我选择了去培训。在培训的日子里很苦,但是我真的能够学会去自己编写代码实现功能了,很开心。但是整个完成的过程中,也存在很多的欠缺,比如如何实现Ajax真正意义上的同步功能等等,后期我将进一步去弥补之前遗留下来的问题。在前进的道路上困难总会或多或少存在,父母和教师经常鼓励我:在哪里跌倒了就在哪里爬起来。我相信在知识的海洋中,我会汲取到更多的东西。为以后奠定良好的基础。第34页共34页
盐城师范学院毕业设计参考文献[1]孙明,詹瑾瑜,陈波编著.JavaWeb开发技术[M].电子科技大学出版社2012[2]姜新华,高静主编.JavaWeb应用开发[M].北京航空航天大学出版社2011[3]徐洁磐编著.面向对象数据库系统及其应用[M].科学出版社2003[4]徐祥.基于虚拟建设理论的工程项目信息管理相关问题研究[D].华南理工大学硕士论文2011[5]刘洪.教师信息管理系统的设计与开发[D]. 沈阳师范大学硕士论文2012[6]李英锋.基于J2EE架构的自助纳税系统的设计与实现[D].天津大学硕士论文2010[7]李麟.基于Web的云南中烟工业公司科技项目管理系统的开发与实现[D].电子科技大学硕士论文2010[8]杨晓涛.万州农业信息网站的设计与实现[D].电子科技大学硕士论文2011[9]刘秀梅,王文兵,张志峰.基于J2EE技术的教务管理系统系统分析与设计[D].2008年第2期[10]刘冬杰.采用C/S与B/S混合模式的信息化教务管理系统的设计与实现[J].教育信息化,2006(7):56-56.[11](美)DavidCarison著.Eclipse精粹[M].机械工业出版社2006[12]李英锋.基于J2EE架构的自助纳税系统的设计与实现[D].天津大学硕士论文2010[13]李麟.基于Web的云南中烟工业公司科技项目管理系统的开发与实现[D].电子科技大学硕士论文2010[14](美)ErichGamma,kentBeck著.ContributingtoEclipse[M].中国电力出版社2005[15](美)PoornachandraSarang著.Java8编程高级进阶[M].清华大学出版社2013[16](英)DouglasBell,MikeParr著.Javaoptimizeprogramming[M].中国水利水电出版社2006[17](美)JoyceFarrell著.Java程序设计大全[M].北京大学出版社2003[18]孙卫琴编著.Java面向对象编程[M].电子工业出版社2006[19](美)KenArnold,JamesGosling,DavidHolmes著.Thejavaprogramminglanguage[M].人民邮电出版社2006第34页共34页
盐城师范学院毕业设计致谢时间过的飞快,转眼间大学四年即将结束。在整个四年大学期间,我学到了很多东西,感谢我的所有的教师们,是他们教给我那么多的知识,教会我很多东西。是他们细心的教导,才有我今天的成绩,这次本课题能实现,我要十分感谢我的指导教师,丁向民教师,还有我给我进行技术培训的教师,在我对毕业设计有些迷茫的时候,他们给了我亮光,给了我灵感,是我不断的突破自己,提高技术水平,从而能够独立的完成自己的毕业系统的设计。然而在本系统的实现的过程中也遇到了很多的问题与困难,他们及时的给予我帮助,我才能解决难题,不断向前。第34页共34页