




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆大学网络教育学院毕业设计〔论文〕题目学生成绩管理系统设计与实践学生所在校外学习中心XXXX校外学习中心批次层次专业142批次专升本计算机科学与技术学号WXXXX学生李XXX指导教师杨XXX起止日期摘要随着网络通信技术的迅速开展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆管理系统、学籍管理系统,学生成绩管理系统等。其中成绩管理是任一院校都不可缺少的局部,与传统的人工管理方式比较,它能够为管理人员提供充足的信息和快捷的查询手段,提高学校学生成绩管理的效果。所以学生成绩管理信息系统的开发和应用是必要的。为了实现信息化管理,而开发这个学生成绩信息管理系统,以期给教职工带来方便。本系统采用B/S〔浏览器/效劳器〕结构,使用SSH(struts2、spring、heberinate)三大框架。B/S模式即网页的模式,在线登入学生成绩管理系统进行操作。本系统有三个权限:管理员,教师,学生。每个权限都有各自操作的模块,管理员可以管理教师和学生的根本信息,课程的安排,成绩的录入和导出;教师可以录入成绩以及学生成绩的导出;学生只能查看自己的成绩。根据上述的需求,通过对需求的分析及各功能的详细设计,从而开发能够满足学校需求的管理系统。关键词:学生成绩管理系统JSPMYSQL目录摘要21引言42.1系统开发平台的选择42.1.1开发语言的选择52.1.2开发结构的选择52.1.3数据库的选择62.2系统开发的理论与技术62.2.1MVC开发理论62.2.2SSH框架分析73.1系统需求93.2系统功能需求分析103.2.1系统功能组成103.2.2系统模块框图114.1系统功能设计134.2数据库的设计18数据库表结构设计185系统功能的实现与测试215.1SSH框架的搭建215.2功能的实现225.3系统的测试266系统的评价27参考文献281引言随着计算机技术的飞速开展,信息时代的到来,信息改变了我们这个社会。学校在管理、教学、办公各个方面也在悄悄地变化,作为一个教育单位不可缺少的局部——学生成绩管理系统,它的内容对于学校的决策者和管理者来说都至关重要,一款先进的学生成绩管理系统必定会使教学更先进、办公更高效、管理更科学,信息交流更迅速,所以学生成绩信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一局部,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比较的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、本钱低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,故决定选择学生成绩管理系统来作为本人的毕业设计,在很短的时间里开发出一套界面友好,功能强大,使用简单的适用于各规模学院的学生成绩管理系统。该学生成绩管理系统能有效的处理在校学生的成绩管理,具有成绩输入、成绩查询、成绩统计及打印功能。学生成绩管理系统可以实施应用在各中、大、小院校中,适用范围很广,应用性强。随着系统实施的日益成熟,最终会使单机作业为主的教学管理活动提高到这个平台上来,从而实现学校学生成绩信息管理的办公自动化,籍以提高办学效率和质量。使学校充分利用计算机所带来的新技术,为培养人才打下坚实的根底。2系统开发平台和相关理论与技术本系统是面向全国的初中和高中的一款教学管理系统,经过本人对周边中学的调查,和对贫困地区学校的信息采集,针对国内的管理系统所存在的问题,从而开发这款学生成绩管理系统。本节将重点介绍该系统的开发环境和理论与技术。2.1系统开发平台的选择目前计算机语言有c、c++、c#、.net、Java、PHP、汇编语言等等。开发学生管理系统需要选择适宜的语言[2]。开发语言的选择目前市面上的管理系统绝大局部用的都是Jsp、ASP.Net、PHP这三种语言。它们的共同点都是动态网页技术,都镶嵌在HTML代码中,用语言引擎来解释代码并执行代码。而JSP的语言引擎是java虚拟机,就是将jsp代码编译成.class文件,并由Java虚拟机来解释执行.class文件[11]。在这三种语言的环境下,HTML代码主要显示静态的页面,而程序代码进行业务逻辑的处理。一般网页的HTML代码是通过web效劳器运行的,但是Jsp、ASP.Net、PHP这三种语言都要依赖环境虚拟机来编译执行程序代码,并把返回结果嵌入到HTML代码中,最后发送给浏览器,显示结果。Jsp、ASP.Net、PHP是基于web效劳的技术。它们的区别及特点如下:Jsp的特点无疑是跨平台性,因为使用JavaAPI,所以可以在Windows、Linux、Mac等系统中运行[10]。从而扩展了JSP使用web效劳器的范围,在者,JSP使用JDBC操作数据库,对那些运行在不同操作系统的数据库,防止了代码的移植而需要更换数据库的问题。ASP是有微软开发的动态语言,其特点与JSP非常相似,功能主要可以实现动态网页,实现用户的动态交互功能,它的功能也就是它的特点,不同于HTML的交互功能,HTML只能简单的访问而无法动态的交互,是一种静态网站。开发工具使用微软开发的VisualStudio这个软件,运行环境也非常局限,只能运行在微软的效劳器产品IIS上。PHP的特点也是跨平台性,支持几乎所有的数据库系统和操作系统,在市场上也较为普及。CGI脚本语言是一种强大的PHP语言,语法包含了C、PHP和Java的新型的一种语言,速度执行快,效率高,一般比Java,ASP的运行速度快,内嵌有加速引擎,性能稳定,资源占用少,代码运行速度快。并且与Java一样具有很好的可移植性和可扩展性,PHP可以运行在几乎所有的效劳器上,属于开放软件,代码也完全公开,任何程序员可以为PHP扩展附加想要的功能。结合实际情况和开发的环境,以及本人对这三种语言的了解程度,该学生成绩管理系统使用Jsp语言开发,即用HTML语言开发页面,Java语言处理后台的业务逻辑。开发结构的选择Web开发是目前较为流行的开发体系,JavaWeb主要有两种开发结构:C/S开发结构和B/S开发结构[5]。C/S结构是一种客户机与效劳器的访问交互,而B/S是一种浏览器与效劳器的访问交互,本学生管理系统属于一个网站,需要在线登入查询学生的信息,所以用到的结构就是B/S结构。数据库的选择这些数据的查询以及信息的增删改,数据库都是缺一不可的后台,常用的数据库有:Oracle、SqlServer、MySql、Access等等。Oracle:现在大型企业的主流数据库,价格昂贵,但性能非常优秀[4]。SqlServer:稍微贵些,但只能运行在Windows操作系统下,丝毫没有一点开放性,对跨平台的操作兼容性差,而且对系统的稳定性要求很高。Access:操作简洁、方便,不依赖Server也可以对数据库操作,但平安性不够,加了用户密码容易被破解。MySql:具有执行速度快、稳定性好、使用方便等特点,已经成为世界上最流行的开放数据库之一。同时,由于它的跨平台性,MySQL数据库能运行Linllx、Windows、Max、HP—UX、AIX、Netware等2O多个平台上[7]。综上所述,采用的数据库是MySQL。2.2系统开发的理论与技术系统开发的理论最实用的就是MVC设计模式,它是系统设计中的典型结构之一。用到的技术无非是SSH(Struts2、Spring、Hibernate)或者SSM〔Struts2、Spring、Mybatis〕三大框架。MVC开发理论学生管理系统的开发通过应用MVC开发模式,使其代码结构分成三层,以便设计结构清晰明了。V:〔view〕视图,即用户界面,相当于与后台交互的一个端口。在B/S结构下,视图就是浏览器,浏览器向用户显示从后台返回的相关数据,并能够接受用户输入的数据,但是它不进行任何业务逻辑上的处理。M:〔Model〕模型,它主要提供业务逻辑,就是对业务逻辑,和前台传过来的数据进行处理,包括对数据的存取,加工操作。一个Model可以为多个view提供数据及业务上的处理。这样就实现了模型的可重用性,简化了代码,提高了效率。C:〔Controller〕控制,主要负责控制视图与模型的流程。它就相当于一个多用开关,当客户端发送一个请求,开关端接受到请求,通过解析这个请求,需要发送给哪个模型,开关就往哪里打,控制端并不需要对数据进行处理,它只是一个桥梁,起到交接作用,最后的数据是通过模型调用相应的方法进行处理。SSH框架分析Struts2是系统开发的根底框架,主要控制页面的跳转流程,即页面导航的作用[6]。当客户端发送一个HttpServletRequest请求login.action,然后控制器根据请求调用适宜的Action,通过调用Action的Execute方法,获取从客户端传过来的参数,执行一定的业务逻辑,最后将处理结果返回到浏览器并显示。其流程如图:2.1所示。图2.1Struts2框架的根本流程Spring是一个构造Java应用程序的轻量级框架,它即可以构建web程序,也可以构建Java程序[3]。Spring的核心主要是IOC控制反转,它不需要new一个对象,代码全程都不需要创立对象,而是通过Spring框架本身注入对象。即使用IOC容器,就不需要留心组件的创立;它的生存周期也大可不管;组件之间就可以很容易共享;测试也简单多了。其流程如图2.2所示。A:不使用SpringIOCB:使用SpringIOC图2.2SpringIOC流程Hibrenate是实现对象/关系映射和数据库交互,JDBC访问数据库的代码就封装在Hibrenate,并且还封装了一些简单的SQL语句,操作数据库时,只需调用其对象就可以实现简单的增删改操作[13]。其流程如图2.3所示。图2.3Hibrenate框架的根本流程图2.4SSH框架的总流程关于开发学生成绩管理系统,总的可以分三层:显示层,业务逻辑层和数据库层。显示层就用JSP代码来完成,页面之间的跳转即客户端跳转,还有效劳器跳转都用Struts2这个框架来控制,很好的将jsp里的Java代码别离开来。使用Hibernate框架又很好的将访问数据库的代码与Action〔处理业务逻辑〕的代码实现了别离,降低了耦合度。然后Spring的引用,完美的与Struts2、Hibernate进一步整合,并使用它的IOC控制反转对控制逻辑和业务对象实现完全别离[9]。其流程如图2.4所示。3系统具体需求分析当接到此系统开发任务后,通过调查,委托学校要求系统具有权限设置功能的登录模块,学生可以实现成绩信息查询功能。教务管理人员能够实现注册新用户,学生成绩信息的查询、录入、删除、修改、浏览、统计等功能。再次就是经济上、技术上的可行性,当三者都到达指标的时候,我们就可以着手进行系统的开发。3.1系统需求成绩管理主要是由教务处对教师、对课程、对学生、对学生成绩进行管理,以期让教师、学生能够随时对学生成绩进行各种查询。系统的效劳对象有系统管理员、教师、学生。根据用户的身份有不同的需求。管理员:即教务处,可以管理学生和教师的根本信息状况,还可以打印学生和老师的全部信息。老师:可以录入本班学生的成绩,学生的成绩是需要由人工录入的,因此系统就需要设计一个学生成绩信息录入的窗口来录入期考成绩,并且在这个窗口中放入一个数据窗口来实现录入这方面信息的功能。还需要能查看学生的成绩。并导出到excel表进行打印。学生:可以查看自己的课程以及成绩,还有班级的排名和年段的排名。因此为了显示查询结果,就要设计一个数据窗口,并将其放在查询期考成绩的窗口中实现查询功能。由于该系统是学校管理学生成绩信息的系统,因此必须具有一定的保密性,需要特定的人员才可以修改,因此需要设计一个用户登陆的窗口,使具有访问权限的用户才能登录此系统。为了简单化,我们的用户名和用户密码和数据库本身的用户名密码相同。系统的主窗口要能够在用户选中相应操作后,调出相应的窗口来使用户在窗口中完成相应的功能。3.2系统功能需求分析本系统的设计限制了三个权限,管理员,教师,还有学生。系统管理员是权限最大的,可以对教师与学生的根本信息进行管理,其次是教师可以对学生的成绩进行操作,权限最小的就是学生,只能查看自己的根本信息和成绩。总的权限:管理员>教师>学生。系统功能组成开发学生成绩管理系统实现学校的日常管理,需要如下这些功能:用户登入:登入类型有三个,需要进行用户类型校验。账号维护:对密码的修改,可以防止密码的泄露。班级管理:对班级的信息执行增删改查。教师管理:对教师的信息执行增删改查。学生管理:对学生的信息执行增删改查。课程管理:对课程的信息执行增删改查。成绩管理:可以对每个学生的成绩执行增删改查,并排序,之后把页面信息导出到excel表,进行打印。其整个系统的框图如3.1所示用户登入用户登入用户类型校验用户类型校验学生老师管理员学生老师管理员账号维护成绩管理个人信息成绩管理个人信息账号维护成绩管理学生管理课程管理教师管理班级管理账号维护成绩管理个人信息成绩管理个人信息账号维护成绩管理学生管理课程管理教师管理班级管理排序并导出成绩查询执行增删改查执行增删改查执行增删改查排序并导出排序并导出成绩查询执行增删改查执行增删改查执行增删改查排序并导出图3.1系统整体框图系统模块框图〔1〕管理员的权限最大,可以对教师和学生的信息进行操作,可以录入课程和成绩,并实现成绩的排序导出。其框图如3.2所示。账号维护账号维护班级管理班级管理教师管理执行增删改查教师管理执行增删改查课程管理管理员用户课程管理管理员用户学生管理学生管理成绩管理排序并导出成绩管理排序并导出图3.2管理员框图〔2〕教师可以管理自己的个人信息和账号,可以对学生的成绩进行录入并导出。其框图如3.3所示。账号维护账号维护个人信息执行增删改查教师个人信息执行增删改查教师排序并导出成绩管理排序并导出成绩管理图3.3教师框图〔3〕学生可以管理自己的个人信息和账号,只能查看成绩。其框图如3.4所示。账号维护账号维护个人信息执行增删改查学生个人信息执行增删改查学生成绩查询成绩管理成绩查询成绩管理图3.4学生框图4系统详细设计根据学生成绩管理系统的整个架构框图,对每个模块,以及每个模块的子模块进行详细的设计,比方登入界面的用户类型的校验它的流程是怎样的,主页面对应的各模块的增删改查的流程的设计,还有导出功能用到的方法,排序用到的算法等等。4.1系统功能设计〔1〕系统登入验证当用户在浏览器里输入系统运行的地址,系统就会显示登入界面,然后输入用户名,密码,用户类型以及验证码,点击“登入〞按钮,系统对用户输入的信息进行处理,然后登入成功跳转到主界面。如果用户名,密码,用户类型为空时,文本空右边就会显示:“请输入用户名!〞,“请输入密码!〞,“请选择用户类型!〞等相应提示,输错又会提示“用户名和密码错误!〞。登入超时是,系统弹出异常提示页面,登入失败。登入验证流程如图:4.1所示。图4.1系统登入验证流程〔2〕系统账号维护添加账号:当用户进入主界面,左边是管理主菜单,点击系统账号维护里的添加账号,有两个文本框,然后输入用户名和密码,点提交,账号添加成功。访问数据库出错时,就会在页面上提示“请重新输入!〞其流程如图:4.2所示。图4.2系统账号维护流程修改账号:点击修改按钮,在文本框里就会查找出系统原本的账号,然后修改账号和密码点提交,弹出一个小框,提示修改成功。访问数据库出错时,就会在页面上提示“修改账号操作失败!〞其流程如图:4.3所示。图4.3修改账号流程删除账号:点击删除按钮,页面就会弹出一个提示小框并显示:“是否要删除这条记录〞,然后点确定,删除成功。当访问数据库异常,那么系统跳转至错误提示页面,用户点击“返回〞按钮,进入账户一览页面。其流程如图:4.4所示。图4.4删除账号流程账号维护总组件关系如下图Struts2配置Struts2配置映射文件:struts.xml账号初始化ZhaoAccountPage.jsp账号维护列表Index.html账号初始化ZhaoAccountPage.jsp账号维护列表Index.htmlZhaoAccountActionZhaoAccountAction异常管理请求异常管理请求注入组件更新注入组件更新error.jspupdateZhaoAccount.jsperror.jspupdateZhaoAccount.jsp添加ZZhaoAccountServiceaddZhaoAccountPage.jspaddZhaoAccountPage.jsp接口实现DB接口实现DB处理对象处理对象ZhaoAccountServiceImplZhaoAccountServiceImplIHibernateORM注入组件ZhaoAccountDAOImplI注入组件ZhaoAccountDAOImplIZhaoAccountZhaoAccountSpring容器的管理:application.xmlZSpring容器的管理:application.xmlZhaoAccountDAO图4.5账号维护总组件关系学生管理总组件关系如下图:Struts2配置Struts2配置映射文件:struts.xml教师管理列表教师初始化Stu教师管理列表教师初始化StuAccountPage.jspIndex.htmlStuAccountActionStuAccountAction管理请求异常管理请求异常更新更新注入组件updateStuAccount.jsp添加注入组件updateStuAccount.jsp添加error.jspStuAccountServiceStuAccountService处理对象addStu处理对象addStuAccountPage.jspDB接口实现DB接口实现StuAccountDAOImplIStuAccountDAOImplIHibernateORMStuAccountServiceImplIStuAccountServiceImplI注入组件注入组件StuAccountDAOSpring容器的管理:application.xmlStuAccountStuAccountDAOSpring容器的管理:application.xmlStuAccount图4.6学生管理总组件关系〔2〕成绩的排名在成绩排名中用到了排序的算法,在Java中排序算法其实有12种左右,其中最常用的也就三种:冒泡排序,快速排序,选择排序。冒泡排序:其实从字面上就可以理解,冒泡就是气泡浮上来了,也就是说轻的气泡一定要上浮,重的气泡要在轻的气泡的下面,这样一来,假设说有一数组a[1…n],根据冒泡这一原理,两两比较,轻的在上,重的在下,反复进行比较,直到轻的都在上面为止。示列如表:表4.7冒泡法演示8880918576原来的数组8880918576第一次比较演示(88>76)交换(80>76)交换(91>76)交换(85>76)交换7688809185第二次比较演示(88>80)交换(80<85)不交换(91>85)交换7680888591第三次比较演示(88>85)交换(85<91)不交换7680858891第四次比较演示(85<91)不交换7680858891最终结果选择排序:它就是进行每一次等待排序的数组元素中挑出最min或最max的那一个,按照顺序放在已排好元素的最前或最后。示列如表:表4.8选择排序演示8880918576原来的数组8880918576第一次比较演示在这五个数中选出最min=767680918588第二次比较演示在这四个数中选出最min=807680918588第三次比较演示在三个数中选出最min=857680859188第四次比较演示最min=887680858891最终结果但是本系统采用ArrayList排序,它会自动调用一个内置的方法来实现降序或升序进行对成绩排序,然后通过ArrayList遍历输出显示到页面。〔3〕成绩导出到excel表成绩的导出方便了老师打印成绩排名表,大大提高了老师的工作效率。怎么样实现这个导出功能:导出功能导出的文件默认是excel表格式,先创立一个输出流对象,通过一个方法设定好表的名字,然后设定好导出表的字段。4.2数据库的设计数据库是数据存储的一个可以管理的仓库,是一个可以存储数据且存储内存庞大的仓库,数据不单单是指我们平时所说的12345这些数字,它也可以是图片,表格,视屏,音频以及文件。对于学生成绩管理系统数据库是非常重要的,没有了数据库,学生成绩管理系统就相当于没有了内脏的一个驱壳,根本就失去了它原本的作用。数据库表结构设计数据库是数据存储的一个可以管理的仓库,因为可以管理,所以要怎样管理数据库才能使数据库在平安性上到达指标,数据库的平安性实际上就是对数据库加密,加密方式其实有两种,一种是数据库本身加密,就是当你翻开数据库时是需要输入账号和密码的,这是第一层加密,这一层加密其实是很容易可以破解的。第二种加密就是代码的加密,这种加密方式平安性能高,不容易被破解。其次就是数据表结构的设计,表结构的合理性直接关系到数据操作的效率,表结构的合理性优化,可以提高数据库运行效率,也可以保证学生成绩管理系统的对数据的一致性和完整性。设计数据库时,要确定所要存储这些信息的字段,字段之间有什么联系,从而确定主键和外键,然后设计需要建几张表。每张表之间的相互关系是怎样的,尽量将表结构优化到最正确。(1)下面是数据表结构的设计,总共设计6张表:管理员表〔管理员id,用户名,密码〕班级表〔班级_id,班级_name,年级,教师_id〕教师表〔教师_id,教师_no,教师_name,年龄,用户名,密码,联系方式〕学生表〔学生_id,学号,学生_name,性别,年龄,用户名,密码,联系方式〕课程表〔课程_id,课程_no,课程_name,课程_jiangci,课程_weekly,学分〕成绩表〔学生_id,课程_id,班级_id,成绩〕〔2〕数据库表实例设计本系统运用的数据库是MySQL数据库,MySQL数据库是一个小型的数据库,体积小,占用资源小,用于学生的研究是最正确的选择。接下来对本系统的这六张表进行展开分析。管理员表有3个字段,管理员id作为主键,且不能为空,其他两个字段为用户名与密码,也不能为空。具体的结构如表4.9所示。表4.9管理员表字段名类型长度可否为null主键外键userIdint10否是否userNamevarchar20否否否userPasswordvarchar20否否否班级表有4个字段,班级id作为主键,教师id作为外键,其它两个字段为班级名称和年级。具体的结构如表4-10所示。表4.10班级信息表字段名类型长度可否为null主键外键classIdint10否是否classNamevarchar20是否否nianJiint10是否否teacherIdint10是否是教师表有8个字段,教师id为主键,且不可为空,其余的字段都可以为空,具体的结构如表4.11所示。表4.11教师信息表字段名类型长度可否为null主键外键teacherIdint10否是否teaNumvarchar10是否teaNamevarchar20sexchar1ageint3teaUservarchar20teaPWvarchar20telephoneint20学生表有8个字段,学生id作为主键,且不能为空,其余字段可以为空,其具体结构如表4.12所示。表4.12学生信息表字段名类型长度可否为null主键外键studentIdint10否是否stuNumvarchar20是否stuNamevarchar20sexchar1ageint3stuUservarchar20stuPWvarchar20telephoneint20课程表有6个字段,课程id作为主键,且不能为空,其余字段可以为空,其具体结构如表4.13所示。表4.13课程信息表字段名类型长度可否为null主键外键courseIdint10否是否courseNumvarchar20是否courseNamevarchar20courseJciint2courseZciint2creditint2成绩表有4个字段,学生id,课程id,班级id三个字段作为主键,且不能为空,成绩字段也不能为空。其具体结构如表4.14所示。表4.14成绩表字段名类型长度可否为null主键外键stuIdint10否是否courseIdint10classIdint10gradeint3以上就是数据库表的设计,它们每张表之间都有一定的表关联,也就是关系数据库模型,根据表里的字段的相互关系,然后访问数据库。5系统功能的实现与测试本章主要讲解系统的登入权限管理的代码流程的分析,以及成绩导出功能的详解,其它模块的流程分析已经在第四章详细讲过了。其次,当学生成绩管理系统开发完成后,测试是必不可少的关键的一个步骤,它可以检测出系统各功能是否符合规定的要求。测试分为两种,一种是黑盒测试,主要对系统的功能测试,是否能够正常运行。还有一种是白盒测试,主要是对代码的测试,通过调用debug对相应的case进行运行测试,简单的说就调一遍代码的运行流程,看看每个逻辑以及参数值是否正确。5.1SSH框架的搭建当我们写程序之前,一定要先搭建好整个系统的框架,很显然开发学生管理系统引入了SSH框架,所以我们要先把整个配置流程给做好,其次就是在这框架里写代码,这样开发效率就大大提高了。〔1〕Hibrenate框架搭建Hibrenate的作用是实现实体类与数据库表的映射关系。这关系的的配置文件是*.hbm.xml。其字段的所有信息都存储在t_*信息表里。然后还要创立Javabeen,对been的属性实现set和get方法。之后构建数据库访问类,其命名为:*DAO.java,并继承HibernateDaoSupport这个类。*.hbm.xml配置信息如下:<hibernate-mapping><classname="com.model.*"table="t_*"><idname="*Id"type=""><columnname="*_id"/><generatorclass=""/></id>…………..</class></hibernate-mapping>〔2〕Spring框架的搭建Spring框架在这学生成绩管理系统起数据库连接池的作用,数据库的配置以及访问数据库的用户名和密码也是写在这个配置中,本系统的数据库用户名为:root,密码:123456。其中sessionFactory是数据库连接池,连接池里可以获取许多数据库连接,获取到的连接就是这个session,session代表一个数据库连接,Factory相当于session的工厂,并且Factory可以创立很多的session。其次Spring的还有个作用就是类的加载,整个业务逻辑中就不需要new一个对象来间接访问,直接通过Spring自身的作用引用类就行了,并在该类中实现其属性的set和get方法。配置文件代码如下:<beanid="*DAO"class="com.dao.*DAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean>〔3〕Struts2框架的搭建Struts框架其实就是实现页面跳转的一个控制器。Jsp页面提交一个请求,通过form表单的action的名称找到Struts配置文件的相对应的action名称,然后在通过class类的配置路径跳到*Action.java,调用里面的方法执行业务逻辑,成功returnsucceed,跳到成功的界面,returnerror,跳到显示错误的界面。5.2功能的实现本章主要对学生成绩管理系统重要的功能进行代码分析。〔1〕登入功能每个用户要进入本系统进行操作,都要输入用户名和密码,还要选择用户类型。其界面实现如图5.1所示。图5.1用户登入界面当页面的文本框输入用户名、密码以及用户类型,点击登入按钮,之后就会触发控件onclick=check(),进入functioncheck()这个方法,用if语句做判断,为空时就会提示“请输入用户名〞和“请输入密码〞,returnfalse。输入有值时,通过loginService这个类调用其login()方法,将用户名、密码和用户类型传给这个loginService类,再通过login()方法里的if判断语句,进行用户类型的判断:当userType=1时,用户类型为管理员;当userType=2时,用户类型为教师;当userType=3时,用户类型为学生。(3)账号维护功能用户通过账号、密码和用户类型进入主界面,主界面的左边有六个模块:系统Manage,班级Manage,教师Manage,学生Manage,课程Manage,成绩Manage。其功能界面如图5.1所示。图5.1管理员功能主界面图eq\o\ac(○,1)账户添加:在jsp页面的文本框里输入用户名和密码点提交,通过formaction=adminAdd.action这个标签,找到Struts配置文件相应的action的name,然后通过class路径=adminAction,method=adminAdd,找到adminAction这个类并调用adminAdd这个方法实现账户的添加,并返回成功提示:操作成功。其功能界面如图5.2所示。图5.2账户添加功能界面图eq\o\ac(○,2)账户删除:当在页面上点击删除c账户时,就会触发onclick=adminDelete控件,跳转到functionadminDelete这个方法,通过property标签从值栈里取出userId,把这个userId传给functionadminDelete这个方法,根据Struts的配置文件然后跳转到adminAction这个类,调用adminDelete方法,根据从页面传过来的userId进行删除,并返回提示:删除成功!。其功能界面如图5.3所示。图5.3账户删除功能界面图eq\o\ac(○,3)修改密码功能在jsp界面的文本框里首先需要输入原密码:222222,然后输入新密码:123456,再确认密码,点击“修改〞按钮。触发onclick=check()控件,调用functioncheck()方法,通过if语句判断:原密码是否正确?新密码是否为空?确认密码是否与新密码一致?然后调用loginService类,实现adminPwEdit方法,将新密码传进这个方法进行业务逻辑处理,返回成功并提示:修改成功。其功能界面如图5.4所示。图5.4修改账户功能界面图〔2〕学生信息管理模块功能学生信息管理主要是对每个学生的信息执行添加,修改,删除和查找的操作。其中添加、修改和删除与上一小节的账号的增删改类似。这里主要分析学生的查找功能,可以按照学生的学号进行精确查找。当在jsp页面的查找文本框里输入:10313102这个学号,点查询,通过formaction=search.action表单,根据Struts配置文件找到对应的action的name=search,然后解析class=stuAction,method=search,找到stuAction类,调用search方法,利用request.getParameter这个方法取得学号:10313102,然后在list集合里取得这个学号的所用信息,并显示到页面上。其功能界面如图5.5所示。图5.5学生精确查找界面图〔3〕导出功能导出功能是以excel格式将数据库里的数据导出到本地,点击生成报表,就会出现一个下载框,点下载,生成了一张成绩表。其功能界面如图5.2所示。图5.6导出功能界面图当点击生成报表,它就会触发onlick=createTable这个控件,进到functioncreateTable()这个方法,通过window.location.href=<%=path%>/createTable.action,找到struts配置文件的路径:<actionname=createTableclass=rankingActionmethod=createTable,跳转到rankingAction这个类,调用createTable这个方法进行处理。5.3系统的测试本章主要对学生成绩管理系统的功能进行测试,即黑盒测试。通过对页面的操作,测试每个功能是否能正常运行。〔1〕对每个输入框的测试,主要是输一些临界值和一些特殊的字符,看它能否添加成功,还是会显示出错提示?如果能添加成功,说明拦截器设计有问题,没有把这些特殊的字符给过滤掉。如果有了错误的提示,说明运行成功了。〔2〕对每个模块的查询功能进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品安全管理体系-深度研究
- 顶点优化场景捕捉-深度研究
- 人行天桥钢墩柱施工方案
- 挂篮施工安全教育培训
- 2025-2030中国健康体检行业营销现状及未来发展模式策略研究报告
- 2025年全国汽车知识技能大赛理论知识竞赛题库及答案(共200题)
- 2025-2030中国交通节能减排行业市场发展分析及发展前景与投融资研究报告
- 2025-2030中国亚马逊石行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国互联网+印刷行业深度分析及发展战略研究咨询报告
- 2025-2030中国书法绘画用品行业市场现状供需分析及投资评估规划分析研究报告
- 12K101-1 轴流通风机安装
- 新《铁路劳动安全》考试题库500题(含答案)
- 世界现代设计简史
- GA/T 1275-2015石油储罐火灾扑救行动指南
- 2023年杭州市余杭区事业单位招聘笔试题库及答案解析
- 医患沟通技巧讲义课件
- 保洁员培训考核试卷(答案)
- 《企业招聘研究文献综述(3500字)》
- 高血压病例分析-课件
- 县级危重孕产妇救治中心评审标准(产科)
- 2022特纳综合征中国专家共识(全文)
评论
0/150
提交评论