轻量级JAVA-EE在教材管理系统开发的应用研究_第1页
轻量级JAVA-EE在教材管理系统开发的应用研究_第2页
轻量级JAVA-EE在教材管理系统开发的应用研究_第3页
轻量级JAVA-EE在教材管理系统开发的应用研究_第4页
轻量级JAVA-EE在教材管理系统开发的应用研究_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、轻量级JAVAEE在教材管理系统开发的应用研究内容摘要本系统的设计是基于Java EE的B/S模式的管理信息系统,分为前台设计和后台设计。在后台设计中,采用了strut2.1+spring2。5+hibernate3.2的三层框架。在前台设计中,采用了ExtJs4。1的客户端技术,使用了Ext自4。0版本之后最新的MVC框架,使前后台的MVC框架互相呼应,层次清晰,使代码彻底地面向对象。在实现的过程中,使用UML进行需求分析、系统建模,其中根据了用例图划分模块,根据类图创建数据库,根据时序图编写程序接口,根据活动图编写程序实现。后台的三层框架技术已经是一个成熟的框架,效率高并且出错率小,前台的

2、ExtJs的MVC模式是一个新技术,还存在一些漏洞.【关键词】Java EE;Microsoft SQL Server2005; ExtJs4.1;管理信息系统; 目录 TOC o 1-2” h z u HYPERLINK l ”_Toc353801187” 引言 PAGEREF _Toc353801187 h 1 HYPERLINK l _Toc353801188 1。 任务需求 PAGEREF _Toc353801188 h 2 HYPERLINK l ”_Toc353801189 1。1任务概述 PAGEREF _Toc353801189 h 2 HYPERLINK l ”_Toc353

3、801190 1。2 可行性分析 PAGEREF _Toc353801190 h 2 HYPERLINK l _Toc353801191 1.3项目开发进度图 PAGEREF _Toc353801191 h 3 HYPERLINK l _Toc353801192” 2教材管理系统简介 PAGEREF _Toc353801192 h 4 HYPERLINK l ”_Toc353801193 2.1 自动化教材管理的涵义 PAGEREF _Toc353801193 h 4 HYPERLINK l ”_Toc353801194” 2。2 自动化教材管理与传统教材管理的区别 PAGEREF _Toc3

4、53801194 h 4 HYPERLINK l ”_Toc353801195 2。3自动化教材管理在高职高专教学中的应用策略 PAGEREF _Toc353801195 h 4 HYPERLINK l ”_Toc353801196” 3教材管理系统的功能设计 PAGEREF _Toc353801196 h 5 HYPERLINK l ”_Toc353801197” 3.1 概要设计 PAGEREF _Toc353801197 h 5 HYPERLINK l ”_Toc353801198” 3。2专业术语介绍 PAGEREF _Toc353801198 h 6 HYPERLINK l ”_To

5、c353801199 3。3层次方框图 PAGEREF _Toc353801199 h 10 HYPERLINK l ”_Toc353801200” 3.4用例图 PAGEREF _Toc353801200 h 11 HYPERLINK l ”_Toc353801201 3。5类图 PAGEREF _Toc353801201 h 15 HYPERLINK l ”_Toc353801202 3.6 时序图 PAGEREF _Toc353801202 h 18 HYPERLINK l ”_Toc353801203 3。7 活动图 PAGEREF _Toc353801203 h 24 HYPERLI

6、NK l ”_Toc353801204” 3.8 数据库设计 PAGEREF _Toc353801204 h 29 HYPERLINK l ”_Toc353801205” 4教材管理系统的功能实现 PAGEREF _Toc353801205 h 36 HYPERLINK l ”_Toc353801206” 4。1技术路线 PAGEREF _Toc353801206 h 36 HYPERLINK l ”_Toc353801207 4。2 主要功能实现 PAGEREF _Toc353801207 h 37 HYPERLINK l ”_Toc353801208 4.3功能模块界面、操作及核心代码 P

