JAVA中学教学信息管理系统(论文)

上传人:1777****777 文档编号:39553617 上传时间:2021-11-11 格式:DOC 页数:37 大小:860.52KB
收藏 版权申诉 举报 下载
JAVA中学教学信息管理系统(论文)_第1页
第1页 / 共37页
JAVA中学教学信息管理系统(论文)_第2页
第2页 / 共37页
JAVA中学教学信息管理系统(论文)_第3页
第3页 / 共37页
资源描述:

《JAVA中学教学信息管理系统(论文)》由会员分享,可在线阅读,更多相关《JAVA中学教学信息管理系统(论文)(37页珍藏版)》请在装配图网上搜索。

1、河南大学2007届本科毕业论文中学教学管理信息系统的开发Development of Middle School Educational Management Information System论文作者姓名:赵东峰 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:张连堂(教授) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号03023226姓名赵东峰导师姓名职称张连堂(教授)开题时间2006年12月1日课题题目中学教学管理信息系统的开发课题来源导师指定 自定 其他来源课题的目的、意义

2、以及和本课题有关的国内外现状分析:1、目的:在实地考察的基础之上,通过本课题的开发,对所学知识进行系统的深化和提高,从而培养自己独立分析问题,解决问题的能力,为以后的工作打好基础。2、意义:随着信息化时代的到来,传统的管理方式在快节奏的今天,愈显落后。繁琐的学校日常事务,在传统的人工纸介质管理方式下,也顿显迟钝。学校管理方面的信息化要求日益强烈。因此,开发一款针对中学的信息管理系统显得非常有必要。3、现状:信息化水平的普遍提高,使得各行各业都在尝试用现代管理方式进行管理,这也表现在教育领域。中国的很多学校也已经或正准备探索用现代管理方式对学校进行管理。然而,我国的信息化水平发展水平极不均衡,在

3、这方面还有很长的路要走。研究目标、研究内容和准备解决的问题:1、目标:开发一套针对中学的教学管理信息系统,优化学校资源配置,提升学校信息化水平,提高学校管理效率。2、内容:中学日常管理的对象,内容,及流程;数据库设计与实现;系统的需求和实现。3、准备解决的问题:实现不同角色的权限控制,以及使系统可以将尽可能多的信息自动生成。在此基础之上,实现帐户管理,班级信息管理,学生信息管理,教师信息管理,公告信息管理。拟采取的方法、技术或设计(开发)工具:对于系统的设计与开发,拟采用基于J2EE的WEB应用技术操作系统:Windows Xp开发环境:MyEclipse 5.0.1运行环境:Tomcat5.

4、0,Jdk(1.5及其以上版本)数据库:Access2003语言及核心框架:Jsp语言,Struts及Hibernate框架预期成果:1、毕业设计成果中学教学管理信息系统站点2、毕业论文进度计划:2006.12.1 - 2007.1.1: 查找资料、搜集相关素材2007.1.2 - 2007.1.20: 完成需求分析及系统概要部分的设计2007.1.21 - 2007.4.1: 完成数据库设计,班级及教师模块的设计及实现2007.4.2 - 2007.4.30: 完成所有部分的设计及实现,并完成程序调试2007.5.1 - 2007.5.15: 整理资料、撰写毕业论文2007.5.16 - 2

5、007.5.25: 根据导师要求,完善毕业设计和论文指导教师对选题报告的意见:选题具有一定新意,符合开题要求,同意开题。 指导教师签名: 2006年 12 月 1 日开题报告II河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号03023226姓名赵东峰导师姓名张连堂任务书起止日期2006年12月8日 至 2007年5月20日论文提要:论文的撰写应从教学管理信息系统的调查研究开始,进行系统的需求分析、管理流程和数据流程分析,并进行系统总体结构设计分析、数据结构和数据库设计分析,及如何实现输入输出设计。阐述该系统所采用的体系结构,及以Access作为后台数据库所开发出来的系

