版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要随着计算机技术的飞速发展,计算机在各行业中应用迅速发展、计算机在公安领域同样也得到了飞速的发展,对于公安系统基层的派出所来说,利用计算机实现户籍管理等日常工作来提高办事效率,是适应当今社会发展要求,推动公安领域现代化快速发展的必要条件。虽然派出所只是公安系统的基层单位,但是户籍管理是一项繁琐,复杂而又十分细致的工作、人员流动、房屋的租赁等工作量非常的大,如果用手工来操作,不仅工作量大而且容易出错。而利用计算机就不同了,一个完整的户籍管理系统可以帮你解决所有这方面的问题,同时计算机具有手工整理所有无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高户籍管理的效率,也是科技强警,与实践接轨的重要条件本文以户籍管理系统前身纸介质存储为开发背景,通过电子化的数据平台可以进行数据统计与分析,系统主要的功能有1、用户管理及权限管理2、户籍管理的常住人口、暂住人口及备查人口管理等功能系统采用三层逻辑体系结构,基于开放成熟的J2EE体系技术及性能较好的Tomcat应用服务器平台,具有安全、高效、可伸缩性、易于移植、能够对新需求及业务变化进行快速响应等特点。采用JSP技术进行Web的开发,用到了MODELl的开发模型,由于Java技术应用领域非常广泛,且提供了大量开源的工具,从而减轻了开发者的代码量,提高了系统开发的效率本系统选用DB2作为后台数据库,DB2具有强大的数据库功能和性能,具有很好的并发处理.本文首先介绍了系统的研究背景、研究目的意义,国内学术及发展确实和系详细介绍了系统的开发使用的相关技术,对系统需求作了详细的分析,并详细介绍了系统数据库的设计和相关功能模块的实现。关键字:户籍管理,人口管理,B/S结构,JSP,AJAXAbstractABSTRACTAlong、析thrapiddevelopmentofComputertechnology,theusageofcomputerhasbeenpopularizedveryfast,aswellasinthefieldofpublicsecurity.Topolicestationswhicharethebasicunitsofthepublicsecuritysystem,theusageofcomputersystemisnecessarytomeettheneedofdevelopmentofcurrentaresocietyandmodernizationofpublicsecurityfiled.Althoughpolicestationsthesystem,residencemanagementispersonnelathebaseunitsoftrivialandcomplicatedjob.111emovementofandrentelofrealastatepropertiesmaketheamountofworkverylarge.Ifbyhand,itwillbelotsofmistakes.However,bysolvingthesejobsusingcomputercarltechnology,thingswillbedifferent.Acompletedresidencemanagementsystemhelpsolvingallhndofaboveproblems.Meanwhile.computerhasincomparableadvantadgestohandwork,suchasfastindex,easysearching,highlydependable,carlmassstorage,goodsecurity,endurableandlowcost.Theseadvantadgesincreasetheefficienciesofresidencemanagementandarealsoapproachbetweenhighlytoimportantthetechnologyanditspractice.Thisarticleissetinpaperwhichisthepredecessorofresidencemanagementsystem.nestatisticsare,mainfunctionsthroughdigitaldatabaseplatformdataanalysisand1.UsersandPrivilegemanagement2.Permanentmanagement.Thesystempopulation,temporarypopulationandotherpopulationisathreelayerlogicalstructureserversystem,basedonmaturelydevelopedJ2EEandtomcatapplicationplatform.Itissafe,efficient,scalable,easyportingandCanquicklyresponsetothechangeofneedsandservices.onThesystememploysJSPtechnologywebdevelopment埘廿lMODEL1module.SinceJAVAiswidelyemployedandprovidesplentyofopensourcetools,itreducesthedeveloper'scodingandincreasestheefficiencyofsystemdevelopment.11hesystemalsoselectsDB2astheback-enddatabasefeatureandfunction,andverygoodThisarticleintroducesthedatabasewhichhaspowerfulconcurrentprocesses.background,meaningoftheresearchofthesystem.ItAbstractAlsointroducesthesystemtechnologyanddeploymentofthedatabasedesignandrelatedfunctionmodule.Keywords:ResidenceManagement,PopulationManagement,B/Sstructure,JSEAJAX.学何沦文独创性声明学位论文独创性声明本人声明所呈变的学位论文是本人在导师指导下进行的研究j】:作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得直昌塞堂或其他敦行机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文作者签名(手写即签字n期:an7年,二月“|1学位论文版权使用授权书本学位论文作者完全了解!堑昌盔堂有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允’y}:论文被众i’剜和借阅。本人授权南吕大学可以将学位论文的全部或部分内容编入有关数据阵进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究所将本学位沦文收录到《中国学位沦文全文数掘库》,并通过网络向社会公众提供信息服务。(保密的学位论文在解密后适用本授权书)学位论文作者签名(手写%岛导师签名(手写):肜铈签字兀期:跏7年f2,月“H辩嗍:■叫月杉只l第1章绪论第1章1.1研究背景绪论’随着计算机技术的飞速发展,计算机在各行业中应用迅速发展、计算机在公安领域同样也得到了飞速的发展,对于公安系统基层的派出所来说,利用计算机实现户籍管理等日常工作来提高办事效率,’是适应当今社会发展要求,推动公安领域现代化快速发展的必要条件。虽然派出所只是公安系统的基层单位,但是户籍管理是一项繁琐,复杂而又十分细致的工作,人员流动、房屋的租赁等工作量非常的大,如果用手工来操作,不仅工作量大而且容易出错。而利用计算机就不同了,一个完整的户籍管理系统可以帮你解决所有这方面的问题,同时计算机具有手工整理所有无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高户籍管理的效率,也是科技强警,与实践接轨的重要条件1.2编写的目的户籍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端程序的开发两个方便,对于前者要求建立起数据一致和完整性强、数据安全性好的数据库(DB2).而对于后者则要求应用程序功能完备,容易使用等特点,在系统功能业务需求就知道要注重用户的体验。1.3国内学术及现在发展趋势现在我国的公安管理水平还停留在纸介质的基础上,这样的机制不能适应时代的发展,因为它浪费许多人力和物力,在信息时代这种传统的管理办法必然被计算机为基础的信息管理所取代,户籍管理系统是公安部门必不可少的一部分,它的内容对于公安部门的决策者和管理者来说的至关重要,所以户籍管理系统应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理户籍档案,这种管理方式存在许多的缺点,如:效率低、保密性差、另外时间一长,将产生大量文件和数据,这对于查找、更新和维护7第1章绪论都带来不少的困难,随着科学技术的不断的提高,计算机科学的日渐成熟,其强大的功能已被人们深刻的认识和使用,它已进入人类社会的各个领域并发挥着越来越重要的作用,由此,建立高性能的户籍管理系统,作为计算机应用的一部分,使用计算机对户籍档案进行管理,具有手工管理所有无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高户籍档案管理的效率,也是公安部门的科学化、正规化管理的体现。编程软件用的是JAvA作为实现的语言,以数据库DB2作为后台操作,其功能在系统功能上有体现,后续开发都可以给予这个基础的平台衍生增值模块1。4可行性研究不同的地方派出所中具有不同的系统管理、人口管理制度。这也决定不同的地方不同的户籍管理制度,对于本地派出所来说目前就是这个情况,基于此状况,基层派出所迫切需要开发出一个新系统来适应这些工作,本系统结合了本地派出所的实际情况、进行综合考察、经过实际的需求分析,采用了功能强大的JAvA作为开发的工具,DB2作为数据库,开发出户籍管理系统,可行性研究能使系统到达以最小的开发成本获得最佳的效果,可行研究的目的,是开发管理信息系统的请求,通过初步调查和系统目标分析、对要开发的派出所户籍管理系统从技术、经济上、资源上和管理上进行示范可行的研究,这是一项保证资源合理使用、避免浪费的重要工作。◆经济可行性:分析实际的使用效果、经济指标等◆技术可行性:主要分析系统条件、系统软件性能、通讯网络、技术含量以及研发小组人员◆资源可行性:主要是管理、经费、系统运行是否得到保证夺管理可行性:如户籍管理水平、数据收集可能性、规章制度健全和领导对发展系统的态度1.5本文组织结构本文分为六章,具体结构如下:第一章,绪论,主要介绍了户籍系统的开发背景,开发的目的和意义,以8第1章绪论及研究的主要内容,阐明了本文研究的主要问题和本文的组织结构。第二章,相关理论技术概述,首先对户籍管理系统采用的数据库技术进行了介绍,说明了选用的原因,然后再简要对比了C/S和B/S模式,最后对相关技术和开发工具作了简单介绍。第三章,系统的需求分析,对系统的功能需求和非功能需求进行分析。.第四章,系统数据库设计,本章介绍了户籍管理系统数据库的设计第五章,系统实现,本章介绍了户籍管理系统中主要功能模块的实现。主要包括常住人口管理模块、暂住人口管理模块和报表查询模块。第六章,总结和展望,对文章进行了总结,提出了本户籍管理系统还存在的其他问题,并对论文下一步的工作进行了展望。1.6本章小结本章主要介绍了户籍管理系统的研究背景以及研究目的和意义,并介绍了本文研究的主要内容和解决的主要问题,最后就本文的论文组织结构进行了简单的介绍。9第2章相关理论技术概述第2章相关理论技术概述户籍管理系统是根据业务需求,并通过系统分析最终采用基于JSP开发的模式作为开发平台,用到了MODELI的开发模型,数据库采用DB2作用数据管理平台,具有很好的并发处理性,前端采用了AJAX的无需刷新页面可以与后台的数据库进行异步通信技术,从而减轻了开发者的代码量,使系统的性能及开发效率上得到提高。2.1数据库平台DB22.1.1DB2简介DB2是IBM公司的中心技术,源于SystemR和System胖。他支持支持面向对象的编程,支持复杂的数据结构,如无结构文本对象,可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。可以建立用户数据类型和用户自定义函数,同时也支持多媒体应用程序。DB2数据库核心又称作DB2公共服务器,采用多进程多线索体系结构,可以运行于多种操作系统之上,并分别根据相应平台环境作了调整和优化,以便能够达到较好的性能。VisualAge是一个功能很强的可视化的面向对象的应用开发工具,可以大幅度的提高软件开发效率。其主要特征有:(1)视频库。可视化程序设计工具。(2)部件库。包括支持图形用户接口的预制部件,以及包含数据库查询、事务和本地、远程函数的通用部件。(3)数据库。关系数据库支持。(4)群体库。群体程序设计。(5)动态库。支持增强的动态连接库。(6)多媒体。支持多媒体。(7)数据。支持数据共享。VisualGen是IBM所提供的高效开发方案中的重要组成部分。它集成了第四代语言、客户/服务器与面向对象技术,给用户提供了一个完整、高效的开发环境。10第2章相关理论技术概述2.1.2SOL语言QuerySOL是英文StructuredLanguage的缩写,意思为结构化查询语言。SOL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SOL被作为关系型数据库管理系统的标准语言。SOL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSOLServer,Access等都采用了SQL语言标准。虽然很多数据库都对SOL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SOL命令仍然可以被用来完成几乎所有的数据库操作。2.2系统体系结构模式目前数据库应用系统的开发分为两种主流模式,一是客户机/服务器(CIS)模式,二是浏览器/服务器(B/S)模式。2-2.1C/S模式所谓C/S,是指客户机/服务器(Client/server),如图2.1所示,c/s结构是一种两层结构的系统:第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器阳1。客户壤一一包数据库厩务器图2.1C/S模式结构图2.2.2B/S三层模式b/s是browser/server就是用浏览器为应用程序客户端操作服务器。这样用浏览器来操作简单易用,但是对输入没有很好的验证。逻辑实现不多。本地只是用于获取数据然后大部分验证需要提交服务器来完成。第2章相关理论技术概述c/s是client/server客户端软件则是一个拥有很多逻辑验证的软件,本地验证成功后才提交服务器。‘C/S和B/S之比较l、c/s架构软件的优势与劣势(1)、应用服务器运行数据负荷较轻。最初的c/s计算机体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。(2)、数据的储存管理功能较为透明。在原始的数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明"的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小",麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。(3)、c/s架构的劣势是高昂的维护成本且投资大。一般情况下,采用c/s架构,要选择适当的数据库平台来实现数据库数据的真正“统一",使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时"的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。12第2章相关理论技术概述2、B/S架构软件的优势与劣势(1)、维护和升级方式简单。在当今社会,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个大单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖"是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦’’客户机,“胖"服务器u钉。(2)、成本降低,选择更多。众所周知的,微软windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。(3)、应用服务器运行数据负荷较重。由于最初的B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过wWw浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃"等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,‘以防万一。第2章相关理论技术概述2.3JSP及AJAX开发技术JSP介绍用2.3.1JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷。JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术让计算机系统软件开发员和网页程序设计员迅速地开发主页,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。JSP以Servlet技术为基础,又在许多方面作了改进。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商之间广泛合作的结果。在传统计算机软件设计体系中,往网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送Email等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。在网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,JSP技术在多个方面加速了动态Web页面的开发:一.将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性汹1。二.强调可重用的组件大部分的JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用14第2章相关理论技术概述者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。三.采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JsP相关的XML标识中进行动态内容生成所需要的。标准的JsP标识能够访问和实例化JavaBeans’组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行"的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java2平台,企业版(J2EE)和EnterpriseJavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。四.技术分析Microsoft公司的ASP技术也是动态网页开发技术。JSP和ASP从形式上非常相似,其中最主要的有以下三点:‘JSP的效率和安全性更高。ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解释,运行效率不高。另外,IIS的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP开发的网站,ASP程序全部被人下载了去。JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟机(JavaVirtualMachine)解第2章相关理论技术概述释执行,比源码解释的效率高;服务器上还有字节码的Cache机制,能提高字节码的访问效率。第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。2、JSp的组件(Component)方式更方便ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或者复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBean实现了同样的功能扩充。在开发方面,COM的开发远比JavaBean复杂和繁琐,学会ASP不难,但学会开发COM可不简单。而JavaBean就简单多了,从本文上述示例中可以看出开发JavaBean很方便。在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean则不需要注册,放在CLASSPATH包含的目录中就行了。如果JavaBean进行了修改,则JSWDK和Tomcat现在还需要关闭和重新运行(但不是关机),但开发者已经许诺将在以后的版本中做到不需要关闭服务器。另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户权限控制、email自动回复等等。3、JSP的适应平台更广ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。2-3.2AJAX的介绍AJAX不是一个技术,它实际上是几种技术的综合,每种技术都有其独特之处,合在一起就成了一个功能强大的新技术。Ajax包括:XHTML和CSS使用文档对象模型(DocumentObjectModel)作动态显示和交互使用XML和XSLT做数据交互和操作使用XMLHttpRequest进行异步数据接收使用JavaScript将它们绑定在一起16第2章相关理论技术概述browserclientbrowserclient嚣kS|貉曛隐f裟#嚣‰-
绽暾P串删l:rt,5,l豫doen‘l掰翻津筠撤吼k秘科研懿搿懈server—-sidesystemsAja×webapplicationmodel图2.2:传统Web应用模型(左)与Ajax模型的比较(右).17第2章相关理论技术概述dassk:webapplicationmodel(synchronous)client钾蹴m秘毵妫釉崎SewerAjaxwebclientapplicationmodel(asynchronous)SeWer图2.3:传统Web应用的同步交互过程(上)和Ajax应用的异步交互过程的比较(下).18第2章相关理论技术概述Ajax如何不同凡响通过在计算机软件服务器和传统用户之间引入一个Ajax引擎,可以消除Web的开始一停止一开始一停止这样的交互过程.它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎一一采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互一一不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应汹1。一般情况下,要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替.任何用户动作的响应不再要求直接传到服务器一一例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---71擎自己就可以处理它.如果引擎需要从服务器取数据来响应用户动作一~假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---弓l擎让这些工作异步进行,通常使用XML,不用再耽误用户界面的交互。2.4本章小结本章对系统选用的开发工具JSP、DB2及AJAX等进行了介绍,给出开发的应用的技术平台和架构。下一章将要在此基础上,对系统进行了需求分析。19第3章系统的需求分析第3章系统的需求分析3.1需求分析阶段的主要任务我们讨论过多种软件开发过程,每一种开发过程又由多个开发阶段组成。虽然软件开发过程涉及的阶段各有不同,但都包含需求分析阶段。在需求分析中,软件分析人员着手理解将要开发的软件系统的本质。需求包含了待开发系统的特性。因此,当我们提到需求分析时,意思是软件分析人员着手分析软件系统解决手头的问题所需要的软件特性。需求分析由一系列活动构成,包括对待解问题的研究和确定系统解决方案所需具有的行为。需求分析的完整性和持续时间根据选择的特定开发过程各不相同。例如,迭代开发过程需要多个较短持续时间的分析阶段,而瀑布方法包括单独的、较长的分析阶段。迭代开发方法通常与面向对象范围有关,在面向对象方法中,分析人员通常要完成几个短持续时问的阶段。虽然需求分析精确特性的差别由软件开发过程决定,但它的基本目的都是一样的。需求分析阶段的主要目标是评估和确定最终软件系统的行为。在迭代开发过程中需求分析的初始阶段,分析人员并不能在一个完整的需求分析中达到同等的理解深度。在迭代软件开发中,第一分析阶段的目标是抽象地描述最终系统的功能广度。从系统的功能广度而不是功能深度评估系统的目的是开发系统的体系结构视图。体系结构视图创建组成软件系统的主类及相互关系,目的是创建一个在系统开发过程中稳定和不变的类集合。通过在开发过程早期评审系统,可以避免在开发过程后期重新构造类。换句话说,当系统进化和新的功能加入后,在初始分析期的开发的核心类也会通过追加属性和方法来进化,而不是重构和重写现有的源代码。系统最终用户和软件开发队伍之间成功交流的重要性产生了一个新的特殊职业。从事这种职业的人作为领域专家和软件开发队伍之间的桥梁,促进两组之间的交流。例如,一个叫PeopleSoft的公司提供咨询员扮演”翻译者”的角色。这些咨询员首先与领域专家进行交流,收集有关用户需求及软件需求的信息,然后向技术人员解释这些需求。第3章系统的需求分析需求分析开始于来自领域专家的需求启发。在这一过程中收集的信息必须清晰、简洁、明确地记录下来。这种需求的记录称为需求建模。需求模型成为,需求规约文档的一部分。如果规约没有正确地反映用户的需求,将来软件系统就没有机会获得成功3.2系统的业务需求本系统用户的重要需求有户籍管理(人口管理)、权限管理、用户查询、查询统计模块1、通过IE敲击访问地址进行登录界面,通过身份及权限验证,读出用户能使用到的功能点,在角色容许的情况下可以做增、删、改及查功能的。2、系统需要注重用户体验及用户操作的方便性,操作简单3、系统能支持IE等浏览器进行访问,建议使用windows的IE,并且分辨率采用1024×768和800X600自行扩展。4、部分报表能采用高级查询功能嘶1。3.3系统的功能需求本系统主要引入实有人口管理概念、实现“以房管人"的辖区实有人口管理模式,将常住人口、暂住人口、工作对象、户口待定人员、人户分离人员等所有人进行信息的集中管理,本文主要陈述常住人口及暂住人员管理模式。常住人口是指公民在城区范围居住的人口,有户口登记机关依法注册登记确认的正式户口。进行地质与常住人口的关联,而暂住户口是离开常住人口所在市辖区、县,在其他地方居住3个月以上的人员的信息查询,打破之前的纸介质的数据传输,用电子化的数据平台来支撑,使数据得到很好的提炼,从而能实现各种数据查询及统计与分析。结合权限管理模型能定制用户的角色及级别的关系,实现不同的用户角色能看不同的功能点。3.3.1户籍管理系统功能本子系统包括户籍管理、权限管理、用户查询,查询统计户籍管理主要是人口管理,而人口管理包括常住人口、暂住人口、境外人口、列管2l第3章系统的需求分析人员、备查人员。常住人口主要是人口和地址关联,实现“以房管人”的功能,常住人口管理主要包括了记录查询,常住人口信息纳管、户在人不在登记、人在户不在登记、户成员信息查询,变更统计信息、关系人员、联系方式除此之外,常住入口模块还实现了常住人口的出生、死亡、迁入、迁出、变更等信息录入业务功能暂住人员管理模块主要包括了记录查询、暂住人口信息登记、携带人员登记、暂住历史查询、通报协查联系单、房屋信息、关系人员、联系方式等内容备查人员:主要登记与查询责任区内走失人员、弃婴、非正常死亡人员招领人员等信息权限管理权限管理主要是管理员管理查询和维护,对各种角色权限的控制,那些用户具有什么样的权限,哪些菜单是可以有权限访问用户查询主要是用户查询便于查询的信息查询统计主要是户籍统计、业务量差序、异动分析、总量统计、这工作量负荷统计等功能3.4非功能性需求3.4.1性能总体要求为了满足基本的使用需要,在性能方面我们至少要做到以下以一些指标前端页面操作的平均响应时间小于3秒出一张报表的时间在30秒内完成批量时间最久应保持在2小时内完成,平均在一小时内3.4.2系统维护要求系统提供数据的备份与灾难恢复功能,保证数据的安全和系统的正常使用;帐号管理以及配置管理等功能。第3章系统的需求分析3.5本章小结本章从是根据业务特性和实际情况出发,整理了各子系统的各方面问题,整合实际的应用开发模式进行了分析和概述,需求分析作为设计系统的重要的部分,也扮演了整个系统的开发和实现的稚嫩,?也为后续的系统设计奠定了开发的基础,。下一章主要陈述数据库设计。第4章系统数据库设计第4章系统数据库设计4.1系统数据库总体结构设计.数据库设计是指对于一个给定的应用环境,’构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。一、数据库和信息系统(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息啪3。(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。(3)数据库设计是信息系统开发和建设的重要组成部分。(4)数据库设计人员应该具备的技术和知识:设计技术。二、数据库设计的特点数据库的基本知识和数据库>数据库建设是硬件、软件和组件的结合>三分技术,七分管理,十二分基础数据>数据库设计应该与应用系统设计相结合>结构(数据)设计:设计数据库框架或数据库结构>行为(处理)设计:设计应用程序、事务处理等>结构和行为分离的设计传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计。三、数据库设计的基本步骤数据库设计的过程(六个阶段)1.需求分析阶段准确了解与分析用户需求(包括数据与处理)是整个设计过程的基础,是最困难、最耗费时间的一步第4章系统数据库设计2.概念结构设计阶段是整个数据库设计的关键通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型3.逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型对其进行优化4.数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)5.数据库实施阶段运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果‘建立数据库,编制与调试应用程序,组织数据入库,并进行试运行6.数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改设计特点:在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计n引。4.2系统数据库表结构设计数据是任何系统的源泉,而数据库的设计也是本系统的基础。如图4.1所示,本系统数据库主要设计了:功能表,角色表,用户表,用户角色表,功能角色表,常住人口信息表以及暂住人口信息表。第4章系统数据库设计功能表角色表用户表用户角色表功能角色表数据库常住人口信息表訇置勇訇勇訇訇暂住人口信息表图4.1数据库总体结构图系统建立了一个名为常住人口管理的数据库,所有具体的数据项都以表的形式放在数据库中。这些表包括用户表,功能表,角色表,用户角色表,功能角色表,常住人口信息表以及到暂住人口表。各个表之间的关系视图如图4.2所示第4章系统数据库设计爰§冤表功就褒功童敬D上颤IBV^托’t^Bf20)蓉统裒角色褒蓉统衰用户袭用户IDI_乏蹴名称张斑鼬堰£So)图片的地址弧Rc眦(S00)V蜗c啪Ie20)角色功y^跹’c^R(Io)白k>l功铑对应触v^艇H趣国∞)依赖功瓮锄v^矗铺^R伽)t硅大O体皂身份冱弓q虹g尊用g投荆出耋目囊矗雹身高■话弓一露救暇垃赉捌矗役情况辐赛置客1,蝎c舭伽)角色名称V越H^R∞)kk鬈玛V域臌e沁)用尸名称v^RcM^蠢伽)I景绕袭用户角色袭用户IDWlBc麓地(30)<搀序标志船c硼^L(3)功髭的姑、述y^嚣c凇丑(100)葵单标志c默R(1)鳘魅拣悫CF-J嘎(I)祝掏号y^舢a)同点号cM墟汀)密码修改日期DATE录入日期CM墟(IO)所最角色集合y^矗傩蟪(10)‘录入经办操作委y^驻M^蛊伽)录入对浔eM^丑(8)用尸鳌录IP地址y城H嵫(20系统褒I-)JltP,角色对应褒角色ID孙翰l^lI(10)qk>VARCHAR(1鳓VARCHAR{18JVARCHARfl81VARCHAR[2lVARCHARl8l功敛D懈黼鲫)缸>I餐佳人O停枣VARCHARll8)YARCHAR{18l翻骞VARCH,AR[18I搜喇Ⅵ峨CHAR口j舅毋《号鼻矗易出尘甘一‘舅,ll●诺号一啊tV,a,qCHARl2lVARCHAR5}VARCHA.qfl研VARCHAR08lVARCI'蝴翩V,kRCHAI:t{1国VARCHAR[18lVARCHAR[18】譬鑫矗照撵t、碱RC心‘R2∞烽簧往蓬编号VARCHAR[18)V,蠊CHARIS}VARCHAR[18lVARCHARfl8l1量蛋人Ⅵ^RC№峨(18l誓健越釜壤葛囊VARCHAR(18l图4.2数据表间的关系存储的是用户的信息。在用户登录时,系统将用户输入的信息,如用户名,密码等与用户表中的数据对比,如果用户名,密码都正确,则系统根据用户的级别(管理员,普通用户)让他们跳转至相应的页面。用户表的结构如表4.3所示。表4.3用户表结构数据长度20202088字段名用户ID用户名称密码录入日期录入时间数据类型字符型字符型字符型字符銎字符型非空否否否是是第4章系统数据库设计角色表存储的是角色参数的信息。角色表的结构如图4.4所示。表4.4角色表结构字段名角色角色名称数据类型字符型字符型数据长度1020非空否否用户角色存储的是用户和角色关系信息。用户角色表的结构如表4.5所示。表4.5用户角色表结构字段名用户ID所有角色集合数据类型字符型字符型数据长度2010非空否否功能角色存储的功能的角色信息信息。功能角色表的结构如表4.6所示。表4.6功能角色结构字段名角色ID功能lD数据类型字符型字符型数据长度1010非空否否系统功能存储的是系统的所有功能信息。功能表表的结构如表4.7所示。表4.7系统功能表结构字段名功能ID上级ID功能名称图片地址数据类型字符型字符型字符型字符型数据长度1041520非空否否否否第4章系统数据库设计功能对应的URL字符型lO否排序标志数值型5(3.o)‘否功能描述字符型6否常住人口信息存储的是常住人口基本资料信息。常住人口表的结构如表4.8所示。表4.8常住人口表结构字段名数据类型数据长度非空身份证号码字符型18否●名称字符型18否曾用名字符型18否性别字符型2否出生日期字符型8否血型字符型2否身高字符型5否电话号码字符型18否职业字符型18否职业类型字符型18否兵役情况字符型18是籍贯国家字符型18否籍贯市县字符型50否省市县字符型50否乡镇街道字符型50否门楼类型字符型200否派出所字符型200否居委会字符型200否住址详址字符型200否第4章系统数据库设计暂住人口信息存储的是常住人口基本资料信息。暂住人口表表的结构如表4.9所示。表4.9暂住表结构字段名身份证号码姓名别名性别出生日期身高电话号码职业常住地址暂住证编号责任人暂住证签发日期暂住证到期日期现从事行业暂住理由暂住住所暂住详细地址数据类型字符型字符型字符型字符型字符型字符型字符型数值型字符型字符型字符型字符型字符型字符型字符型字符型字符型数据长度1818182851819200181818505080200200非空否否否否否否否否否否否否否否否否否4.3如何进行数据库安全设计在安全的数据库中,既要保证授权的合法用户对数据的有效存取,又能严第4章系统数据库设计格拒绝非法用户的攻击企图。因此,数据库安全系统的设计目标包含以下三项:(1)数据的完整性。数据的完整性指数据的正确性、一致性和相容性。系统只允许授权的合法用户存取数据库中的数据信息,并且以不破坏数据的完整性为前提;同时,系统应该杜绝非法用户对数据信息进行任何存取操作。由于多个程序并发存取同一个数据库中的数据,可能会造成数据的不一致性。所以安全系统要具有保证数据一致性的功能。(2)数据的可用性。当系统授权的合法用户申请存取有权存取的数据时,安全系统应该尽量减小对合法操作的影响。换句话说,采用的安全机制不能明显降低数据库系统的操作性能。(3)数据的保密性。安全系统应该提供一个高强度的加密方案,对数据库中的机敏数据进行加密处理。只有当系统的合法用户访问有权访问的数据时,系统才把相应的数据进行解密操作;否则,系统应保持机敏数据的加密状态,以防止非法用户窃取到明文信息,对系统进行攻击。4.4数据库的连接4.4.1数据库与Web服务器的JDBC连接本系统主要采用JDBC的API中没有提供连接池的方法。一些大型的WEB应用服务器如BEA的WebLogic和IBM的WebSphere等提供了连接池的机制,但是必须有其第三方的专用类方法支持连接池的用法,本系统是用连接池的技术,需要考虑的是多线程并发问题、多数据库多用户操作、事务的处理、连接池的分配与释放。其主要代码语句如下publicclassDBConnectionPoolimplementsprivateConnectioncon=null;privateintinUsed=0;TimerListener{//使用的连接数ArrayList0;//容器,空闲连接privateAxrayListfreeConnections=newprivateintminConn;privateintmaxConn;//最小连接数//最大连接3l第4章系统数据库设计privateSUingname;//连接池名字privateStringpassword;//密码privateStringurl;privateStringdriver;privateStringuser;//数据库连接地址//驱动//用户名//定时publicTimertimer;/.・●I|publicDBConnectionPool0{constructorstub||10DQAuto—generated}/.・・创建连接池・@p黜姗driver・@paramname・@paramURL・@pammuser・@param・@paramI|publicpasswordmaxConnDBConnectionPool(Stringname,Stringdriver,StringURL,Stringuser9Stringpassword,intmaxConn){this.name--name;this.driver--driver;this.url=URL;this.user=user;this.password=password;this.maxConn=maxConn;}32第4章系统数据库设计/謇事・用完,释放连接・@paten'|conpublicsynchronizedvoidfreeConnection(Connectioncon){this.freeConnections.add(con);//添加到空闲连接的末尾this.inUsed一;),.・・time,out根据timeout得到连接timeout・@param・@return’|publicsynchronizedConnectiongetConnection(10ngtimeout){Connectioncon--null;if(this.freeConnections.sizeO>O){con=(Connection)this.freeConnections.get(O);if(con一----null)con=getConnection(timeout);//继续获得连接>else{con--newConnectionO;//新建连接)if(this.maxConn—OIIthis.maxConn<this.inUsed){con--null;//达到最大连接数,暂时不能获得连接了。,if(con!--null)33第4章系统数据库设计{this.inUseiI++;}l℃tWllcon;)/.●●・从连接池里得到连接・@return’lpublicsynchronizedConnectiongetConnectionO{Connectioncon--null;if(this.freeConnections.size()>O){con=(Connection)this.freeConnections.get(o);this.freeConnections.remove(O);//如果连接分配出去了,就从空闲连接里删除if(con一---null)con=getConnectionO;//继续获得连接}else{con--newConnectionO;//新建连接}if(this.maxConn==OIIthis.maxConn<this.inUsed){con--null;//等待超过最大连接时}if(con!--null){this.inUse小斗;System.out.printh(”得到¨+this.name+"的连接,现有”+inUsed+"个连接在第4章系统数据库设计使用!”);)retl/rnCOIl;}严・・释放全部连接●publicStringgetPasswordO{returnpassword;}严・・@par锄passwordthepasswordtoset・/publicvoidsetPassword(Stringpassword){this.password=password;’产幸・@returntheurl4.5本章小结本章从设计模型出发,结合需求和工作中实际操作的流程,对结构进行了逻辑设计,并针对数据库访问及数据库安全设计介绍,并结合了本系统的特点,包括WEB是部署在webspere服务器上,因此采用了JDBC连接池的方式多数据库进行访问。35第5章系统实现第5章系统实现通过需求分析和设计阶段的论述,下面具体介绍本系统的实现。5.1户籍管理主登录界面的实现户籍管理系统登录要求用户名及密码,单击登录后,会判断用户名和密码否输入正确。如果正确即可进入教务管理系统的界面,系统登录的流程如图5.1所示:图5.1系统登录流程图第5章系统实现5.2系统部分模块的实现系统主要包括系统用户管理、权限管理、户籍管理(人口管理模块及暂住人口管理模块)和报表查询模块。5.2.1人口管理.常住人口管理模块在查询条件栏,输入查询条件即可进行查询.本系统根据民警所属分局辖区派出所,所属责任区设置默认查询功能,户籍民警在成功登陆界面后可以进行常住人口相关业务的办理。例如:常住人口—迁入业务输入人员名称,并且需要输入人员户籍地址,选择是否成功进行纳管条件等。如图5.2所示。砜“7j—5:然.』!£!J=kHMb4・一————匠i二]iii一:黧急_Ⅲ—粤篇等—…一…^-—————,0j-一§㈣p●t瑚■l…£……f_●一p●-#j一…图52常住人口信息查询袁第5章系统实现5.2.2人口管理.暂住人口管理模块打丌人D管理暂住人口,输入对应的暂住人口条件如:身份证号,变更日期,常口所在地类型.暂住处所等信息后对该名暂住人口进行保存。如图5.3所示。圈53暂住人口界面第5章系统实现5.2.3相美界面和实现代码图54户籍管理系统登陆界面登录页面的实现代码login.jsp如下硼@includefile2"/commonsJinclude/taglibs.jsp”%><%@pagepageEncoding=“6BK”%><head><title><bean:messagekey—systemwelcome”卢-<bean:messaEkev=”system</title>nⅫe”,><metacharset=GBK‘’>http-equiv-”Content-Type”content=“text/第5章系统实现<linkhref=”<o/俨-request.getContextPathO%>/commons/css/login.CSS”tel=”stylesheet¨t),]pe=”text/css”><scriptlanguage=”JavaScdpt”src5¨<e/旷--request.getContextPathO%>/commons/js/div.js¨></script><scriptlanguage=”JavaScript¨src。”<%---request.getContextPathO%>/eommons/js/wait.js”></script><scriptlanguage=”JavaScript”src2”<%--爿equest.getContextPathO%>/commons/js/xmlhttp.js”></script><scriptlanguage=”JavaScript”src。¨<%-可equest.getContextPathO%>/commons/js/handleEnter.js”></script><scriptlanguage=’'javascript¨>functiononloadO{if(<%--request.getAttribute(”returnMessage”)!=null%>){varalt=’<%--request.getAttribute(”retumMessage”)%>.;alert(air);document.a11.passWord.value=’。¨;document.a11.userName.value=...-;if(alt.indexOf(’密码‘)!=.1){document.all(”passWord”).focus();}else{document.a11.userName.focusO;}第5章系统实现}else{document.a11.userName.focusO;))functioncheckForm(){if(document.a11.userName.value—ffft){ale暇”请输入用户名!”);document.a11.userName.focus();returnfalse;}else{if(document.all(”passWord”).value==…’)alert(”请输入密码!”);document.all(”passWord”).focusO;returnfalse;><%一document.a11.hiddertName.valuedocument.getElementByld(”usemameselect”).value;.・%>startWaitPanel();reRlNltrue;)functionsbmtO{if(checkFormO)//checkFormO){document.forms[0].submit();}}41第5章系统实现</script><style<!一tyl舻-”ICX“CS¥”>body{margin-left::orIx;margin-top:opx;margin.・right:Opx;margin-bouom:0px;background.一image:url(commons/image/loginimage/beijpg);}・.-></style><scriptlanguage='"javaseript'’’>functionkeyCheck(iobj){vRruserlist--document,.getElementById(’'userlist'’);Val"length=userlist.rows.1ength;vartrIndex=0;//获取当前行的索引变量∥取得ugemflme控件的位置,让层显示在它的下面vart---e.offsetTop;l=e..offsetLeft;var42第5章系统实现出生八户界面主要实现新生儿出生上户并保存新生儿的出生记录。该页面需要业务人员按要求录入新生儿姓名,性别.民族,与户主关系,监护人姓名,出生地,户别(可进行下拉菜单选择),出生登记类别(下拉菜单可选)等项目,然后点击确认后可保存新生儿记录。程序主要代码如下:图55户籍管理系统出生^户界面while(e-eoffsetParent){t。}=eoffsetTop;l+-eoffsetLeft;}第5章系统实现if(usemame.1ength=o){alert(’请输入生日或者姓名拼音缩写.);returnfalse;}。//判断用户输入的是日期还是字母Val"loginFlag=帅;if(/[/'\u4E00一\u9FA5]/g.test(usemame)){loginFlag=”USER_BIRTH”;}if0(/"6一?)(\d+)¥/.test(usemame))){loginFlag=’。NAME—SPELL";}if(109inFlag-一”USER_BIRTH”){if(username.1ength!=6){alen(’请输入6位日期’);returnfalse;))else{if(usemame.1ength<2){alert(’请输入至少2个拼音字母’);returnif(109inFla『’"NAME_SPELL”)false;}}第5章系统实现相关图表实现代码:chanservkjav≈主要采用了jfreechart的包{盗叠嚆i盗蔷蔷蔷溘丢釜‰…==■。Ⅲ目耍gE==========二======1强自自【==二=圈56户籍管理系统相关幽表界面packagecomforms.co曲onchart;importjava.awlColor;imporljavaimportjavaimportjavaavaFont;awtShape;iolOException;ioOutputStream;importjavaimportjavaimportjavaimportjavatext.SimpleDateFormat;utilCollection;utilHas[]able;第5章系统实现importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpScrvlct;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;u‘nportorgjfrce.chart.ChartFactory;u。nporto玛.jf硪.chart.ChartUtilities;i‘mportorg.jfree.chart.JFreeChart;t。mportorg.j能e.chart.TextTitle;i‘mportorgjfrcc.chart.axis.DateAxis;t‘mportorg.jfree.chart.axis.DateTickUnit;n‘nporto玛.jfl优.chart.axis.NumberAxis;u‘nporto玛j触.chart.plot.PiePlot;i。mportorg.jfrcc.chart.plot.PlotOrientation;t‘mportorg.jfrcc.data.DefaultCategoryDataset;t。mportorg.jfree.data.DefaultPieDataset;t‘mportorg.jfrec.data.time.Day;t‘mporto玛.jf慨.data.time.TimeSeries;t‘mportogd疳ee.data.time.TimeSeriesCollection;importimportcorn.forms.common.contants.system.SysContants;corn.forms.common.util.Tool;publicclassChartServlctextendsHttpServletprivatestaticfinallongserialVersionUID=1L;第5章系统实现,幸掌・ThedoGetmethodoftheServlet.<br>・Thismethodiscalledwhen●aformhasitstagvaluemethodequalstoget.・@paramrequestserver・therequestsendbytheclienttothe・@param・@throws・response・theresponsesendServletExceptionbytheservertotheclientifanerroroccurred・@throws幸IOExceptionifanerroroccurredIlpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//request.setCharacterEncoding(”GB2312”);//设置输入编码格式response.setContentType(”image/jpeg”);//设置输出编码格式//response.SetContentType(”iIIlage/jpeg”);OutputStreamout—response.getOutputStreamO;Stringwidth=request.getParameter(”width”);Stringheight2request.getParameter(”height”);2StringcharttypeStringrequest.getPammeter(”charttype”);listname=request.getParameter(”listname”);listname2。nulllllismame.equals(”””if(1istname.equals(”null”)If{47第5章系统实现listname=”chartList”;Stringtitle=null;Stringlabel=null;Stringlegend=null;//title=request.getParameter(”title¨);//titleT001.encodeStrFromISOToGBK(T001.getDb(request.getParameter(”title”)));title=T001.changeChinese(request,request.getParameter(”title”));JFreeChartchart=null;if(width—null0width.equalslgnoreCase(…’))width=”680”;if(height—nulliIheight.equalslgnoreCase(””))height=¨480";ListIs=(List)request.getSessionO.getAttribute(1istname);if(Is—nullIIcharttype—null){>else{if(charttype.equalslgnoreCase(”bar”)){DefaultCategoryDatasetdata=newDefaultCategoryDatasetO;for(inti=O;i<ls.sizeO;i抖){CommonChartModelccm=(CommonChartModel)ls.get(i);第5章系统实现data.addValue(ccm.getValue0,ccm.getName());data.incrementValue(ecm.getValue0,ocm.getNameO);)ccm.getNameO,eem.getNameO,chart=ChartFactory.ereateBarChart3D(title,//图表标题label,//目录轴的显示标签legend,//数值轴的显示标签data,//数据集PlotOrientation.VERTICAL,//图表方向:水平、垂直false,//是否显示图例(对于简单的柱状图必须是false)5.3本章小结本章简单介绍了系统的部分模块的实现,主要是户籍管理中的入口管理,侧重的介绍了常住人口管理和暂住人口管理及用户登录原则需要输入用户的用户ID和用户密码。49第6章总结与展望第6章总结与展望6.1总结本文首先从课题背景出发,叙述了目前公安信息系统的现状,提出了开原始基础平台衍生出绩效考核、决策支持、公文管理模块的必要性,对现有的系统方便性和工作模式进行了总结,也初步定义了系统的主要功能和各项接口设计,提出了系统设计的主要目标,到达的效果及整体的系统功能设计方案,包括了后续测试方案的编写与实现及跟踪了系统的运行情况在系统的整体的开发周期,本人主要涉及到是绩效考核、决策支持、公文处理模块,在和同事一起开发一年里,使我不但在技术水平有了很到的提高,更重要的是得到了业务知识的宝贵的财富,为我后续
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智能客服现场客服笔试题库含答案
- 2026年云南省临沧市高职单招综合素质考试题库及完整版答案解析考点版
- 2026年卫生副高级职称考试(普通外科)经典试题及答案-全国高级
- 塑料制品生产项目职业病危害评价
- 2026年南京交安b证考试考试试题及答案
- 2026年江西有色智联科技有限公司招聘6人笔试参考试题及答案解析
- 湿地生态修复及保育工程农用地转用方案
- 2026年湖南省中考化学试卷(含答案及解析)
- 2026年病理学技术考试备考冲刺模拟试卷含答案解析
- 汽车配件生产项目规划选址论证报告
- 农商银行信贷业务培训
- -腹腔镜下肝部分切除术的护理查房
- 地基基础-001-国开机考复习资料
- 2024年浙江省温州市龙湾区委龙湾区人民政府信访局招聘编外1人【重点基础提升】模拟试题(共500题)附带答案详解
- DZ∕T 0213-2020 矿产地质勘查规范 石灰岩、水泥配料类(正式版)
- MOOC 信号与系统-哈尔滨工业大学 中国大学慕课答案
- 2024年陕西华特新材料股份限公司社会招聘技能操作人员6人高频考题难、易错点模拟试题(共500题)附带答案详解
- 中国抗日战争史智慧树知到期末考试答案2024年
- 道德与法治统编版六年级下册全册表格式教案
- 老年人护理风险管理
- 2024届山东省青岛市青岛第二中学化学高二第二学期期末学业质量监测试题含解析
评论
0/150
提交评论