7、AGEREF _Toc353801208 h 39 HYPERLINK l ”_Toc353801209 4。4 系统测试 PAGEREF _Toc353801209 h 75 HYPERLINK l ”_Toc353801210” 4.5系统部署 PAGEREF _Toc353801210 h 80 HYPERLINK l _Toc353801211 5教材管理系统在高职高专的应用分析 PAGEREF _Toc353801211 h 81 HYPERLINK l _Toc353801212 总 结 PAGEREF _Toc353801212 h 83 HYPERLINK l _Toc3538

8、01213” 参考文献 PAGEREF _Toc353801213 h 84 HYPERLINK l _Toc353801214” 致 谢 PAGEREF _Toc353801214 h 84引言高校教材是体现教学内容和教学方法的知识载体,是进行教学的重要工具和提高教学质量的基本保证。它是学校传授知识的媒介,是学生获取知识的工具,是学校开展教学,学生完成学业的重要保证。学校的教材包括教师用书和学生用书两部分,其中学生用书占总用书量的98%.要管理好这部分工作是高校教材管理的重点。教材管理系统就是研究如何有效节省人力,将资源合理配置,达到学院教材管理网络化.随着高等教育改革的不断深入,各校招生规

9、模都在逐年扩大,各校的招生专业也在不断增加,加之学分制的实行,要开设大量的选修课,教材的品种数量大幅度提升,给教材管理工作带来一定的难度.而加强教材管理信息化建设,利用计算机和网络, 进行信息采集、处理、传送、存储、统计分析等不仅减轻劳动强度,还有效地提高工作效率,保证管理质量。如何在高校建立一套与学校事业发展要求相适用的科学的教材管理信息化系统,是学校教材管理部门积极探索的目的。为了提高教材管理的效率,把教材管理人员从繁重的日常工作中解脱出来,引入现代化的管理工具计算机,就成为必然趋势。利用计算机进行教材管理可大大提高工作效率。日常的工作只是输入相应数据。要查询某一教材的资料时,只要在计算机

10、上输入其编号或名称,计算机就应在几秒钟之内把其所有信息全部地显示出来(包括名称、库存、单价、出版社、出版日期、教材简介等)。利用计算机管理的另一个好处是不需特别的盘点,因为在输入单据的过程中,计算机会根据是进库还是出库,而自动地增加或减少相应教材的库存量,所以只要你需要,计算机会随时报告某些教材或所有教材的库存量,这样就大大提高了盘点的工作效率.实现了计算机管理后,只需几秒钟,就可以知道书库中任何种书的全部资料。结算费用时,只需按下几个键,计算机就会为你打印出漂亮、准确的结算清单.目前市场上也已不同程度地开发了一些教材管理软件,并且起得了一定的效果,但一般或是由于软硬件环境的限制、或是由于任务

11、时间的限制,而针对某一特定目标考虑,因而使得开发的系统欠缺系统性、可移植性及可扩充性。1。 任务需求1.1任务概述高校的学生越来越多,教材的需求量变得非常大,所以对于高校教材的管理的要求也随之提高,如果还是使用以前的老方法去管理教材,效率将会非常低,而且不易于保存相关的业务数据,在数据的查询中也会变得非常麻烦,更重要的是工作量超出了管理人员的工作负荷。所以自动化的教材管理系统就显得非常必要.有效合理的教材管理系统能够轻松的应对平时的工作,对基础信息和业务信息的管理难度也会变得简单,利用管理系统来规范业务流程,使流程能够按照规范标准来进行,避免一些不必要的业务流程出错。1.2 可行性分析随着信息

12、技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。作为校园信息化管理,已经成为评测校园教学质量的一个重要手段.在校园信息化管理中,学校的教材管理已是首要解决的问题,学校每学期开学都需要购买大量的教材,学校根据每学期所开设的各种课程,向书店或者出版社购进教科书,然后学生以班级为单位向学校领书交费。这项工作现在大部分学校还是手工操作,不仅工作效率很低,并且不能及时了解教材库存