6、统的工作流程,要重点分析其中的主要功能,如:班级信息的注册、分班,修改等各个模块的详细功能,最后简要介绍系统的服务器端配置及使用方法。课题任务要求:系统方案设计:结合中学教学管理信息系统的功能及所涉及的内容,设计一个切实可行的开发方案数据库设计:结合系统管理的对象,设计一个合理的数据库,并介绍其设计原则,数据库冗余尽量较少程序设计:在保证程序正常运行的基础之上,要控制程序的时间和空间复杂度,减少冗余代码,力求简洁,高效论文撰写:在系统实现的基础上,认真撰写论文,说明系统的设计方案,整体结构,详细描述系统的功能。主要参考文献:1 张孝祥等编著,Java就业培训教程,清华大学出版社,2003年9月

7、2 孙卫勤,精通Struts:基于MVC的Java Web程序设计与开发,电子工业出版社,2004年8月3 齐治昌、谭庆平、宁洪,软件工程,高等教育出版社,2005年7月4 陈天河,Hibernate项目开发宝典,电子工业出版社,2006年6月5 殷庆轩等编著,Jsp2.0动态网站开发实例指南,机械工业出版社,2006年8月6 (美) 亚当·科恩著、冷鲲译,完美商店,辽宁教育出版社,2003年9月7 (美)伽玛,设计模式可复用面向对象软件的基础,第1版,机械工业出版社,2005年6月河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称中学教学管理信

8、息系统的开发学号03023226所学专业计算机科学与技术指导教师姓 名张连堂姓名赵东峰一、毕业设计进展情况截至2007年4月10日,毕业设计已完成如下任务:1、系统需求分析及概要设计已经完成;2、系统数据库设计已经完成,班级和教师模块已经完成设计与实现。二、存在问题1、在页面中如何实现年级的动态增长;2、如何实现分班时,根据不同的年级显示相应的班级;3、界面不是非常美观,有待进一步改进。三、下一阶段的研究方法或设计思路1、参考相关书籍,写一个专门处理年份的函数以解决年级动态增长的问题。2、用JavaScript和Servlet结合起来处理不同年级对应的班级显示问题。3、下阶段将采用先实现各个模

9、块的主要功能,然后再集中处理比较麻烦技术点的设计思路。四、指导教师对学生设计(论文、创作)进展等方面的评语该生对毕业设计态度认真,表现良好。已完成的部分,符合课题要求;望再接再厉,早日完成毕业设计剩余部分的任务。 指导教师签字: 2007年 4 月 10 日 此表除第四项外由学生填写指导教师签名河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号03023226姓名赵东峰专业计算机科学与技术指导教师张连堂(教授)综合得分90论文题目中学教学信息管理系统的开发指导教师评语及得分指导教师评语该生按照要求圆满完成了毕业设计的全部任务。撰写的毕业论文格式正确,从

10、内容上看,在本科期间所学的知识得到了很好的应用,体现了一个本科生应该具备的专业素质。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分128985188指导教师签名 2007年5月20日评阅教师评语及评分评阅教师评语该文语言通顺,结构合理,设计思路清晰,论文质量达标。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分14

11、9895393评阅教师签名 2007年5月21日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号03023226姓名赵东峰所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语 论文准确阐述了毕业设计的内容,答辩中语言通顺,思路严谨,回答问题正确。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分1423183489答辩委员会主任签字: 2007 年 5 月 26 日毕业论文(设计、创作)成绩综合评定:

12、90 分综合评定等级: 优备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争

13、议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目中学教学管理信息系统的开发姓 名赵东峰所学专业计算机科学与技术学 号03023226完成时间2007

14、年5 月20日指导教师姓名职称张连堂(教授)承诺内容:1、本毕业论文(设计、创作)是学生 赵东峰 在导师_张连堂_的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007年 5 月 20 日 2007 年 5 月 20 日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要IABSTRACTII第1章 绪论11.1

