• 500.52 KB
  • 2022-05-26 19:15:42 发布

襄职学生信息管理——操作与班级管理实现毕业设计

  • 28页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
学生信息管理系统襄职教改专业28/28学生信息管理系统专业班级:计算机应用技术.NET1105学生:XXX学号:XXX指导教师:XXX教学单位:电子信息工程学院毕业届:2013届学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28目录ABSTRACT41项目背景51.1问题的提出51.2现状71.3建设的必要性和意义72建设目标72.1业务目标72.2应用范围83功能描述83.1术语和缩写83.2负责实现部分83.3开发工具与技术支持93.3.1myEclipse93.3.2mysql93.3.3juqeryeasyui103.3.4MVC设计模式113.2操作及权限操作管理123.1.1操作管理133.1.6.1功能列表133.1.6.2操作列表133.1.6.3新增操作133.1.6.4删除操作143.1.6.5修改操作143.1.6.6数据库表143.1.6.7部分代码143.1.2权限操作管理163.1.9.1权限操作管理163.1.9.2数据库表163.3班级管理173.2.1班级管理173.2.1.1功能列表173.2.1.2班级列表183.2.1.3增加班级183.2.1.4删除班级193.2.1.5修改班级193.2.1.6班级归档193.2.1.7流程图203.2.1.8数据库设计203.2.1.9部分代码213.4学生及班级归档管理23学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/283.3.1班级归档管理233.3.2.1功能列表233.3.2.2班级列表243.3.2.3流程图253.3.2.4数据库设计253.3.2.5部分代码26总结28摘要Internet的快速发展,使互联网已成为人们快速获取、发布和传递信息的重要渠道,显然它已成为社会生活的一部分。因特网给信息交流带来了巨大影响,网络信息化进入一个崭新的阶段。而根据统计,我国年都有近120多万名高校毕业生毕业,高峰时期将近160万。因而对毕业生信息的管理要求也越来越高。毕业生信息管理系统就是基于这样一种现实提出的一种利用互联网络的快速、高效、方便、快捷等特点来帮助高校管理人员更好更快的完成大批量毕业生信息的管理任务的管理系统网站。网站中用户分不同角色登录,登录后用户可以根据自己的权限和需要进行各自不同的操作。本网站提供了毕业生、教师以及管理员三种角色的权限管理功能。毕业生信息管理系统的网站的设计不仅仅是为了满足高校对大批量毕业生信息管理的需要,更是适应当今信息爆炸时代的信息高效快速管理的需要。也是高校和毕业生等各方受益于科学技术的一个典型。随着科学技术,具体的说是网络技术的高速发展,利用网络特别是网站的形式来满足办公生活等方面的需求已成为必然的趋势。而毕业生信息管理系统网站的出现也是适应这种趋势的一种产物。网站采用B/S体系结构,服务器端采用MicrosoftWindows2000作为网络操作系统,Web服务器软件采用ApacheTomcat6.0服务器。客户端软件,包括单机操作系统和浏览器软件,分别选用Windows2000和InternetExplorer,数据库系统采用SQLServer数据库系统。学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28在编程中给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对做项目的过程中遇到的问题和解决方案进行了详细的讨论,该系统的增,删,改,查,导入,导出等功能性能良好。用户在登录后可以根据自己所拥有的权限进行相应的操作,并且操作成功或失败都有相应的提示,设计的非常人性化,很符合现在的发展需求。关键词学生;信息管理;B/S;Jquery:JSPABSTRACTWiththecontinuousexpansionofschoolsize,sharpincreaseinthenumberofstudents,doublingallkindsofinformationaboutthestudent,Facedwithsuchahugeamountofinformationanddevelopstudentinformationmanagementsystemtoimprovethestudents"managementofefficiencybecameinevitable.Throughthesystem,youcandothestandardizedmanagement,scientificstatisticsandQuickSearch,reducingthemanagementoftheworkload.Thisdocumentexplainsthestudentinformationmanagementsystemofthemaintask,andonthedevelopmentofthesystem,inthekeytechnologies,suchasusingB/Sstructure,useJSPprogramming,useSQLServer2008establishmentofthedatabase,theHTML,JavaScriptJquery,suchprogrammingtechnology.ThesystemisusingB/SmodeonthedevelopmentofthesystemoftheUserPermissionstherearetwo:thesystemadministratorsandteachers,differentuserlogin,astherightstodisplayadifferentmenu.Thesystemmainlyconsistsofabasicusermanagementandaccessmanagement,aswellasstudentsoftheinformationonthefeatures,suchasmodules,andthisdocumentdescribesthefunctionalityofthemodulecontainsthefunctionalityofthemodule,theUserManagementmoduleisprimarilytouserinformationontheimportandmodify;rightsmanagementmoduleisprimarilyforusersoftherightsofthePlacingandadditionalmodificationsto;studentinformationinthemain,thestudentsoftheoperation,includingamendmentstoandimportexportstudentsExceltabletothelocal,andsoon.Keywords:StudentInformationManagement,B/S,JSP,Script,JquerySQLServer2008.学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/281项目背景1.1问题的提出在襄职教改专业的发展,学生越来越多,由原来的一百人到即将突破千人,教改专业已经成为襄职较大的一个专业,对于学生信息的管理及学生成绩的管理目前的纸质已经无法满足当前信息的查询。1.1项目背景学生学籍管理系统是一个教育单位信息化管理中不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学籍管理系统应该能够为用户(即教师和管理者)提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式来管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低、数据处理快速等。这些优点能够极大地提高了学生学籍信息管理的效率,也是学生学籍管理科学化、正规化,与世界接轨的重要条件。因此,开发一套学生学籍管理软件成为很有必要的事情。1.2现有系统存在问题的分析在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有只有快准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。1.3系统开发目的与目标1.3.1系统开发目的:学生信息管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生信息管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生信息管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。运用学生信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生信息管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生信息管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。1.3.2系统开发的目标:本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:a.系统应具有实用性、可靠性和适用性,同时注意到先进性。b.对各个数据库进行动态管理,防止混乱。c.能够按照用户选择的不同的条件进行简单查询和复合查询。d.能够对查询结果进行分类汇总,实现报表打印。e.注意数据的安全性,具有数据备份和恢复的功能。f.方便用户的操作,尽量减少用户的操作。1.4可行性研究21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。1.4.1设计方案研究分析方案一:B/S模式(Browser/Server,浏览器/服务器)B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript„)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。方案二:C/S(Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。C/S模式简单地讲就是基于企业内部网络的应用系统。C/S模式软件开发广泛应用于现在的局域网中,它以其灵活的设计方法,丰富的客户表现形式,快速的数据交换能力受到广大用户的的欢迎.但是他在广域网上的能力受到了限制,通过结合VPN技术以及在广域网上C/S模式软件开发的特点和一些注意事项进行剖析,使C/S模式开发应用到广域网上。1.4.2方案的比较基于C/S的技术存在以下三大致命的弱点:(1)数据库的集中管理,造成局部工作效率低下。(2)应用逻辑封装在C端的客户机上,系统扩充性低,不易维护和修改。(3)应用逻辑的简单封装,使其对应用服务器性能要求过高,最终导致系统效率无法充分发挥。而基于Web的计算机技术、B/S(Browser/Server)结构和用户界面统一机制来作用户访问应用服务器,其中最重要的就是数据库服务器。这样采用B/S(Browser/Server)结构,在软件开发工作中主要集中于服务器端的应用程序,可以节约对客户端的应用程序进行开发所花费的时间和麻烦。1.4.3方案的选择学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28在设计本系统时,考虑到C/S作为一种需要客户端的架构,用户要求下载安客户端,对于便利用户操作不利。而B/S架构则允许用户直接通过浏览器访问登陆页面,通过验证后进入系统,完成各项操作。对用户的要求低,非常方便,快捷,同时无客户端的设计大大减少了系统维护与系统升级的成本。综上所述,本系统选择B/S体系结构。1.1现状当前的学生信息,都以纸质形式+电子档管理,每个班级的信息只有班主任或者教务知道,要查找对应的学生信息,必须要到对应的班主任处查询。学生信息的表格都基本相同,无法统一管理,学生信息成绩的查询录入都要手动处理。1.2建设的必要性和意义本期项目建设具备如下的建设意义:u实现学生信息电子化管理u实现学生信息的录入,导入,导出u实现学生成绩的电子化管理u完成毕业学生信息的存档1建设目标2.1业务目标本次项目主要实现以下目标:l完成基本的用户管理及权限管理n用户信息的录入n用户信息的导入n用户信息的修改n用户的角色及权限的分配l完成学生信息的录入:n完成入学学生信息录入学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28n完成学生信息的导入n完成学生信息的修改n完成学生阶段升级功能2.1应用范围本项目使用于班主任,教务,教员以及其他和本系统相关的人员。1功能描述3.1术语和缩写<此处填写本文档中所特有的术语和缩写,常用的术语和缩写统一编写在一个规范文档中>术语和缩写解释备注3.2负责实现部分1.操作管理每个页面都有很多个操作,比如:增加,修改,删除……,但是不同的用户有不同的角色,不同的角色又有不同的权限,不同的权限又有不同的操作,当用户登录后会进行读取出每个页面上的操作,同样管理员也应该有为每个权限分配操作,修改,删除的功能,这时候就需要有一个单独的页面来实现这些操作,用户点击菜单中的操作管理,进入操作列表。上方有增加,查询按钮。下面显示操作列表。菜单列表中操作格包含修改,删除按钮。点击修改按钮,进入修改操作。点击删除按钮,进入删除操作2.权限操作管理每个权限都有很多个操作,同样每个操作也可能为多个权限使用,这时候权限和操作就存在一个多对多的关系,就需要一个界面来维护它们之间的关系,当选中权限后,会显示出对应的操作,如果该权限有的操作就会被勾选中,也可以取消勾选或者选择别的操作,学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28权限操作管理主要维护权限操作关系,每个页面上的按钮都有对应的操作信息,每增加一个对应的按钮,需要增加对应的操作权限。用户点击权限操作管理时,弹出权限操作管理页面,默认的需要增加对应的权限。删除对应的权限或者操作时,删除对应的关系。1.班级管理当新学年开始后就会产生很多新班级,这时候就需要对这些班级进行添加,修改,删除,或者查询,用户点击系统管理菜单,选择班级管理,进入班级管理页面,先展示班级列表页面,在班级列表页面,上面显示查询条件,查询按钮,增加按钮。下面展示班级列表,在每行的班级列表中展示修改,删除,详情,归档按钮。点击修改按钮弹出修改窗体,进入修改流程。点击删除按钮,提示班级是否删除,进入删除流程。2.班级及学生归档管理毕业后的班级还存在,会增加查询的负担,但是如果删除了又会不利于存档,因此需要进行班级归档,归档后的班级只有在归档班级里面才能查询,并且只能查询,归档时要先把归档班级下的所有学生都进行归档,才能对班级进行归档,当点击归档按钮,要提示毕业班级才能归档,选择是就将班级和该班级下面的学生信息全部归档,说明:归档后的班级和学生信息只在归档里面存在,只能查询,当前表的数据将删除,所以提示一定要清楚,不能有误操作。3.3开发工具与技术支持3.3.1myEclipseMyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate,MyEclipse10发布了,该版本使用最高级的桌面和Web开发技术,包括HTML5和JavaEE6,支持JPA2.0、JSF2.0、Eclipselink2.1以及OpenJPA2.0.而对IBMWebSphere用户来说,MyEclipseBlue支持最新版本的WebSpherePortalServer7.0、WebSphere8以及以前的版本,无缝的支持IBMDB2数据库。MyEclipse10对检索功能以及错误查询功能更加强大,包括对js文件的错误查询。就目前本人的体验来说,最大的变化莫过于软件安装界面,推荐使用link方法进行插件安装,方便快捷学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/283.3.2mysqlMySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“组合[2]。3.3.3juqeryeasyuijQueryEasyUI是一组基于jQuery的UI插件集合,而jQueryEasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。jQueryEasyUI为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。jQueryEasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的。一些功能也足够开发者使用,相对于extjs更轻量。jQueryEasyUI有一下特点:1、基于jquery用户界面插件的集合2、为一些当前用于交互的js应用提供必要的功能3、使用EasyUI你不需要写很多的javascript代码,通常只需要写HTML标记来定义用户界面即可4、支持HTML55、开发产品时可节省时间和资源6、简单,但很强大学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/283.3.4MVC设计模式该项目采用mvc设计模式,MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。1、模型(Model)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.2、视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。3、控制器(controller)控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSPModel2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能JSPModel1与JSPModel2SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意JSPModel1JSPModel2model2容易使系统出现多个Controller,并且对页面导航的处理比较复杂有些人觉得model2仍不够好,于是CraigR.McClanahan2000年5月提交了一个WEBframework给JavaCommunity.这就是后来的Struts.2001年7月,Struts1.0,正式发布。该项目也成为了ApacheJakarta的子项目之一Struts质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/283.3.4.1Struts2为什么要使用struts2?因为:1.Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。2.使用OGNL进行参数传递。3.强大的拦截器4.易于测试5.易于扩展的插件机制6.模块化7.全局结果与声明式异常。3.3.4.2Hibernate为什么要使用Hibernate?因为:第一:数据库连接不需要我们自己来管理,如打开和关闭(优点吧)第二:Hibernate对原来的SQL语句进行了封装,以前写很多SQL语句,现在你在保存的时候直接可以用SAVE(对象)来实现了。(节省代码吧)第三:原来是对表操作,现在是对对象操作,想法上是不是更好呢?都是对象3.3.4.3Spring1.控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。2.依赖注入:组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。3.事务的处理:Spring容器集成了TransactionTemplate,她封装了所有对事务处理的功能,包括异常时事务回滚,操作成功时数据提交等复杂业务功能3.1操作及权限操作管理用户及权限管理功能只针对管理员开放,管理员拥有用户管理的所有功能,同时拥有本系统的所有功能的权限。本系统的权限管理是基于RBAC模式,就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,是多对多的关系。学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/283.1.1操作管理3.1.6.1功能列表3.1.6.2操作列表用户点击菜单中的操作管理,进入操作列表。上方有增加,查询按钮。下面显示操作列表。菜单列表中操作格包含修改,删除按钮。点击修改按钮,进入修改操作。点击删除按钮,进入删除操作3.1.6.3新增操作学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28用户点击操作列表上面的增加按钮弹出增加菜单页面。用户填写操作信息,点击增加按钮,验证用户输入信息是否完整,验证通过后执行增加操作,根据操作结果提示用户3.1.6.1删除操作用户点击操作列表上的删除按钮,弹出提示框,用户确认后执行删除操作,根据删除结果提示用户。3.1.6.2修改操作用户点击操作列表上的修改按钮,弹出修改页面,用户点击修改按钮,验证用户输入信息是否完整,验证通过后,执行修改操作,根据操作结果提示用户。3.1.6.3数据库表表名tbl_operation  字段名数据类型可否为空描述operationIdintN操作Id,自增,主键operationNamevarchar(20)N操作名称operationvarchar(20)N动作3.1.6.7部分代码/***查询所有的操作*@return*@throwsIOException*/publicStringfindAllOperation()throwsIOException{//Operationentity=newOperation();/*entity.setOperation("aaa");entity.setOperationName("bbb");operationService.save(entity);*/System.out.println("page的值:"+page);System.out.println("rows:"+rows);Listoperations=null;inttotal=0;Stringhql="fromOperation";学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28/***判断是否条件查询*/if(seachName!=null&&!"all".equals(states)){//按编号查找if(states.equals("a")){hql+="whereoperationId";total=operationService.getTotalCount("whereoperationIdlike"%"+seachName+"%"");}//按名称查找if(states.equals("b")){hql+="whereoperationName";total=operationService.getTotalCount("whereoperationNamelike"%"+seachName+"%"");}//按动作查找if(states.equals("c")){hql+="whereoperation";total=operationService.getTotalCount("whereoperationlike"%"+seachName+"%"");}System.out.println("seachNamenotisnull......................值魏:"+seachName+"states:"+states);hql+="like"%"+seachName+"%"";System.out.println("total的大小为:"+total);operations=operationService.find(rows,page-1,hql);}else{total=operationService.getTotalCount("where1=1");System.out.println("total的大小魏:"+total);operations=operationService.find(rows,page-1,hql);}System.out.println("operations的大小为:"+operations.size());JSONObjectjsonObject=newJSONObject();//过滤关联JSONArrayja=newJSONArray();JsonConfigjsonConfig=newJsonConfig();学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28jsonConfig.setIgnoreDefaultExcludes(false);jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);ja=JSONArray.fromObject(operations,jsonConfig);jsonObject.put("rows",ja);jsonObject.put("total",total);httpServletResponse.getWriter().write(jsonObject.toString());returnnull;}3.1.1权限操作管理3.1.9.1权限操作管理权限操作管理主要维护权限操作关系,每个页面上的按钮都有对应的操作信息,每增加一个对应的按钮,需要增加对应的操作权限。用户点击权限操作管理时,弹出权限操作管理页面,默认的需要增加对应的权限。删除对应的权限或者操作时,删除对应的关系。3.1.9.2数据库表表名tbl_permission_operating  学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28字段名数据类型可否为空描述permissionIdIntN权限id,外键operationIdIntN菜单id,外键3.1班级管理3.2.1班级管理班级管理功能只针对管理员开放,管理员拥有班级管理的所有功能。3.2.1.1功能列表学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/283.2.1.1班级列表用户点击系统管理菜单,选择班级管理,进入班级管理页面,先展示班级列表页面,在班级列表页面,上面显示查询条件,查询按钮,增加按钮。下面展示班级列表,在每行的班级列表中展示修改,删除,详情,归档按钮。点击修改按钮弹出修改窗体,进入修改流程。点击删除按钮,提示班级是否删除,进入删除流程,点击归档按钮,要提示毕业班级才能归档,选择是就将班级和该班级下面的学生信息全部归档,说明:归档后的班级和学生信息只在归档里面存在,只能查询,当前表的数据将删除,所以提示一定要清楚,不能有误操作。3.2.1.2增加班级用户点击班级列表页面的增加按钮,弹出增加页面。在增加页面输完班级编号时,验证班级编号是否存在,如若存在,提示班级已经存在。输入其他必填信息并做验证,验证通过点击保存按钮,保存班级信息到班级表。保存成功后关闭增加页面,刷新班级列表。保存失败,提示班级保存失败。3.2.1.3删除班级学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28用户点击班级列表页面的删除按钮,提示班级是否删除,用户点击是之后执行删除操作,验证班级是否存在学生,如存在就提示班级下面有学生不能删除该班级,如没有操作完成提示用户操作结果。3.2.1.1修改班级用户点击班级列表页面的修改按钮,弹出修改页面。班级编号不能修改,点击修改按钮做对应的验证,验证通过后进行修改,修改完成提示用户操作结果。3.2.1.2班级归档用户点击班级列表页面的归档按钮,弹出提示毕业班级才能归档信息。提示归档后的班级和学生信息只在归档里面存在,只能查询,当前表的数据将删除,归档完成提示用户操作结果,说明:归档后的班级和学生信息只在归档里面存在,只能查询,当前表的数据将删除,所以提示一定要清楚,不能有误操作。学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/283.2.1.1流程图3.2.1.2数据库设计表名tbl_classes  班级表字段名数据类型是否为空描述idintN自动增长,主键classNOvarchar(20)N班级编号classNamevarchar(20)N班级名称userIDintN班主任学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28teacherIDintN代课老师gradevarchar(10)N年级,G1,G2,G3directionvarchar(10)N专业方向,SCCE,SCMEback1varchar(20)Y备用字段1back2varchar(20)Y备用字段2back3varchar(20)Y备用字段33.2.1.9部分代码//根据条件查找归档班级publicStringfindClasses()throwsIOException{System.out.println("进入action");inttotal=0;Listclassess=null;Stringhql="fromClasses";Stringhq="where1=1";if(seachName!=null){if(states.equals("headTeacher")||states.equals("knowTeacher")){Listusers=this.findUser();if(users.size()>0){if(states.equals("headTeacher")){//如果只查询出一个符合条件的数据if(users.size()==1){intid=users.get(0).getUserId();hq+="anduserId="+id;;}else{//第一个符合条件的数据hq+="anduserId="+users.get(0).getUserId();for(inti=1;istudents=(List)classes.getStudent();Liststudents=newArrayList();System.out.println("该班级里有学生:"+classes.getStudent().size());if(classes.getStudent().size()>0){System.out.println("该班级里有学生:"+classes.getStudent().size());Iteratoriterator=classes.getStudent().iterator();while(iterator.hasNext()){Students=(Student)iterator.next();if(s==null){System.out.println("sisnull************");}if(students==null){System.out.println("studnetsisnull***********");}students.add(s);学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28}System.out.println("list中加入学生数:"+students.size());//删除学生for(Studentstu:students){//删除学生之前先把学生加入studentOld表System.out.println("********************进入for");StudentOldso=newStudentOld();so.setAddress(stu.getAddress());so.setBack1(stu.getBack1());so.setBack2(stu.getBack2());so.setBack3(stu.getBack3());so.setCertificate(stu.getCertificate());so.setEducation(stu.getEducation());so.setHomePhone(stu.getHomePhone());so.setIdCard(stu.getIdCard());so.setName(stu.getName());so.setNameSpell(stu.getNameSpell());//根据classes中的ID找到classesold对象so.setNowClass(classesOld);so.setOldClass(null);so.setPhone(stu.getPhone());so.setPostcode(stu.getPostcode());so.setRemark(stu.getRemark());so.setSchoolTag(stu.getSchoolTag());so.setSex(Sex.Female);so.setState(stu.getState());so.setStuNo(stu.getStuNo());so.setWorkAddress(stu.getWorkAddress());so.setWorkState(stu.getWorkState());so.setWorkType(stu.getWorkType());System.out.println("**************执行前");try{studentOldService.save(so);studentService.delete(stu.getStuId());}catch(Exceptione){System.out.println("加入有异常*********************");e.printStackTrace();}System.out.println("执行后&&&&&&&&&&&&&&&&&&&&&");}}//删除班级classesService.delete(Integer.parseInt(classID));httpServletResponse.getWriter().write("1");学生信息管理系统襄职教改专业28/28 学生信息管理系统襄职教改专业28/28}总结在项目开发的一月里,我受到了指导老师细心指导,老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高.借此我特提出感谢.同时我还感谢母校的老师,谢谢他们为本系统提供的帮助.让我能够顺利地完成本系统的开发.也感谢那些对我提供帮助的同学,没有他们就不会有现在的系统.学生信息管理系统襄职教改专业28/28

最近下载