13、和领取的具体情况。针对上述情况,根据目前学校管理的模式和计算机管理中的优点,经过多方面的分析,该系统可实现系统管理、基础信息管理、教材征订管理、教材订单管理、教材发放管理以及以往的教材信息的查询.通过对教材信息管理系统的实现,可大大提高管理员的工作效率,方便学校对班级和教师教材信息的管理.1。3项目开发进度图2教材管理系统简介2。1 自动化教材管理的涵义为了提高教材管理的效率,把教材管理人员从繁重的日常工作中解脱出来,引入现代化的管理工具-计算机,就成为必然趋势.利用计算机进行教材管理可大大提高工作效率。2。2 自动化教材管理与传统教材管理的区别学校每学期开学都需要购买大量的教材,学校根据每学

14、期所开设的各种课程,向书店或者出版社购进教科书,然后学生以班级为单位向学校领书交费。这项工作现在大部分学校还是手工操作,不仅工作效率很低,并且不能及时了解教材库存和领取的具体情况。利用计算机进行自动化教材管理可大大提高工作效率。日常的工作只是输入相应数据.自动化教材管理的效率非常高,例如要查询某一教材的资料时,只要在计算机上输入其编号或名称,计算机就应在几秒钟之内把其所有信息全部地显示出来(包括名称、库存、单价、出版社、出版日期、教材简介等)。利用计算机管理的另一个好处是不需特别的盘点,因为在输入单据的过程中,计算机会根据是进库还是出库,而自动地增加或减少相应教材的库存量,所以只要你需要,计算

15、机会随时报告某些教材或所有教材的库存量,这样就大大提高了盘点的工作效率.2.3自动化教材管理在高职高专教学中的应用策略高校教材是体现教学内容和教学方法的知识载体,是进行教学的重要工具和提高教学质量的基本保证.学校的教材包括教师用书和学生用书两部分,其中学生用书占总用书量的98%。要管理好这部分工作是高校教材管理的重点。大部分高职高专都有现成的校园信息管理平台,但是在关于教材管理的模块功能不够完善,本教材管理系统是一个独立完整的教材管理系统,在教材管理方面功能基本已经完善,只要将高校的基础数据导入,就可将此系统嵌入校园信息管理系统里去,达到对教材进行全面自动化管理的目的,有效地提高工作效率,保证

16、管理质量。 HYPERLINK l _Toc41135863” 3教材管理系统的功能设计 HYPERLINK l _Toc41135873 3。1 概要设计为了让功能分类更清晰,本教材管理系统五大模块,分别是系统管理、基础信息管理、教材征订管理、教材订单管理、教材发放管理,每个大模块又可以分为很多个小模块。(1)教材管理系统大体上主要实现以下功能模块:系统管理模块:主要有角色信息管理、模块信息管理、权限信息管理和操作日志管理。角色信息管理:管理使用该系统的所有角色基本信息.模块信息管理:管理系统中所有的模块。权限信息管理:管理各个角色的权限,即可使用的功能。 操作日志管理:记录系统使用者的关键

17、操作。基础信息管理:提供系统中一些基础信息的管理。学期信息管理:管理学期的基础信息。教职工信息管理:管理教职工的基础信息。系部信息管理:管理系部的基础信息。专业信息管理:管理专业的基础信息.班级信息管理: 管理班级的基础信息。银行信息管理:管理银行的基础信息.书商信息管理:管理书商的基础信息。教材类型管理:管理教材类型的基础信息。教材信息管理:管理教材信息的基础信息。征订状态管理:管理征订状态的基础信息。订单状态管理:管理订单状态的基础信息. 教材征订管理:主要包括教材征订、征订审核、征订结算. 教材征订:教师在系统中输入要征订的教材、数量、征订班级、 征订审核:征订班级所在的专业的主任在系统

18、中对征订信息进行审核. 征订结算:系统可以导出以班级为单位的领书收费清单,让班级进行教材征订结算。教材订单管理:主要包括生成订单、征订分摊、验收教材、订单结算。生成订单:管理员可以使用生成订单功能,一次性生成根据本学期已审核通过的征订信息的教材订单.征订分摊: 管理员可以批量讲订单分摊给指定的书商。验收教材: 验收已到货的教材,库存会自动改变.订单结算:与书商结算费用之后,管理员在系统中将教材订单结算。教材发放管理:主要包括教材发放、教材补发教材发放:发放之前可以先导出班级领书收费清单,在结算之后可发放。教材补发: 教材发放可能因某些原因未发放完毕,此时可以使用教材补发功能进行教材补发。(2)