15、开发背景及意义11.2 系统简介21.3 开发软件简介2第2章 系统分析和数据库设计52.1 可行性分析52.1.1 技术可行性52.1.2 经济可行性52.1.3 社会可行性52.2 系统需求分析62.2.1 系统框架图62.2.2 数据流图62.3 数据库设计7第3章 系统设计103.1 学生信息管理103.2 教师信息管理133.3 班级信息管理143.4 公告信息管理163.5 上传下载管理173.6 帐户信息管理183.7 底层数据库操作代码示例18第4章 系统的配置204.1 服务器端配置204.2 程序运行辅助配置20第5章 系统测试235.1 测试方案235.2 测试流程235

16、.3 测试用例245.3.1 输入数据测试245.3.2 功能测试24结 论25参考文献26河南大学本科毕业生学士学位论文摘 要随着计算机应用技术的飞速发展,用计算机参与管理已经成为各行各业管理者的最佳选择。在教育领域,很多学校都在尝试用计算机管理取代传统的人工纸介质管理方式。因此,基于网络的教学管理信息系统对于学校管理来说意义重大。本文结合所做的“中学教学管理信息系统”,首先简单介绍系统的开发背景和开发工具。然后,从理论上,技术上进行可行性分析,确定系统整体框架和功能模块,并根据系统需求对数据库进行详细设计。接着,对在此基础上所设计的系统开发方案进行详细的论述;对开发过程中所涉及到的诸多技术

17、要点进行分析,对在系统开发中必不可少的一些框架的配置文件进行简单说明。最后通过对系统进行调试和测试,简单分析系统运行的效果,发现系统中存在的问题并改正。关键词 教学管理信息系统,Jsp技术,Struts框架,Hibernate框架ABSTRACTWith the rapid development of application of computer technology, computers management of businesses and managers has become the best choice. In the field of education, many sch

18、ools are trying to use computer management to replace traditionally artificial printing management. Therefore, the Web-based Teaching Information Management System has significant meaning for school management.This paper introduces "Middle School Teaching Information Management System". Fi

19、rstly, it elaborates the background and development tools of the system briefly. Secondly, from a theoretical and technical point, it made feasibility analysis, determined the overall framework and functional modules of the system, and made a detailed database design under the demand of the system.

20、Then, the paper presents the development programs of the system in detail, analyzed the important techniques in the development process, and made a brief explanation to the configuration files of the essential framework. Finally, through debugging and testing the system, it made a simple analysis ab

21、out operation results, found the existing problems and improved them.Keywords Teach Information Management System, JSP Technology, Struts Framework, Hibernate Framework第 26 页第1章 绪论教学管理信息系统是一个学校实现管理现代化必不可少的软件设施。该系统应该具备良好的对于班级、教师、学生、公告信息进行录入、维护、查询等功能的快捷操作手段。传统的人工管理方式与计算机管理相比有太多的缺陷,比如效率低,随着时间的增加将产生大量的文

22、件堆积等,极不利于信息的查询、更新和维护。因此,开发针对中学的教学管理信息系统非常有必要,而且也很有意义。本章主要从信息技术的发展对当今社会的影响对教学管理系统开发的背景及意义做一个简单的描述,并介绍了本系统所具备的功能及其在学校日常管理中所起的作用,同时还对本系统所采用的开发环境及开发模式做了详细的介绍。1.1 开发背景及意义电子信息技术的发展,使人类文明进入一个崭新的时代。电子信息技术的推广和应用,是当今社会技术革命的潮流。在振兴经济的过程中,起着有效的加速器作用,同时它也冲击着社会生活的各个角落,使人们的观念发生着深刻的变化。如何利用信息技术实现企事业单位现代化管理,是发展生产力、提高综

23、合国力、加快我国社会主义现代化建设事业的一件大事。近年来我国计算机应用进展很快,正在跨入一个新的阶段。并且随着计算机的普及,越来越多的单位使用计算机进行信息管理,建立了基于Web方式的管理信息系统。教育的信息化是现代教育发展的必然趋势,然而当前很多学校的管理方式还停留在人力管理上,这样不仅浪费了人力资源也浪费了大量的时间并且在管理的时候难免会出现差错,这样的管理显然已经不能适应信息时代的发展。引入教学管理系统,使用计算机来对教学信息进行管理,不仅能够大大提高了教学管理的效率,优化教学管理的质量,提高学校的整体管理水平,还可以节省大量的人力、物力,为学校的管理质量提供质的飞跃。为此,开发一款针对

24、学校管理的软件,是非常必要的。1.2 系统简介教学管理信息系统是为了更好的管理学校的教学工作,为学校的教学管理提供可靠、高效的管理方式。因此该管理系统应具有的功能有:招生管理、学籍管理、教务管理、学生选课管理、事务处理、教务信息的发布以及辅助管理系统等。由于该系统规模庞大,任务繁多,再加上时间问题,本系统只选择了其中的学生,教师,班级基本信息管理部分。学生信息管理子系统必须与学生选课系统、学生成绩管理系统等协同工作,对学生从入学到毕业的所有信息进行管理,包括学生的基本信息、学生的缴费信息、注册信息、学生的选课信息、学生各个学期的考试成绩、学籍的变动以及毕业资格的审查等信息进行管理。教务处理子系

25、统主要对教职人员的基本信息、课程信息、班级信息、毕业生的毕业论文、学校的实验教学信息进行管理,同时还要进行奖学金的评定,确定获奖学生的信息,处理日常的教学事务。班级管理子系统主要对班级的基本信息的注册、修改、查看、删除,以及对学生的分班管理等。1.3 开发软件简介本系统以MyEclipse作为开发工具,采用基于MVC的Struts框架的设计模式,使系统更加的可靠、安全,同时对于数据库操作采用了Hibernate框架。Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。Struts把S

26、ervlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架,因而受到了众多的开发人员的青睐。MVC是一个设计模式,它强制性的把应用程序的输入、处理和输出分开,使用MVC应用程序被分成三个核心部件:模型、视图、控制器。Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:(1)模型(Model),Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Stru

27、ts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端表单数据。通过ActionForm组件对象实现了对View和Model之间交互的支持。Struts通常建议使用一组JavaBean表示系统的内部状态。 (2)视图(View),Struts应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和M

28、odel部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。 (3)控制器(Controller),控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller功能由图中ActionServlet和ActionMapping对象构成:核心是一个Servlet类型的对象。(4)一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息(通过ApplicationReso

29、urces.properties资源文件来实现)。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate 从本质上来讲是一种“对象关系型数据映射”(Object Relational Mapping 简称ORM)ORM模式如图1-1所示。图

30、1-1 ORM模式图第2章 系统分析和数据库设计任何一个系统的开发,都是建立在对系统充分分析的基础之上的。系统分析最重要的目的就是确定系统的可行性,明确系统的需求,并最终设计一个系统解决方案。本章针对中学教学管理信息系统,分别从技术可行性、经济可行性、社会可行性方面进行可行性分析,并用业务流程图和数据流图的形式对系统作了简单的需求分析,最后介绍数据库的设计情况。2.1 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在开发项目之前,必须根据系统开发的时间和资源条件进行可行性研究。在确定系统可行性的基础上,分析系统的需求,然后根据需求进行数据库的设计。2.1.1 技术可

31、行性本程序采用基于struts架构的MVC开发模式,使系统在界面逻辑和业务逻辑分离,系统结构清晰,易于维护。在视图层,采用Jsp技术,对于底层数据库操作,采用Hibernate框架。由此可知,本系统的开发在技术上没有问题。2.1.2 经济可行性本系统采用了J2EE技术,具有较好的可移植性。系统对于服务器端配置并无特殊要求,只需一台配置Tomcat和Jdk的普通计算机即可,因此系统在经济上完全可行。2.1.3 社会可行性由于本系统完全采用图形界面,操作极其简单,对管理员技能和学历上的要求极低,只要识字就能完全满足对本系统的操作要求。并且只需对相关人员进行简单培训甚至可以不经过系统的培训,他们即可