19、围绕教材管理的核心业务设计。教材的管理是高校里必不可少的工作,考虑到这个工作涉及的角色有多个,所以在角色和权限上特地做了针对设计.在教材征订、审核、订购的业务流程中中充分发挥了角色权限管理的优势,尽量避免一些业务漏洞。(3)操作简易实用 在界面设计时使用到了前台客户点技术ExtJs4。1.1,优化了界面设计,使界面更加友好,操作更加人性化,将复杂的业务用简单的界面呈现出来,降低操作员的工作难度。(4)降低业务流程错乱的可能性业务流程中出现的错误带来的影响可大可小,所以为了降低业务流程出错的可能性,在核心业务模块中谨慎设计,规范各个角色的操作次序和操作限制.例如:在征订信息中,教师只能添加征订信

20、息,而且征订人只能是自己的名字,防止不友好的操作,征订信息需通过专业主任审核通过方可下订单,还有一些诸如此类的设计,这里就不一一介绍了。(5)提供人性化的浏览体验用户体验是软件开发中的重中之重,直接影响到客户满意度。在本教材管理系统中,教师通常在征订教材前需要先浏览教材,为了让教师浏览教材时更加顺畅,特地利用了前台客户点技术ExtJs优化了浏览界面,和传统管理系统有所不同,详情请看模块界面展示.3.2专业术语介绍3。2.1业务术语序号术语定义英文缩写英文原词组1模块在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位.modulemodule2角色

21、在系统中代表者使用者的身份。rolerole3权限在系统中,为了保证职责的有效履行,不同角色可以允许使用的功能是不同的.authorityauthority4审核在教材征订中,先由任课老师填写教材征订信息,所征订的教材必须由征订教材的班级所在的专业的主任进行审核,确定此教材是否符合有关规定,是否适合用于教学,只有审核通过的教材才可以使用.checkcheck the information of ttextbook subscription5生成订单根据审核通过的征订信息,由管理员下订单和书商交易.ordersorders6征订分摊在教材业务中的教材交易阶段,管理员会把部分订单指定给某个书商.

22、setBooksellerset the bookseller of orders7验收教材在教材到货时,由相关负责人验收教材checkTextbookcheck the arrival textbooks8结算在程序中,涉及到2种结算,第1种是教材管理方与班级的结算,第2种是教材管理方与书商的结算settlesettle9发放在教材管理方与班级结算后,将教材发放给班级。handOuthand out3.2。2程序术语序号术语定义英文缩写英文原词组1Java EEsun公司推出的企业级应用程序版本.这个版本以前称为 J2EE。能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Jav

23、a 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(serviceoriented architecture,SOA)和 Web 2。0 应用程序.Java EEJava Platform,Enterprise Edition2Microsoft SQL Server2005Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。Microsoft SQL Server 2005 数据库引擎为关系型数据和结构化数