32、顺利使用本系统。2.2 系统需求分析系统需求是用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。系统需求分析有助于开发人员对于系统的要求有一个精准的了解,并有助于将用户需求转化为相应的功能划分定义。需求分析所要完成的基本任务是准确地定义新系统的目标,满足用户需要,回答系统必须做什么的问题。2.2.1 系统框架图系统框架图描述了本系统内各个模块之间的业务关系,表现了操作顺序和数据流动的过程。对于本系统而言,需求分析的重点是准确描述出系统的工作业务流程,通过采用框架图中的部分图形来对教学管理信息活动进行规范化说明。下面对系统的功能模块进行分析,如图2-1所示。图2-1 系统框架图2.2.

33、2 数据流图对于本系统而言,在对上述业务流程图进行分析的基础上,将系统所需的各种功能和彼此之间的联系自顶向下、逐层分解,即得能在逻辑上精确地描述出新系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部项),如图2-2所示。图2-2 顶层数据流图根据顶层流程图我们对系统的各个功能进行细化,并结合用户需求将此系统按功能分为用户信息管理、班级信息管理、教师信息管理、学生信息管理、公告信息管理、上传下载管理等子功能。用户登录后进入相应操作界面,可依据其权限选择相应的功能模块进行操作。2.3 数据库设计针对项目需求,对数据库表结构进行了设计,如图2-3所示。以上是对数据库的整体设

34、计,下面对每个数据库表进行设计。学生信息表:主要用来存储学生的基本信息,包括:学号、姓名、民族、性别、出生日期、政治面貌、籍贯、邮箱等等。如表2-1所示。表2-1 学生基本信息表(student)序号字段名称字段描述类型1id代理主键数字2studentId学号文本3studentName姓名文本4studentNation民族文本5studentSex性别数字6grade年级文本7studentBirth出生日期日期/时间8studentPoli政治面貌文本9studentHomeTown籍贯文本10email邮箱文本11cellPhone手机文本12telephone电话文本13eduEx

35、perience教育经历文本14prize获奖情况文本15comment评价文本16flag删除标识数字班级信息表:主要用来存储班级管理的基本信息,包括年级、班级号、班级类型、班主任编号等等,如表2-2所示。表2-2 班级信息表(classes)序号字段名称字段描述类型1Id代理主键数字2grade年级文本3classId班级号数字4classType班级类型数字5classDirectorId班主任编号文本6classIntroduction备注文本7flag删除标识数字帐户信息表:主要用来存储系统用户的帐户信息,包括帐号、姓名、密码、角色、删除标识等,如表2-3所示。表2-3 帐户信息表(

36、user)序号字段名称字段描述类型1Id代理主键数字2userCode帐号文本3userName姓名文本4userPassword密码文本5userRole角色文本6flag删除标识数字公告信息表:主要用来存储发布的公告信息,包括公告标题,发布日期,作者姓名,删除标识等,如表2-4所示。表2-4 公告信息表(article)序号字段名称字段描述类型1Id代理主键数字2articleTitle公告标题文本3articleDate发布日期日期/时间4AuthorId作者编号文本5authorName作者姓名文本6flag删除标识数字教师信息表:主要用来存储教师的基本信息,包括姓名,编号,民族,性别

37、,学历,出生日期,毕业学校,专业,籍贯,教育背景,工作经历等,如表2-5所示。表2-5 教师信息表(teacher)序号字段名称字段描述类型1Id代理主键数字2teacherName姓名文本3teacherCode编号数字4teacherNation民族文本5teacherSex性别文本6degreeId学历编号数字7teacherBirth出生日期日期/时间8proCode职称序号数字9graduateSchool毕业学校文本10major专业文本11homeTown籍贯文本12email邮箱文本13cellPhone手机文本14tel电话文本15eduExperience教育背景文本16j

38、obExperience工作经历文本17comment备注文本18flag删除标识数字第3章 系统设计本章针对各个模块的功能实现进行说明,主要从数据的输入、业务的处理、结果的输出三个方面进行阐述。其中,班级、学生、教师是系统的不可缺少的模块,将作为重点来说明。3.1 学生信息管理该模块的主要功能是管理学生的基本信息,同时也为其他模块提供数据参考。基本信息中记录了学生的学号、姓名、性别、出生日期、民族、年级、班级、政治面貌、籍贯、手机、电话、教育经历,以及获奖情况和其他需要特别说明的信息。在此模块中可以实现学生基本信息的注册、修改、查询、删除,详细介绍如下。(1)注册学生基本信息点击学生基本信息

39、管理的学生信息注册子菜单,转到信息注册页面。输入:在页面上输入或选择待注册学生对应的各个属性(姓名、性别等)处理:对数据进行合法性检查,如果通过检查,则对数据进行提交。通过studentForm来获得所录入学生的基本信息,将这些信息封装在一个Student实例中,并通过studentAction来对该Student进行处理,将Student的全部信息写入数据库。操作算法如下:ActionForward studentAddDo(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletRespon

40、se response) .StudentForm sForm=(StudentForm)form;/通过Form获得学生信息Student s=new Student();/定义Student(学生)对象s.setStudentName(sForm.getStudentName();/为s的各属性赋值.bool isAdd=sLogic.studentAdd(s);/向数据库写入该注册学生信息输出:如果操作成功,返回学生信息界面,显示所有学生信息列表。否则,返回出错界面,并给出出错原因。学生信息注册页面如图3-1所示。图3-1 学生信息注册视图(2)学生信息查询在该模块中,可以实现针对多种不

41、同条件进行的动态查询。输入:在页面上输入所了解到的学生的信息,比如学号,姓名,年级,可以是其中一个,也可以是多个,也可以是某个的一部分。处理:将这些查询条件用一个集合类HashMap的对象map存储起来,转发到studentAction中,由conditionFind进行处理。具体的查询,通过Hibernate的Criteria接口实现。算法如下:./获得所输入的查询条件request.getParameter(“studentName”);/获得输入的学生姓名request.getParameter(“studentId”);/获得输入的学生学号./将查询条件加入到查询容器criteria.

42、add(Expression.like("studentName","%学生姓名参数%") . add(Expression.eq("studentId","%学生学号参数%").criteria.addOrder(Order.asc("studentId");/排序return criteria.list();/将查询结果以集合形式返回;输出:查询成功则返回一个学生信息的集合类对象list,并传送到学生信息显示界面进行显示。如果出现错误或发生异常,则返回错误页面并显示出错原因。学生信息查询如图

43、3-2所示。图3-2 学生信息查询视图(3)学生信息的修改与删除。处理:根据学生信息显示界面中显示的学生信息,对学生的信息进行更改或删除。如果删除,则根据学生纪录后边的删除超链接进行删除,超链接中含有学生记录主键,将此主键信息传递到studentAction中,根据主键对学生记录进行删除。如果修改,则根据学生记录后边的编辑超链接进行,超链接中含有学生记录主键,将主键传递到studentAction中,此时查出该主键对应的学生记录,并将该记录的信息在学生信息修改界面上显示,此时手动修改属性值,然后保存,将更新后的数据写入数据库。根据主键进行删除的主要算法如下:./获得session对象sessi

44、on=HibernateSessionFactory.getSession(); tr=session.getTransaction();/获得事务tr.begin();/开启事务 /根据主键获得对应的Student对象Student s=( Student)session.get(Student.class, 主键值);session.delete(s);/删除Student对象mit();/提交事务.session.close();/关闭session输出:修改或删除成功则返回一个学生信息的集合类对象list,并传送到学生信息显示界面进行显示;如果出现错误或发生异常,则返回错误页面并显示出

45、错原因。3.2 教师信息管理教师信息管理,主要针对教师信息的录入,修改,查看,删除等操作,具体实现如下(各项与学生信息管理相似的功能不再详细介绍,参考学生信息管理):(1)教师信息的录入:输入:在教师信息注册页面手动输入或选择相应的属性值。处理:在数据通过合法性检查的情况下,进行保存。由teacherForm封装所有的页面数据,在teacherAction中,获得teacherForm中的数据,重新封装到一个teacher实例中,此时,通过Hibernate的session对象开启一个事务,将该teacher实例写入数据库,完成注册功能。输出:如果信息录入成功,返回教师信息界面,显示所有教师信

46、息列表。否则,返回出错界面,并给出出错原因。(2)教师信息的查询:在该模块中,实现针对多种不同的条件进行动态的查询。输入:在页面上输入您当时所了解到的教师的信息,比如姓名,编号,性别,可以是其中一个或多个,也可以是某个的一部分以实现模糊查询。处理:将这些查询条件用一个集合类HashMap的对象map存储起来,转发到teacherAction中,由conditionFind进行处理。具体的查询,通过Hibernate的Criteria接口实现。输出:查询成功则返回一个教师信息的集合类对象list,并传送到教师信息显示界面进行显示;如果出现错误或发生异常,则返回错误页面并显示出错原因。(3)教师信

47、息的修改与删除:处理:根据教师信息显示界面中显示的教师信息,对教师的信息进行更改或删除。如果删除,则根据教师纪录后边的删除超链接进行删除,超链接中含有教师记录主键,将此主键信息传递到teacherAction中,根据主键对教师记录进行删除。如果修改,则根据教师记录后边的编辑超链接进行,超链接中含有教师记录主键,将主键传递到teacherAction中,此时查出该主键对应的教师记录,并将该记录的信息在教师信息修改界面上显示,此时手动修改属性值,然后保存,将更新后的数据写入数据库。输出:修改或删除成功则返回一个教师信息的集合类对象list,并传送到教师信息显示界面进行显示;如果出现错误或发生异常,

48、则返回错误页面并显示出错原因。3.3 班级信息管理在班级管理中,要对学校的班级信息进行管理,包括对班级的注册、查询与删除、分班管理等,具体的实现如下。(1)班级的注册管理员根据具体情况的需要进行班级的注册,通过classForm获取管理员所注册的班级的信息,在classAction中,将由classForm所获取的班级信息封装成一个Classes类,并将该班级的信息插入到数据库表中,完成班级的注册。其中,班级号是自动生成的,班主任的信息是从弹出的虚拟窗口里选择的,以此保证了班级关键信息的有效性,真实性,避免出现一些不必要的低级错误。班级注册页面如图3-3所示。图3-3 班级注册视图班级注册的主

49、要算法如下。年级值的生成:private static final Calendar c=Calendar.getInstance();private static int year=c.get(c.YEAR);/获得当前年份public static String getClassesOption()int k=0;StringBuffer sb=new StringBuffer();for(int i=-4;i<2;i+)k=year+i;sb.append(String.format("<option value="+k+">"+

50、k+"</option>");return sb.toString();班级值根据所显示的年级动态生成/页面上年级下拉框JavaScript事件<select name=”grade” onchange=”.,classesAction.do?method=classesAddDo;”>当触发上述事件时,在classesAction.classesAddDo方法中动态生成班级:String getClassIdAuto(String grade) session=HibernateSessionFactory.getSession();Object

51、obj=session.createQuery("select max(classId) from Classeswhere grade=:grade").setString("grade", grade).uniqueResult();if(obj=null)return "1"elseInteger result=(Integer)obj;result+;return result.toString();(2)班级的查询管理员可以根据需要输入相应的查询信息, classAction通过一个集合类HashMap的对象map得到用户输

52、入的查询信息,查询所有符合条件的班级信息,返回班级记录的一个集合类的对象list。然后通过request将list传到界面予以显示。(3)班级的删除管理员可以根据具体情况的需要,删除一些班级,同时该班级中所有学生的信息也要随着改变。(4)分班管理可以实现对未分班的学生分班,或者某个年级的所有学生重新分班。首先要选择年级,然后选择待分班的学生是已经有班级了还是没有分过班级的,然后选择被分配到的班级,点击保存就可以实现分班操作,并转到班级列表页面,点击某一班级即可看到该班班主任和学生名单。如图3-4所示。图3-4 分班管理视图3.4 公告信息管理公告信息管理主要包括公告的发布、修改、查看、删除等基

53、本的维护功能。具体实现如下。(1)公告发布输入:公告信息的发布时间以系统当时时间为准,不必手动输入。公告发布人的信息即为登录的管理员信息,也不必手动输入。唯一需要输入的信息就是公告信息的标题。处理:当数据输入完毕后,点击保存按钮。控制转到ArticleAction,此时acticleAdd(mapping,form,request,response)方法根据参数form获得页面上所有的数据,并将这些数据封装在Article的一个实例article中。然后,通过Hibernate框架的session.save(article)实现对数据写入数据库的操作。输出:如果公告信息发布成功,则返回公告栏,

54、即可看到刚刚发布的信息;否则,控制转到出错页面,并给出错误提示。(2)公告查看在公告栏里可以看到左右晃动的公告标题,点击标题即可以看到给公告的详细内容。实现时根据主键查询该公告内容。具体实现简单,不再详细描述。(3)公告修改及删除管理员可以对内容不妥当的公告信息进行修改或者删除。输入:在公告信息维护页面,可以看到每一条公告信息记录的后边都有两个超链接,一个是编辑,一个是删除。其中,编辑用于修改公告信息。点击需要修改的公告记录后边的编辑即可以将记录主键传到ArticleAction。处理:在ArticleAction中根据主键查询到该记录对应的Article实例article,此时控制转发,将a

55、rticle传到公告信息编辑页面,修改公告属性,点击保存按钮,重新提交到数据库中,即完成对该公告的信息的修改。如果是删除,只需根据主键删除即可。输出:修改或删除成功则返回一个教师信息的集合类对象list,并传送到教师信息显示界面进行显示;如果出现错误或发生异常,则返回错误页面并显示出错原因。3.5 上传下载管理上传下载管理提供文件的上传和下载,以方便学生学习之用。上传:将文件上传到硬盘。上传实现采用了mons.fileupload组件。获得文件信息算法如下。DiskFileUpload fu = new DiskFileUpload();fu.setSizeMax(10 * 1024 * 10

56、24); / 设置最大文件尺寸,这里是4MBfu.setSizeThreshold(10 * 1024); / 设置缓冲区大小,这里是4kbfu.setRepositoryPath(tempPath); / 设置临时目录List fileItems = fu.parseRequest(request); / 得到所有的文件Iterator i = fileItems.iterator();/依次处理每一个文件:while (i.hasNext() FileItem fi = (FileItem) i.next();fi.write(new File(“服务器短路径” + 文件名);下载:下载采

57、用了超链接放式<a href=”路径”>文件名</>3.6 帐户信息管理帐户信息管理主要实现了帐户的注册、启用、禁用、删除、简单的权限管理等功能。帐户管理:如果注册者尚未登录,那么他注册的帐号是一个普通用户权限的帐户,只具有很少一部分的操纵功能。如果注册者已经登录,并且他是管理员,那么他可以选择注册另外一个管理员账户,也可以选择注册一个普通权限的账户。账户的注册,查询,修改,删除和其他模块的注册,查询,修改,删除实现方式类似,在这里就不再赘述。帐户的启用和禁用则根据账户信息的一个flag标识字段来解决。比如,用0表示禁用状态,用1表示启用状态。如图3-5所示。图3-5

58、帐户信息视图3.7 底层数据库操作代码示例在本系统中,对于进行数据库操作的DAO层,采用了Hibernate框架进行处理。要应用Hibernate需要有一些配置(后边介绍)。主要代码如下。private Session session; private Transaction tr; private Query query;public boolean studentAdd(Student s) session = HibernateSessionFactory.getSession();try /获得一个事务对象tr = session.getTransaction();/开启事务tr.be

59、gin();/保存对象到数据库session.save(s);/提交事务mit();return true; catch (Exception e) e.printStackTrace();tr.rollback();/事务回滚return false; finally session.close();public Student getStudentById(Integer id) session = HibernateSessionFactory.getSession();try /根据主键查询Student s = (Student) session.get(Student.class, id);return s; catch (Exception e) e.printStackTrace();return null; finally session.close();第4章 系统的配置本章主要介绍系统运行时的服务器端配置,并对系统运行所需要的一些关键的技术性质的配置文件也作了一个详细的说明,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!