24、据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序Microsoft SQL Server2005Microsoft Structured Query Language ServerExtJsExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。ExtJsExtJs管理信息系统管理信息系统(Management Information System,简称MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业的高层

25、决策、中层控制、基层运作的集成化的人机系统。管理信息系统油决策支持系统(DSS)、工业控制系统(CCS)、办公自动化系统(OA)以及数据库、模型库、方法库、知识库和与上级机关及外界交换信息的接口组成。MISManagement Information System3.3层次方框图3.4用例图用例图是从用户的角度来对系统进行需求分析,分析系统所需的功能和动态行为。3。4。1系统顶层用例图3.4.2系统管理用例图3。4.3基础信息用例图3。4.4教材征订用例图3.4.5订单管理用例图3。4.6教材发放用例图3。5类图3。5。1以教材征订管理为核心的类框图3。5.2以订单管理为核心的类框图3。5。3

26、以教材发放为核心的类框图 HYPERLINK l _Toc41135873” 3.6 时序图3.6.1教材征订时序图3。6.2教材审核时序图 3.6。3生成订单时序图3。6.4征订分摊时序图3。6。5教材验收时序图 3.6。6教材发放时序图3。7 活动图3.7。1教材征订活动图3.7。2教材审核活动图3。7.3 生成订单活动图3.7.4 征订分摊活动图3。7.5 教材验收活动图3.7.6 教材发放活动图 HYPERLINK l _Toc41135873 3.8 数据库设计3。8。1 数据字典一、学期信息Semester主键:ididvarchar6否主键学期编号namevarchar14学期名

27、称isCurrentint是否当前学期subStartDatedatetime征订开始日期subEndDatedatetime征订结束日期二、角色信息 Role主键:ididvarchar3否主键角色编号namevarchar10角色姓名三、教职工信息Teacher主键:id外键:departmentId,连接department的id majorId,连接major的id roleId,连接Role的ididvarchar5否主键教师编号namevarchar10教师姓名passwordvarchar32 密码sexint性别departmentIdvarchar2外键系部编号majorId

28、varchar5外键专业编号roleIdvarchar3外键角色编号四、操作日志 OperationLog主键:id,自动增长的标识符外键:userId,连接Teacher中的ididint否主键序号userIdvarchar5外键datedatetime操作时间operationvarchar50操作内容五、系部信息Department主键:ididvarchar2否主键系部编号namevarchar20系部名称handlerIdvarchar5负责人faxvarchar20传真phonevarchar20联系电话六、专业信息 Major主键:id外键:departmentId ,连接Dep

29、artment的ididvarchar5否主键专业编号namevarchar20专业名称departmentIdvarchar2外键系部编号handlerIdvarchar5外键专业主任编号七、班级信息Classes主键:id外键:majorId,连接Major的id HandlerId,连接Teacher的ididvarchar5否主键班级编号namevarchar20班级名称majorIdvarchar5 外键专业idhandlerIdvarchar5外键班主任id八、模块信息Module主键:ididvarchar10否主键模块编号namevarchar20模块名称appNamevarc

30、har50程序名parentIdvarchar3父节点idleafint是否叶子九、权限信息Authority主键:联合主键roleId和moduleId外键:roleId,连接Role的id ModuleId,连接Module的idroleIdvarchar3否主键,外键角色编号moduleIdvarchar10否主键,外键模块编号allowAddint增加功能allowUpdateint修改功能allowDelint删除功能allowCheckint审核功能十、银行 Bank主键:ididvarchar2否主键银行编号namevarchar20银行名十一、书商Bookseller 主键:i

31、d外键: bankId,连接Bank的ididvarchar4否主键书商编号namevarchar20书商名addressvarchar50地址phonevarchar20电话emailvarchar20电子邮件faxvarchar20传真bankIdvarchar2外键银行编号accountvarchar30银行帐号十二、教材类型TextbookType主键:ididvarchar2否主键类型编号namevarchar20类型名称十三、教材信息Textbook主键:id,书的ISBN号 idvarchar13否主键ISBNnamevarchar50教材名称textbookTypeIdvarc

32、har2 类型编号pressvarchar30出版社publishDatedatetime出版时间writervarchar30作者pricemoney参考价imageNamevarchar50图片名stockint库存summaryvarcharmax简介十四、征订状态 SubscriptionStatusidvarchar2否主键状态编号namevarchar12状态名十五、征订信息Subscription主键:id,随机生成一个全球唯一的id外键:textbookId,连接Textbook的id TeacherId,连接Teacher的id classesId,连接Classes的id

33、semesterId,连接Semester的id checkTeacherId,连接Teacher的ididvarchar32否主键征订编号semesterIdvarchar6外键学期编号textbookIdvarchar13外键教材编号amountint班级订量teacherIdvarchar5外键教师编号classesIdvarchar5外键班级编号statusIdvarchar2 状态datedatetime 征订日期checkTeacherIdvarchar5外键审核人checkDatedatetime审核日期十六、订单状态 OrderStatus主键:ididvarchar2否主键状

34、态编号namevarchar12状态名十七、订单信息Order主键:id,随机生成一个全球唯一的id外键:textbookId,连接Textbook的id semesterId,连接Semester的id booksellerId,连接Bookseller的id handlerId,连接Teacher的id checkHandlerId,连接Teacher的id注解:transaction交易状态有3种,0交易取消,1交易中,2交易完成idvarchar32否主键订单编号textbookIdvarchar13外键教材编号amountint数量semesterIdvarchar6外键学期编号bo

35、oksellerIdvarchar4外键书商编号discountfloat折扣statusIdvarchar2交易状态handlerIdvarchar5外键下单人orderDatedatetime下单日期checkHandlerIdvarchar5外键验货人checkDatedatetime到货日期settleDatedatetime结清日期remarks备注十八、发放信息HandOut主键:id,随机生成一个全球唯一的id外键: subscriptionId,连接Subscription的id handlerId,连接Teacher的id receiveHandler,连接Teacher的i

36、didvarchar32否主键发放编号subscriptionIdvarchar32外键征订编号datedatetime发放日期amountint数量handlerIdvarchar5外键经手人receiveHandlervarchar5外键领取人3.8。2 数据库ER图3.8。3核心模块部分E-R图 HYPERLINK l _Toc41135863 4教材管理系统的功能实现4.1技术路线4.1。1项目整体技术路线本管理信息系统的模式为B/S模式,采用Java EE作为整体框架,使用MVC模式规范开发 4。1.2后台技术路线在Java EE的基础上,后台使用spring2.5,strut2.1

37、,hibernate3。2 这三个框架配合开发,达到后台彻底分层分类规范开发的目的 .4。1.3 前台技术路线 基于本项目是管理信息系统,所以前台使用Extjs4.1,因为ExtJS是一种主要用于创建前端用户界面,是一个强大的前端ajax框架。功能丰富,无人能出其右.无论是界面之美,还是功能之强,ext的表格控件都高居榜首.在新版本Extjs4.0开始,Extjs就推出了前台的MVC模式管理技术,配合后台的SSH的MVC,前后呼应。 4.2 主要功能实现为了让功能分类更清晰,本教材管理系统五大模块,分别是系统管理、基础信息管理、教材征订管理、教材订单管理、教材发放管理,每个大模块又可以分为很多

38、个小模块。(1)教材管理系统大体上主要实现以下功能模块:系统管理模块:主要有角色信息管理、模块信息管理、权限信息管理和操作日志管理。角色信息管理:管理使用该系统的所有角色基本信息.模块信息管理:管理系统中所有的模块。权限信息管理:管理各个角色的权限,即可使用的功能。 操作日志管理:记录系统使用者的关键操作。基础信息管理:提供系统中一些基础信息的管理。学期信息管理:管理学期的基础信息.教职工信息管理:管理教职工的基础信息.系部信息管理:管理系部的基础信息.专业信息管理:管理专业的基础信息。班级信息管理: 管理班级的基础信息。银行信息管理:管理银行的基础信息.书商信息管理:管理书商的基础信息。教材

39、类型管理:管理教材类型的基础信息.教材信息管理:管理教材信息的基础信息。征订状态管理:管理征订状态的基础信息。订单状态管理:管理订单状态的基础信息。 教材征订管理:主要包括教材征订、征订审核、征订结算. 教材征订:教师在系统中输入要征订的教材、数量、征订班级、 征订审核:征订班级所在的专业的主任在系统中对征订信息进行审核。 征订结算:系统可以导出以班级为单位的领书收费清单,让班级进行教材征订结算。教材订单管理:主要包括生成订单、征订分摊、验收教材、订单结算.生成订单:管理员可以使用生成订单功能,一次性生成根据本学期已审核通过的征订信息的教材订单.征订分摊: 管理员可以批量讲订单分摊给指定的书商

40、。验收教材: 验收已到货的教材,库存会自动改变。订单结算:与书商结算费用之后,管理员在系统中将教材订单结算.教材发放管理:主要包括教材发放、教材补发教材发放:发放之前可以先导出班级领书收费清单,在结算之后可发放.教材补发: 教材发放可能因某些原因未发放完毕,此时可以使用教材补发功能进行教材补发。4。3功能模块界面、操作及核心代码4。3.1 登录功能(使用了中文验证码)用户输入用户id和密码,此时可选择2种系统模式,一种是经典模式,一种是桌面模式,目前桌面模式不支持IE浏览器,然后输入验证码即可登录,验证码看不清的可以点击验证码 图片或“换一张”按钮来更换验证码。其中实现中文验证码的代码如下:v

41、ar randStr;function reLoadRand()randStr=getRandStr();Ext。getCmp(randImage).setSrc(image。jsp?randStr=+randStr);function getRandStr() var strText=”1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ格林童话中白雪公主与七个小矮人的故事可以说是家喻户晓华特迪士尼选上这个故事来当他的开天辟地之作本片是世界电影史上第一部长动画片 +”根据格林童话改编迪斯尼公司出品故事主要讲述白雪公主因为美丽漂亮而被其后母妒忌发誓要把她置于死地但白雪公主先

42、后得到武士森林鸟兽及七个 +”小矮人的帮助逃过了一劫又一劫后母则自食其果死于山崖下”;var str=;for(i=0;i4;i+)str+=strText.charAt((strText。length-1)*Math。random(); return str;主要实现原理为随机抽取字符串中的字,抽取4个,然后发送请求到生成验证码的页面,然后描出验证码图片,其实这里的实现还有漏洞,文章写在前台文件里,安全性欠佳,理应存到数据库,用ajax从后台获取。4.3。2 经典模式系统界面此模式使用了Extjs中的viewport控件布局,其中上方为headerbox和toolbar,左方使用了treep

43、anel,中间使用了tabpanel,其中tree加载的模块为动态加载,根据登陆者权限不同加载不同的模块,这里先介绍经典模式布局的viewport代码,如下:Ext.define(mainApp1, extend: Ext.app。Application, id:main, name : enoch, scope :this, appFolder : ”app”, controllers: MainController , launch: function() Ext.create(Ext。container。Viewport,id:viewport,layout:border,/布局item

44、s: xtype: box, id: header, region: north, html: h1教材管理系统姓名:+loginTeacherName+brbr角色:+loginRoleName+/div);msgPanel。showAt(Ext。getBody()。getWidth()-300,0); / now ready。. , shortcutModules:, firstShortcutData:, rootNode:null, beforeInitFn:function() var node; Ext。Ajax。request(url:AuViewAction_findAuVie

45、w.action, method: post, async : false,/同步请求数据 success: function(result, request) restext=result。responseText; node=Ext.JSON.decode(restext); , failure: function(result, request) Ext.MessageBox。alert(系统异常, 请求数据失败!); ); this。rootNode=node; , getFirstShortcutData:function() var arrDatas=; Ext。each(this

46、.rootNode。children,function(item) arrDatas。push( name:, iconCls: foldershortcut48, module:item.id ,node:item); ); return arrDatas; ,/加载模块 getModules : function() /*var node; Ext.Ajax.request(url:AuViewAction_findAuView。action, method: post, async : false,/同步请求数据 success: function(result, request) re

47、stext=result。responseText; node=Ext。JSON。decode(restext); , failure: function(result, request) Ext。MessageBox.alert(系统异常, 请求数据失败!); ); */ var arrModules=; /* Ext.each(this.rootNode.children,function(item) arrModules.push(Ext。create(desktop.MyModule,node:item,id:item.id)); ); nodeTmp=id:0209,text:教材信

48、息,appName:textbookApp; var nodeObj=Ext。create(desktop.NodeModel, id:nodeTmp.id, text:nodeTmp。text, appName:nodeTmp。appName ); arrModules。push(Ext。create(desktop。GridModule,node:nodeObj,id:nodeObj。get(id))); */ getArrModule(arrModules,this.rootNode); return arrModules; /* return Ext。create(extApp.mai

49、nApp2), Ext。create(MyDesktop。VideoWindow), /new MyDesktop.Blockalanche(), Ext.create(MyDesktop.SystemStatus), /new MyDesktop。GridWindow(),Ext。create(MyDesktop.GridWindow), Ext.create(MyDesktop.TabWindow), Ext.create(MyDesktop。AccordionWindow), Ext.create(MyDesktop。Notepad), Ext。create(MyDesktop。Bogu

50、sMenuModule), Ext。create(MyDesktop。BogusModule) ;/ , getDesktopConfig: function () var me = this, ret = me.callParent(); return Ext。apply(ret, /cls: ux-desktopblack,/桌面右键菜单 contextMenuItems: text: 系统设置, handler: me。onSettings, scope: me ,/桌面快捷方式 shortcuts: Ext。create(Ext.data.Store, fields: name: na

51、me , name: iconCls , name: module , name: node , data: this.getFirstShortcutData() ),/默认桌面背景 wallpaper: /textbook/desktop/resources/wallpapers/Blue-Sencha.jpg, wallpaperStretch: false ); , / config for the start menu getStartConfig : function() var me = this, ret = me.callParent(); return Ext。apply(

52、ret, title: 开始菜单, iconCls: user, height: 300, toolConfig: width: 100, items: text:系统设置, iconCls:settings, handler: me。onSettings, scope: me , -, text:修改密码, iconCls:icon-edit, handler: function() Ext。create(extApp.updatePasswordWin).show(); , scope: me , -, text:退出系统, iconCls:logout, handler: me。onLo

53、gout, scope: me ); , getTaskbarConfig: function () var ret = this。callParent(); return Ext.apply(ret, quickStart: name: Accordion Window, iconCls: accordion, module: acc-win , name: 教材管理系统, iconCls: icon-textbook, module: tbsys , trayItems: xtype: trayclock, flex: 1 ); , onLogout: function () Ext。Ms

54、g。confirm(确认提示,确定要退出系统吗?,function(optional)if(optional=yes)Ext.Ajax.request(url:TeacherAction_logout。action, method:POST,timeout:2000,success:function(res,opts) top。location=/textbook/index。jsp;);); , onSettings: function () /*var dlg = new Settings( desktop: this.desktop );/ var dlg=Ext。create(desk

55、top.Settings, desktop:this.desktop ); dlg。show(); );/递归 function getArrModule(arr,node) var nodeObj=Ext。create(desktop。NodeModel, id:node.id, text:, appName:node。appName , roleId:node。roleId, leaf:node。leaf, allowAdd:node。allowAdd, allowUpdate:node。allowUpdate, allowDel:node.allowDel , allowCheck:no

56、de。allowCheck , children:node。children );if(nodeObj。get(leaf) arr.push(Ext。create(desktop。GridModule,node:nodeObj,id:nodeObj。get(id)); /alert(nodeObj。get(id);elseif(nodeObj。get(id)!=0)arr。push(Ext。create(desktop.MyModule,node:nodeObj,id:nodeObj。get(id))); /alert(node.id);Ext。each(node。children,funct

57、ion(item)getArrModule(arr,item););后台加载权限代码如下:public void findAuView() throws IOExceptionHttpServletResponse res=ServletActionContext.getResponse();HttpSession ses=ServletActionContext.getRequest()。getSession(); if(ses.getAttribute(treeJson)=null)System。out.println(”正在获取树形。.。.。.。.。.”);Teacher teacher

58、=(Teacher)ses。getAttribute(”teacher”);String hql=from AuView as au where au.roleId=”+teacher。getRoleId()+”;List list=auViewService.findByHql(hql);String strTree=TreeJsonGenerator.getTreeJson(list);ses。setAttribute(treeJson”, strTree);JsonPrinter.printJson(res, (String)ses.getAttribute(treeJson”);pub

59、lic static String getTreeJson(List list) for(AuView au:list) if(au。getId().equals(”0))continue; AuView parent=getNode(list, au。getParentId(); tryparent。getChildren()。add(au); catch (Exception e) System。out.println(-”+au.getId()); AuView root=getNode(list, 0); return getNodeJson(root, list)。toString(

60、);public static StringBuffer getNodeJson(AuView au,List list)StringBuffer sb=new StringBuffer();AuView parent=getNode(list, au。getParentId();boolean isRoot=au.getId().equals(0);boolean isLast=(isRoot (au=parent。getChildren()。get(parent.getChildren().size()-1)));sb。append(”id:+au。getId()+,);sb。append

温馨提示

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

评论

0/150

提交评论