版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄摘ABSTRACT1引言1開(kāi)發(fā)目--相關(guān)術(shù)--系統(tǒng)概--2可行分-2-經(jīng)濟(jì)可性-2-技術(shù)可性-2-操作可性-3-3總體計(jì)3開(kāi)發(fā)、行境-3-系統(tǒng)功描-4-系統(tǒng)結(jié)--3.3.1技架構(gòu)-4-3.3.2功結(jié)構(gòu)-5-相關(guān)技介-6-簡(jiǎn)介6-JSP簡(jiǎn)-7-JQuery介-7簡(jiǎn)介--
簡(jiǎn)-8-
語(yǔ)的--Spring簡(jiǎn)9-Hibernate簡(jiǎn)介-介-10簡(jiǎn)介-104數(shù)據(jù)設(shè)-11數(shù)據(jù)表--4.1.1用信息表--4.1.2物維修息--4.1.3居信息表--4.1.4房信息表--4.1.5出死亡息--4.1.6通錄信13系統(tǒng)E-R-5模塊計(jì)-公共模功-14
5.1.1用登錄-145.1.2用退出-175.1.3修密碼-18用戶管-5.2.1用信息195.2.2管員信管--事務(wù)管-5.3.1人信息215.3.1出死亡235.3.1房信息265.3.1居通信錄--5.3.1物維修307結(jié)束-總結(jié)-32展望-33參文-33-致34
摘要本系統(tǒng)是一個(gè)基于發(fā)的居民社區(qū)管理系統(tǒng)。頁(yè)面部分通過(guò)JSP對(duì)用戶管理、管理員管理、人口信息登記、出生死亡登記、房產(chǎn)信息登記、居民通信錄、物品維修登記等內(nèi)容進(jìn)行展示部分?jǐn)?shù)據(jù)是通過(guò)訪問(wèn)Struts2直接帶到前端頁(yè)面還有部分的數(shù)據(jù)交互是通過(guò)行的,通過(guò)ajax訪問(wèn)返回JSON數(shù)據(jù)格式,從而避免了因?yàn)閭€(gè)別單獨(dú)的功能而整個(gè)頁(yè)面刷新,只進(jìn)行局部刷新,提升了用戶體驗(yàn)效果。數(shù)據(jù)持久化部分是通過(guò)HIBERNATE現(xiàn)的過(guò)面向?qū)ο蟮乃枷雭?lái)操作數(shù)據(jù)庫(kù)作為一個(gè)容器管理著本系統(tǒng)中所有的部分是直接在配置文件中編寫(xiě)還有很大的一部分是通過(guò)hibernate和spring的注解來(lái)實(shí)現(xiàn)的,這充分運(yùn)用了Spring的DI和AOP思想,通過(guò)spring本系統(tǒng)中的技術(shù)整合到一起,從而使得系統(tǒng)既統(tǒng)一又解耦,技術(shù)思路清晰,開(kāi)發(fā)效率得到進(jìn)一步的提升。居民的信息管理是本系統(tǒng)的核心,通過(guò)本系統(tǒng)管理社區(qū)居民的信息,可以提供了社區(qū)工作人員的工作效率、節(jié)省了工作成本。如果有重要的事情需要查詢、登記,本系統(tǒng)可以完全勝任,大大提高了生產(chǎn)力。關(guān)鍵詞JSP;Action;;DI;AbstractThissystemisaweb-basedmanagementsystemdevelopedbycommunityresidents.PartlythroughJSPpagesforusermanagement,Administrator,demographicinformationregistration,birthdeathregistration,registrationofrealaddressbook,othercontentfordisplayservice,someofdataistakendirectlytofrontpagebyvisitingStruts2Aciton,alsointeractivedatasectioniscarriedoutbyJQuery,JSONdatareturnedaftervisitActionthroughajax,avoidingaseparatefunctionoftheandrefresh,onlypartialrefresh,enhancetheexperiencepersistencepartthroughHIBERNATErealizedthroughobject-orientedtomanipulatethedatabase.Springasacontainermanagesthissystemallthebean,partlywrittendirectlyintheconfigurationfile,thereisagreatpart,throughhibernateandspringannotationstoachieve,whichmakesfulluseofSpring'sDIByspringtheintegrationsystemsothatthesystemhasbothunifieddecouplingtechniqueclearthinking,theI
developmentefficiencycanbefurtherimproved.Informationmanagementisthecoreoftheresidentsofthissystem,thissystemthroughinformationmanagementcommunitycanprovidetheefficiencyofcommunityworkers,savingoperatingcosts.Ifthereareimportantthingstocheck,registration,thesystemcanbefullyqualified,greatlyimprovingproductivity.Keywords:;;DI;II
1言1.1發(fā)目的計(jì)算機(jī)技術(shù)的高速發(fā)展,隨著社會(huì)的發(fā)展帶動(dòng)著各行各業(yè)的數(shù)據(jù)基數(shù)成基數(shù)增加,原始的人工操作已經(jīng)遠(yuǎn)遠(yuǎn)不能平衡高速的發(fā)展需求用計(jì)算機(jī)信息技術(shù)來(lái)代替大部分的原始人工操作已經(jīng)成為了必然的選擇,本系統(tǒng)也是在這樣的背景中運(yùn)應(yīng)而生。本系統(tǒng)名為居民社區(qū)管理系統(tǒng),主題是社區(qū)居民,主要面向的用戶是社區(qū)的居民及社區(qū)工作的管理人員,通過(guò)開(kāi)發(fā)使用本系統(tǒng)可以使得社區(qū)居民的管理工作有條不紊,使得居民的各項(xiàng)事務(wù)可以順利執(zhí)行,營(yíng)造一個(gè)和諧、高效的居民社區(qū)生活環(huán)境,出于以上的種種考慮,所有本人決定開(kāi)發(fā)居民社區(qū)管理系統(tǒng),既是作為本人的畢業(yè)設(shè)計(jì),也可以開(kāi)發(fā)中學(xué)會(huì)種種的技術(shù),為以后的社會(huì)工作打下扎實(shí)的基礎(chǔ)。1.2關(guān)術(shù)語(yǔ)DI依賴注入,是的主要技術(shù)之一,DependencyInjection簡(jiǎn)寫(xiě)。持久化即把數(shù)據(jù)(如內(nèi)存中的對(duì)象)保存到可永久保存的存儲(chǔ)設(shè)備中(如磁盤(pán))。持久化的主要應(yīng)用是將內(nèi)存中的對(duì)象存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中當(dāng)然也可以存儲(chǔ)在磁盤(pán)文件中、XML數(shù)據(jù)文件中等。IDE:集成開(kāi)發(fā)環(huán)境,也可以說(shuō)成是本項(xiàng)目的開(kāi)發(fā)工具。AOP:在軟件業(yè),AOPAspectOrientedProgramming的縮寫(xiě),意為:面向切面編程,通過(guò)預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。是OOP的延續(xù)是軟件開(kāi)發(fā)中的一個(gè)熱點(diǎn)也是Spring框架中的一個(gè)重要內(nèi)容是函數(shù)式編程的一種衍生范型。利AOP可以對(duì)業(yè)務(wù)邏輯的各個(gè)部分進(jìn)行隔離,從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性,同時(shí)提高了開(kāi)發(fā)的效率。1.3統(tǒng)概覽居民社區(qū)管理系統(tǒng)是一套為社區(qū)居民和社區(qū)事務(wù)管理人員提供高效的社區(qū)管理的軟件系統(tǒng),從社區(qū)事務(wù)的工作人員而言,它可以提高社區(qū)工作人員管理社區(qū)人口事務(wù)等的效率。從社區(qū)居民的角度而言,它可以方便社區(qū)居民的生活,提供部分便捷的居民社區(qū)服務(wù)。工作人員可以收集社區(qū)的人口信息、健康信息、戶口信息、出生和死亡信息,體現(xiàn)出本社區(qū)的人口流動(dòng)情況,為社會(huì)事務(wù)的決策提供有力依據(jù)。在社區(qū)的范圍內(nèi)提供便捷的社區(qū)服務(wù),方便居民,這點(diǎn)是根本上的惠民政策。以上就是本居民社區(qū)管理系統(tǒng)的系統(tǒng)概述。-1-
2行分析隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,人們對(duì)網(wǎng)絡(luò)的需求也越來(lái)越苛刻,越來(lái)越貼近其生活,電子信息管理已經(jīng)成為網(wǎng)上的一股潮流。而更多的,是要求傳統(tǒng)行業(yè)的管理要延伸到網(wǎng)絡(luò),以更方便其生活、工作和學(xué)習(xí)??尚行匝芯康哪康?,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。要達(dá)到這個(gè)目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否現(xiàn)實(shí),系統(tǒng)完成后所能帶來(lái)的效益是否大到值得投資開(kāi)發(fā)這個(gè)系統(tǒng)的程度。因此,可行性研究實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過(guò)程也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過(guò)程。系統(tǒng)的可行性分析主要包括經(jīng)濟(jì)上的可行性、技術(shù)上的可行性和操作上的可行性。2.1濟(jì)可行性由于居民社區(qū)管理系要求的機(jī)及相關(guān)件)和軟件境(jdk+mysql+tomcat),市場(chǎng)上都容易購(gòu)買(mǎi)到或從相關(guān)網(wǎng)站下載,系統(tǒng)成本主要集中在本管理系統(tǒng)的開(kāi)發(fā)與維護(hù)上,對(duì)居民社區(qū)不會(huì)造成過(guò)重的經(jīng)濟(jì)負(fù)擔(dān)。而一旦此系統(tǒng)投入使用,僅可以減少社區(qū)事務(wù)工作人員的工作強(qiáng)度,提高工作效率,而且方便了社區(qū)中心對(duì)本社區(qū)的人口流動(dòng)及其他相關(guān)信息的管理,延續(xù)了傳統(tǒng)的管理模式,極大限度的方便了社區(qū)管理人員,而且,目標(biāo)系統(tǒng)不是很復(fù)雜,開(kāi)發(fā)的周期較短,人員經(jīng)濟(jì)支出不大,所節(jié)省的大量人力、財(cái)力產(chǎn)生的效益將遠(yuǎn)遠(yuǎn)大于本借閱系統(tǒng)的開(kāi)發(fā)成本,所以從經(jīng)濟(jì)方面講開(kāi)發(fā)此系統(tǒng)是可行的。2.1術(shù)可行性居民社區(qū)管理系統(tǒng)的開(kāi)發(fā)基于模式主要包括前端應(yīng)用程序的開(kāi)發(fā)以及后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)兩個(gè)方面。對(duì)于前者要求應(yīng)具備功能完備、易于使用等特點(diǎn),而對(duì)于后者則要求能建立數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。B/S結(jié)(Browser/Server結(jié)構(gòu)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)它是隨著技術(shù)的興起,對(duì)結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端()實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層結(jié)構(gòu)。這樣就大大簡(jiǎn)化了網(wǎng)點(diǎn)端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本()。以目前的技術(shù)看,局域網(wǎng)建B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下-2-
數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如WAN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。目前我院內(nèi)網(wǎng)Intranet、外網(wǎng)Internet和北京東方清大公司“案件、辦公管理軟件”就是B/S結(jié)構(gòu)管理軟件警在局域網(wǎng)各工作站通過(guò)瀏覽器就能實(shí)現(xiàn)工作業(yè)務(wù)。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、速度慢、效果優(yōu)。隨著Internet和的流行以往的主機(jī)/終端和C/S都無(wú)法滿足當(dāng)前的全球網(wǎng)絡(luò)開(kāi)放、互連、信息隨處可見(jiàn)和信息共享的新要求,于是就出現(xiàn)了型模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。B/S模式最大特點(diǎn)是:用戶可以通過(guò)WWW例覽器去訪問(wèn)Internet上的文本、數(shù)據(jù)、圖像、動(dòng)畫(huà)、視頻點(diǎn)播和聲音信息,這些信息都是由許許多多的服務(wù)器產(chǎn)生的,而每一Web服務(wù)器又可以通過(guò)各種方式與數(shù)據(jù)庫(kù)服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫(kù)服務(wù)器中。網(wǎng)點(diǎn)端除了創(chuàng)覽器,一般無(wú)須任何用戶程序,只需從Web服務(wù)器上下載程序到本地來(lái)執(zhí)行,在下載過(guò)程中若遇到與數(shù)據(jù)庫(kù)有關(guān)的指令,由務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器來(lái)解釋執(zhí)行,并返回給Web服務(wù)器,Web務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個(gè)巨大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的。2.1作可行性以上從經(jīng)濟(jì)和技術(shù)的角度來(lái)闡述了開(kāi)發(fā)及使用本系統(tǒng)是確實(shí)可行的雖然開(kāi)發(fā)本系統(tǒng)需要專業(yè)的技術(shù),對(duì)于社區(qū)的使用者來(lái)講是可以很快上手的,只要稍作使用培訓(xùn),有一點(diǎn)基本的計(jì)算機(jī)技能就行勝任,其中絕對(duì)沒(méi)有設(shè)計(jì)到十分專業(yè)的計(jì)算機(jī)知識(shí),其工作效率比起人工或者手工操作是不可同日而語(yǔ)的它的可以操作性和實(shí)用性都是可以準(zhǔn)確預(yù)見(jiàn)的,不存在其他任何方面的潛在風(fēng)險(xiǎn),所以本人認(rèn)為操作可行性是沒(méi)問(wèn)題的。3體計(jì)3.1發(fā)、運(yùn)行環(huán)境服務(wù)器:數(shù)據(jù)庫(kù)服務(wù)器:技術(shù)框架:、、、SpringIOC、、Struts2、easyUI服務(wù)器操作系統(tǒng):Windows2003server、WindowsXP、Windows7-3-
開(kāi)發(fā)語(yǔ)言:JAVA客戶端瀏覽器:IE、客戶端操作系統(tǒng):Windows:MyEclipse/Eclipse3.2統(tǒng)功能描述以下從用戶的角度來(lái)說(shuō)明本居民社區(qū)管理系統(tǒng)的功能點(diǎn)本系統(tǒng)主要面向的用戶的社區(qū)事務(wù)的工作人員和本社區(qū)的居民社區(qū)事務(wù)工作人員在本系統(tǒng)中充當(dāng)著系統(tǒng)管理員的角色,擁有本系統(tǒng)的所有最高權(quán)限,而用戶則具有較低的系統(tǒng)權(quán)限。管理員可以對(duì)本系統(tǒng)的所有用戶進(jìn)行管理,這里的用戶包括管理員和系統(tǒng)的一般用戶,管理員可以根據(jù)用戶賬號(hào)、用戶名稱、注冊(cè)時(shí)間等信息對(duì)用戶和管理員的信息進(jìn)行查詢,可以新增用戶及管理員、甚至可以修改和刪除本系統(tǒng)中的所有用戶和管理員。用戶管理不是本系統(tǒng)的核心,本居民社區(qū)管理系統(tǒng)的核心是一下的居民社區(qū)事務(wù)管理模塊的各個(gè)功能點(diǎn)。包塊人口信息登記、出生死亡信息登記、房產(chǎn)信息登記、居民通信錄信息維護(hù)、物品維修登記等。管理員可以在本系統(tǒng)錄入、查詢、修改和刪除登記在本居民社區(qū)管理系統(tǒng)中的人口信息數(shù)據(jù)。本系統(tǒng)可以登記本社區(qū)中的人員出生及死亡信息,通過(guò)以上的信息可以反映出本社區(qū)的人口動(dòng)態(tài),以便為基礎(chǔ)事務(wù)的決策作有效的數(shù)據(jù)依據(jù),以上的都是關(guān)于人口方面的功能。出了人口信息登記,本系統(tǒng)還可以登記本社區(qū)中的房產(chǎn)信息,管理員可以根據(jù)大概的房產(chǎn)地址和房產(chǎn)證數(shù)據(jù)對(duì)本社區(qū)的房產(chǎn)信息進(jìn)行管理,包括查詢、新增、刪除和修改房產(chǎn)信息。本系統(tǒng)還有另外兩方面功能是關(guān)于本社區(qū)中的居民的,給居民提供社區(qū)服務(wù)和共同溝通平臺(tái),里面可以登記本社區(qū)中居民詳細(xì)及常用的通信工具、通信渠道,為居民的相互溝通提供的極大的便利,另外一方面就是物品維修登記,通過(guò)本功能居民可以登記需要修補(bǔ)的生活物品通過(guò)本系統(tǒng)可以準(zhǔn)確收集居民需要社區(qū)服務(wù)的相關(guān)信息,集中統(tǒng)計(jì)服務(wù)數(shù)據(jù)、線下逐步落實(shí)。以上就是本居民社區(qū)管理系統(tǒng)的主要功能點(diǎn)。3.3統(tǒng)結(jié)構(gòu)3.3.1術(shù)架構(gòu)本系統(tǒng)采用JSP+easyUI+JQuery+Struts2+Hibernate+Spring的技術(shù)架構(gòu):和easyUI用于頁(yè)面展示和數(shù)據(jù)的承載于和后臺(tái)進(jìn)行無(wú)刷(局部刷新交互;Struts2Action作為前后臺(tái)數(shù)據(jù)交互的紐帶,在本項(xiàng)目中起著十分重要的角色,對(duì)前端數(shù)據(jù)訪問(wèn)的接受及對(duì)業(yè)務(wù)結(jié)果數(shù)據(jù)向前臺(tái)傳送;則是本項(xiàng)目用于訪問(wèn)數(shù)據(jù)的API,用面向?qū)ο蟮乃枷雭?lái)操作數(shù)據(jù)庫(kù),不但提高的程序的可讀性,還提高了開(kāi)發(fā)效-4-
率;本系統(tǒng)的技術(shù)核心,通過(guò)運(yùn)spring的注入和AOP,是本系統(tǒng)的解耦進(jìn)一步得到提高。本系統(tǒng)的技術(shù)架構(gòu)圖如圖3-1:圖3-1技構(gòu)構(gòu)圖3.3.2能結(jié)構(gòu)居民社區(qū)管理系統(tǒng)的詳細(xì)功能結(jié)構(gòu)圖如圖:-5-
圖3-2詳功能結(jié)構(gòu)圖3.4關(guān)技術(shù)介紹Tomcat簡(jiǎn)介服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器前最新版本是。是軟件基金會(huì)(ApacheSoftwareFoundation)的項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat支持最新的2.4和2.0規(guī)范。因?yàn)榧夹g(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可為目前比較流行的應(yīng)用服務(wù)器。很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)JSP程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好服務(wù)器,可利用它響應(yīng)對(duì)頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat部分是服務(wù)器的擴(kuò)展但它是獨(dú)立運(yùn)行的所以當(dāng)你運(yùn)行時(shí)它實(shí)際上-6-
作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。當(dāng)配置正確時(shí),Apache為頁(yè)面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁(yè)面和Servlet。另外,和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)和容器,獨(dú)立的容器是默認(rèn)模式過(guò)處理靜態(tài)HTML的能力不如服務(wù)器。簡(jiǎn)介java服務(wù)器頁(yè)面是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)JSP技術(shù)有點(diǎn)類(lèi)似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集文件(*.htm,*.html)中插入Java序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP件綴名為*.jsp)。用JSP開(kāi)的Web應(yīng)用是跨平臺(tái)的在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP全名為ServerPages,其根本是一個(gè)簡(jiǎn)化的設(shè)計(jì),他實(shí)現(xiàn)語(yǔ)法中的java張(以<%,%>形式)。JSP與Servlet一樣是在服務(wù)器端執(zhí)行的通常返回給客戶端的就是一個(gè)文本因此客戶端只要有瀏覽器就能瀏覽。JSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類(lèi)XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)的顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。JSP(JavaServerPages)是一種動(dòng)態(tài)頁(yè)面技術(shù)它的主要目的是將表示邏輯從Servlet中分離出來(lái)。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web用程序的開(kāi)發(fā)需要JavaServlet和JSP配合才能完成JSP具備了Java技術(shù)的簡(jiǎn)單易用完全的面向?qū)ο缶哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。簡(jiǎn)介Jquery是繼之后又一個(gè)優(yōu)秀的Javascript。它是輕量級(jí)的庫(kù),它兼容CSS3,還兼容各種瀏覽器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+,jQuery2.0及后續(xù)版本將不再支持IE6/7/8瀏覽器使用戶能更方便地處理HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)實(shí)現(xiàn)動(dòng)畫(huà)效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。能夠使用戶的頁(yè)面保持代碼和html內(nèi)容分離,也就是說(shuō),不用再在html面插入一堆js來(lái)調(diào)用命令了,只需要定義id即可。是一個(gè)兼容多瀏覽器的javascript庫(kù),核心理念是writeless,domore(寫(xiě)得更少,做得更多)。jQuery1由美國(guó)人Resig紐約的barcamp發(fā)布引了來(lái)自世界各地的眾多高手加入DaveMethvin率領(lǐng)團(tuán)隊(duì)進(jìn)行開(kāi)發(fā)如今jQuery已經(jīng)成為最流行的庫(kù)[2]在世界前10000-7-
個(gè)訪問(wèn)最多的網(wǎng)站中,有超過(guò)55%在使用jQuery是免費(fèi)、開(kāi)源的,使用MIT許可協(xié)議。jQuery的語(yǔ)法設(shè)計(jì)可以使開(kāi)發(fā)者更加便捷,例如操作文檔對(duì)象、選擇DOM元素制作動(dòng)畫(huà)效果事件處理使用Ajax以及其他功能除此以外jQuery提供API讓開(kāi)發(fā)者編寫(xiě)插件其模塊化的使用方式使開(kāi)發(fā)者可以很輕松的開(kāi)發(fā)出功能強(qiáng)大的靜態(tài)或動(dòng)態(tài)網(wǎng)頁(yè)。JQueryEasyUI簡(jiǎn)介jQueryEasyUI是一組基于UI件集合體,而jQueryEasyUI目標(biāo)就是幫助web開(kāi)發(fā)者更輕松的打造出功能豐富并且美觀的界面。開(kāi)發(fā)者不需要編寫(xiě)復(fù)雜的javascript也不需要對(duì)css樣式有深入的了解開(kāi)發(fā)者需要了解的只有一些簡(jiǎn)單的html標(biāo)簽。Struts2介Struts2是Struts的下一代產(chǎn)品,是在struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts2框架。其全新的Struts2的體系結(jié)構(gòu)與Struts1體系結(jié)構(gòu)差別巨大。Struts以WebWork為核心,采用攔截器的機(jī)制來(lái)處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開(kāi),所以2可以理解為WebWork的更新產(chǎn)品。雖然從Struts1到Struts2有著太大的變化,但是相對(duì)于WebWork,Struts2的變化很小。java言的特Java是一門(mén)大家熟識(shí)的開(kāi)發(fā)語(yǔ)言,它有很多優(yōu)良的特點(diǎn),以下簡(jiǎn)要列出其一些主要特性簡(jiǎn)單性Java語(yǔ)言是一種面向?qū)ο蟮恼Z(yǔ)言它通過(guò)提供最基本的方法來(lái)完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫(xiě)出適合于各種情況的應(yīng)用程序。Java略去了運(yùn)算符重載、多重繼承等模糊的概念并且通過(guò)實(shí)現(xiàn)動(dòng)垃圾收集大大簡(jiǎn)化了程序設(shè)計(jì)者的內(nèi)存管理工作。另外Java也適合于在小型機(jī)上運(yùn)行,它的基本解釋器及類(lèi)的支持只有40KB左右,加上標(biāo)準(zhǔn)類(lèi)庫(kù)和線程的支持也只有215KB左右。庫(kù)和線程的支持也只有左右。(2)面向?qū)ο螅篔ava語(yǔ)言的設(shè)計(jì)集中于對(duì)象及其接口,它提供了簡(jiǎn)單的類(lèi)機(jī)制以及動(dòng)態(tài)的接口模型。對(duì)象中封裝了它的狀態(tài)變量以及相應(yīng)的方法實(shí)現(xiàn)了模塊化和信息隱藏而類(lèi)則提供了一類(lèi)對(duì)象的原型并且通過(guò)繼承機(jī)制子類(lèi)可以使用父類(lèi)所提供的方法,實(shí)現(xiàn)代碼的復(fù)用。(3)安全性:用網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵不支持指針一切對(duì)內(nèi)存的訪問(wèn)都必須通過(guò)對(duì)象的實(shí)例變量來(lái)實(shí)現(xiàn),這樣就防止程序員使用“特洛伊”木馬等欺騙手段訪問(wèn)對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。移植性:與平臺(tái)無(wú)關(guān)的特性使程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器。同時(shí)的類(lèi)庫(kù)中也實(shí)現(xiàn)了與不同平臺(tái)的-8-
接口,使這些類(lèi)庫(kù)可以移植。另外,Java編譯器是由Java語(yǔ)言實(shí)現(xiàn)的,Java運(yùn)行時(shí)系統(tǒng)由標(biāo)準(zhǔn)C實(shí)現(xiàn),這使得Java系統(tǒng)本身也具有可移植性。(5)多線程:多線程機(jī)制使應(yīng)用程序能夠并行執(zhí)行,而且同步機(jī)制保證了對(duì)共享數(shù)據(jù)的正確操作。通過(guò)使用多線程,程序設(shè)計(jì)者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機(jī)制這樣就很容易地實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互行為(6)動(dòng)態(tài)性Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境在類(lèi)庫(kù)中可以自由地加入新的方法和實(shí)例變量而不會(huì)影響用戶程序的執(zhí)行并且Java通過(guò)接口來(lái)支持多重繼承使之比嚴(yán)格的類(lèi)繼承具有更靈活的方式和擴(kuò)展性分布性是面向網(wǎng)絡(luò)的語(yǔ)言通過(guò)它供的類(lèi)庫(kù)可以處理TCP/IP議,用戶可以通過(guò)URL址在網(wǎng)絡(luò)上方便地訪問(wèn)其它對(duì)象。簡(jiǎn)介是一個(gè)開(kāi)源的全功能full-stack應(yīng)用程序框架許可證形式發(fā)布。該框架基于One-on-One一書(shū)中的代碼,最初由RodJohnson和Hoeller等開(kāi)發(fā)。SpringFramework提供了一個(gè)簡(jiǎn)易的開(kāi)發(fā)方式,這種開(kāi)發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類(lèi)Spring中包含的關(guān)鍵特性(1)強(qiáng)大的基于的采用控制翻轉(zhuǎn)(InversionofIoC)原則的配置管理6]
使得應(yīng)用程序的組建更加快捷簡(jiǎn)易(2)一個(gè)可用于從到JavaEE等不同運(yùn)行環(huán)境的核心Bean工廠(3)數(shù)據(jù)庫(kù)事務(wù)的一般化抽象層允許宣告式Declarative)事務(wù)管理器化事務(wù)的劃分使之與底層無(wú)關(guān)。(4)內(nèi)的針對(duì)JTA和單個(gè)數(shù)據(jù)源的一般化策略,使Spring的事務(wù)支持不要求環(huán)境這與一般的JTA或者CMT相反(5)JDBC抽象層提供了有針對(duì)性的異常等級(jí)(不再?gòu)腟QL異常中提取原始代碼,簡(jiǎn)化了錯(cuò)誤處理,大大減少了程序員的編碼量.再次利用無(wú)需再寫(xiě)出另一個(gè)終止(模塊并且面向的異常與Spring通用數(shù)據(jù)訪問(wèn)對(duì)象(DataAccess異常等級(jí)相一致(6)以資源容器DAO實(shí)現(xiàn)和事務(wù)策略等形式與Hibernate和Maps集成。利用眾多的翻轉(zhuǎn)控制方便特性來(lái)全面支持解決了許多典型的集成問(wèn)題.所有這些全部遵從Spring通用事務(wù)處理和通用數(shù)據(jù)訪問(wèn)對(duì)象異常等級(jí)規(guī)范。(7)活的基于核心功能的MVC網(wǎng)頁(yè)應(yīng)用程序框架開(kāi)發(fā)者通過(guò)策略接口將擁有對(duì)該框架的高度控制,因而該框架將適應(yīng)于多種呈現(xiàn)(View)術(shù),例如JSP,,,,iText以及POI值得注意的是Spring中間層可以輕易地結(jié)合于任何基于MVC框架的網(wǎng)頁(yè)層,例如Struts,WebWork或Tapestry。[5]Hibernate簡(jiǎn)介是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架對(duì)行了非常輕量級(jí)的對(duì)象封裝使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是可以在應(yīng)用J2EE-9-
架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任的核心接口一共有5,分別為:Session、SessionFactory、、Query和Configuration.這核心接口在任何開(kāi)發(fā)中都會(huì)用到通過(guò)這些接口不僅可以對(duì)持久化對(duì)象進(jìn)行存取還能夠進(jìn)行事務(wù)控制。下面對(duì)這五的核心接口分別加以介紹:(1)Session口:Session口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的語(yǔ)句但需要注意的是Session對(duì)象是非線程安全的。同時(shí),的session不同于應(yīng)用中的這里當(dāng)使用這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是Hibernate中的,而以后會(huì)對(duì)象稱為用戶session。(2)SessionFactory接口:SessionFactroy接口負(fù)責(zé)初始化它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory(3)Configuration口Configuration口負(fù)責(zé)配置并啟動(dòng),創(chuàng)建對(duì)象。在的啟動(dòng)的過(guò)程中,類(lèi)的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory。接口接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開(kāi)發(fā)人員也可以設(shè)計(jì)編寫(xiě)自己的底層事務(wù)處理代碼。(5)Query和接口:和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)查詢。它可以使用HQL語(yǔ)言或句兩種表達(dá)方式。[4]MySQL介MySQL是一個(gè)開(kāi)放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng)者為瑞典MySQLAB司。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中由于其體積小速度快總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。MyEclipse簡(jiǎn)介MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterprise,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的成開(kāi)發(fā)環(huán)境,包括了完備的編碼試試和發(fā)布功能整支持HTMLStrutsJavascript,Spring,SQL,Hibernate。MyEclipse是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大支持也十分廣泛尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate-10-
EJB3JDBC據(jù)庫(kù)鏈接工具等多項(xiàng)功能可以說(shuō)MyEclipse是幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。[4據(jù)設(shè)計(jì)4.1據(jù)表數(shù)據(jù)庫(kù)是本系統(tǒng)的基礎(chǔ),其重要性不可估量,它將支撐整個(gè)系統(tǒng)。本系統(tǒng)的數(shù)據(jù)表不多,是經(jīng)過(guò)本人的多次考慮才定下來(lái)的,因?yàn)閿?shù)據(jù)庫(kù)出問(wèn)題的修改代價(jià)是非常大的,如果沒(méi)有設(shè)計(jì)合理,到項(xiàng)目中后期有可能導(dǎo)致不可預(yù)估的風(fēng)險(xiǎn),所以一般數(shù)據(jù)庫(kù)定下來(lái)基本上是不會(huì)再去改動(dòng)它,除非是非常有必要或者是不改不行的情況下才會(huì)去改動(dòng)它,結(jié)果證明正是如此。針對(duì)本系統(tǒng)的功能,系統(tǒng)的數(shù)據(jù)庫(kù)中一共包含了個(gè)表,系統(tǒng)數(shù)據(jù)庫(kù)表信息如下表3-1:
表4-1系統(tǒng)數(shù)據(jù)庫(kù)表及其詳細(xì)能表名t_usert_house_properytt_communication_record
表名(中文名)用戶表房產(chǎn)信息表出生死亡信息表居民信息表通信錄表物品維修記錄表
用途存儲(chǔ)用戶數(shù)據(jù)存儲(chǔ)房產(chǎn)信息記錄出生死亡信息登記人口信息存儲(chǔ)通信錄信息登記維修數(shù)據(jù)
備注包括用戶和管理員4.1.1戶信息表用戶信息表如表4-2:
表4-2用戶信息表字段名
字段類(lèi)型
默認(rèn)值
備注is_adminreg_timeuser_name
用戶ID主是否管理員否注冊(cè)時(shí)間用戶代碼,賬號(hào)用戶名稱用戶登錄密碼-11-
4.1.2品維修信表物品維修信息表如表4-3:
表4-3物品維修信息表字段名
字段類(lèi)型
默認(rèn)值
備注reg_idcontactcontact_phonerecord_statusreg_timereg_user_id
ID主地址聯(lián)系人聯(lián)系電話記錄狀態(tài)登記時(shí)間維修信息描述登記用戶外4.1.3民信息表居民信息表如表4-4:
表4-4居民信息表字段名
字段類(lèi)型
默認(rèn)值
備注body_infofamily_countidentity_cityidentity_noidentity_provinceres_nationres_typesettle_address
Id主健康信息家庭成員數(shù)量家庭成員信息身份證地址身份證城市身份證縣區(qū)身份證號(hào)碼身份證省份出生日期名字民族性別居民類(lèi)別居住地址居住狀態(tài)醫(yī)社保號(hào)碼4.1.4產(chǎn)信息表房產(chǎn)信息表如表4-5:
表4-5房產(chǎn)信息表字段名house_id
字段類(lèi)型
默認(rèn)值
備注ID主房產(chǎn)地址-12-
house_areahouse_property_nohouse_owner_id4.1.5生死亡信表出生死亡信息表如表4-6:
表4-6出生死亡信息表
房產(chǎn)面積購(gòu)建日期房產(chǎn)證號(hào)碼所有者外字段名
字段類(lèi)型
默認(rèn)值
備注bd_info_iddeath_dateguardian_id
Id主出生日期出生性別死亡日期死亡原因死亡日期登記類(lèi)別死亡人的撫養(yǎng)人id外死亡人外出生人的監(jiān)護(hù)人id外4.1.6信錄信息通信錄信息表如表4-7:
表4-7通信錄信息表字段名
字段類(lèi)型
默認(rèn)值
備注record_idemail_addresshobbyphone_nowe_chat
用戶ID主電子郵箱愛(ài)好手機(jī)QQ號(hào)碼特長(zhǎng)電話號(hào)碼微信號(hào)居民ID外4.2統(tǒng)E-R圖以下的系統(tǒng)E-R圖體現(xiàn)了本系統(tǒng)中所有表的關(guān)系,系統(tǒng)E-R圖如圖3-1所示:-13-
圖4-8系E-R模型圖5塊計(jì)5.1共模塊功能5.1.1戶登錄【功能描述】進(jìn)步本系統(tǒng)進(jìn)行相應(yīng)的操作前,需要先登錄,通用登錄的用戶名和密碼驗(yàn)證后才能進(jìn)步系統(tǒng)首頁(yè)。用戶登錄的時(shí)候會(huì)經(jīng)過(guò)客戶端驗(yàn)證和服務(wù)端驗(yàn)證,客戶端驗(yàn)證是對(duì)用戶輸入的數(shù)據(jù)進(jìn)行初步的判斷,主要是非空判斷,如果用戶沒(méi)有輸入任何內(nèi)容直接點(diǎn)擊登錄,則彈出非空提示。服務(wù)器端驗(yàn)證是對(duì)用戶輸入的用戶名和密碼和數(shù)據(jù)庫(kù)中注冊(cè)的用戶名和密碼進(jìn)行校驗(yàn),如果不正確則作出相應(yīng)提示?!卷?yè)面體現(xiàn)】居民社區(qū)管理系統(tǒng)登錄頁(yè)面體現(xiàn)如下圖:-14-
圖5-1居社區(qū)管理系統(tǒng)登錄頁(yè)面【實(shí)現(xiàn)方法】本功能點(diǎn)是對(duì)用戶表的數(shù)據(jù)進(jìn)行查詢并進(jìn)行正確性校驗(yàn)。具體的form單如下:<formid="userLoginForm"><divstyle="margin-bottom:10px"><inputclass="easyui-textbox"name="userCode"style="width:100%;height:40px;padding:12px"data-options="prompt:'登錄賬號(hào)',iconCls:'icon-man',iconWidth:38"></div><divstyle="margin-bottom:10px"><inputclass="easyui-textbox"type="password"style="width:100%;height:40px;padding:12px"name="userPwd"id="userPwd"data-options="prompt:'登錄密碼',iconCls:'icon-lock',iconWidth:38"></div><divstyle="margin-bottom:10px"><selectclass="easyui-combobox"name="userType"id="userType"panelHeight="auto"style="width:100%;height:40px;padding:12px"data-options="prompt:'用戶類(lèi)別'"><optionvalue="1">管理員</option><optionvalue="0">一般用戶</option></select></div></form>-15-
Form表單提交到aciton進(jìn)行處理:publicStringlogin()throwsException{Coco=newCo();co.setRetCode("1");StringuserCode=Util.getRP("userCode");if("".equals(userCode)){co.setRetFailInfo("賬號(hào)不能為空");Util.writeJSON(co);returnnull;}StringuserPwd=Util.getRP("userPwd");if("".equals(userPwd)){co.setRetFailInfo("密碼不能為空");Util.writeJSON(co);returnnull;}StringuserType=Util.getRP("userType");if("".equals(userType)){co.setRetFailInfo("用戶類(lèi)型不能為空");Util.writeJSON(co);returnnull;}Useruser=publicDAO.getUserByUserCode(userCode);if(user==null){co.setRetFailInfo("賬號(hào)不存在");Util.writeJSON(co);returnnull;}else{if(!userPwd.equals(user.getUserPwd())){co.setRetFailInfo("密碼錯(cuò)誤");Util.writeJSON(co);returnnull;}if(!userType.equals(user.getIsAdmin())){co.setRetFailInfo("賬號(hào)不存在");Util.writeJSON(co);returnnull;}else{/*創(chuàng)建session*/HttpSessionsession=ServletActionContext.getRequest().getSession();session.setAttribute("LOGINUSER",user);co.setRetSuccInfo("登錄成功");co.setRetCode("0");Util.writeJSON(co);-16-
returnnull;}}}通過(guò)以上的action調(diào)用DAO法進(jìn)行用戶數(shù)據(jù)的獲取并判斷,然后返回給前端用戶。5.1.2戶退出【功能描述】當(dāng)用戶處理完所有操作,要退出本系統(tǒng)的時(shí)候(如果不手動(dòng)退出,超過(guò)session所設(shè)定的時(shí)間也會(huì)自動(dòng)退出)可以進(jìn)行退出操作,退出操作實(shí)際上是對(duì)登錄時(shí)所保存的數(shù)據(jù)進(jìn)行注銷(xiāo)?!卷?yè)面體現(xiàn)】退出系統(tǒng)頁(yè)面體現(xiàn)如下圖:圖5-2退登錄【實(shí)現(xiàn)方法】一下是注銷(xiāo)的具體實(shí)現(xiàn):publicStringlogout(){ActionContext.getContext().getSession().put("LOGINUSER",null);returnnull;}-17-
5.1.3改密碼【功能描述】管理員進(jìn)行新增用戶的時(shí)候回默認(rèn)設(shè)定一個(gè)用戶密碼,為了系統(tǒng)的安全性,用戶可以隨時(shí)進(jìn)行自身賬號(hào)的密碼修改,修改后馬上生效,下次登錄需要輸入新密碼才能順利登錄到本系統(tǒng)中?!卷?yè)面體現(xiàn)】修改密碼頁(yè)面體現(xiàn)如下圖:圖5-3修密碼【實(shí)現(xiàn)方法】修改密碼是對(duì)用戶信息表中的密碼字段數(shù)據(jù)進(jìn)行修改,具體的實(shí)現(xiàn)如下:publicStringchangepwd(){Coco=newCo();StringoldPwd=Util.getRP("oldPwd");StringnewPwd=Util.getRP("newPwd");HttpSessionsession=ServletActionContext.getRequest().getSession();Useru=(User)session.getAttribute("LOGINUSER");if(!oldPwd.equals(u.getUserPwd())){co.setRetCode("1");co.setRetFailInfo("原密碼不正確");Util.writeJSON(co);}else{/*修改密碼*/u.setUserPwd(newPwd);publicDAO.updateUser(u);co.setRetCode("0");co.setRetSuccInfo("修改密碼成功");-18-
}null;}修改后通過(guò)json返回到前臺(tái),告訴調(diào)用方修改碼成功。5.2戶管理5.2.1戶信息管【功能描述】管理員具有用戶管理的權(quán)限,可以對(duì)登錄本系統(tǒng)的用戶數(shù)據(jù)進(jìn)行新增、查詢、修改和刪除操作。新增用戶會(huì)對(duì)用戶代碼的唯一性進(jìn)行校驗(yàn),如果輸入的用戶代碼即是用戶的登錄賬戶已經(jīng)在本系統(tǒng)中已經(jīng)被維護(hù),就彈出相應(yīng)提示。修改用戶的時(shí)候不能修改用戶代碼,所以彈出修改用戶窗口的用戶代碼是不可編輯的?!卷?yè)面體現(xiàn)】用戶信息維護(hù)頁(yè)面體現(xiàn)如下圖:圖5-4用信息管理【實(shí)現(xiàn)方法】用戶信息維護(hù)頁(yè)面的數(shù)據(jù)對(duì)應(yīng)著用戶信息表,是對(duì)用戶信息表進(jìn)行操作。根據(jù)用戶代碼、用戶名稱、和用戶的注冊(cè)時(shí)間段來(lái)查詢用戶表,具體的實(shí)行方法如下:{Useruser=-19-
systemDAO.getUserList(user,"","");userListJsonStr=Util.getObjectJSON(userList);}u,regTimeBeg,StringregTimeEnd){"fromuu.isAdmin'0'";if(!Util.isBlank(u.getUserCode())){"like'%"++"%'";}if{"like'%"+}if(!Util.isBlank(regTimeBeg)){"'""00:00:00'";}if(!Util.isBlank(regTimeEnd)){"'""23:59:59'";}hibernateTemplate.find(hql);userList;}5.2.2理員信息理【功能描述】管理員不但具有用戶管理的權(quán)限,并且可以管理管理員本身的數(shù)據(jù),可以對(duì)管理員數(shù)據(jù)進(jìn)行新增、查詢、修改和刪除操作。和新增普通用戶一樣新增管理員會(huì)對(duì)用戶代碼的唯一性進(jìn)行校驗(yàn)如果輸入的用戶代碼即是用戶的登錄賬戶已經(jīng)在本系統(tǒng)中已經(jīng)被維護(hù),就彈出相應(yīng)提示。修改管理員的時(shí)候不能修改用戶代碼,所以彈出修改用戶窗口的用戶代碼是不可編輯的,管理員的數(shù)據(jù)和普通用戶的數(shù)據(jù)是放在同一張數(shù)據(jù)表中,通過(guò)is_admin字段來(lái)標(biāo)識(shí)用戶是普通用戶還是管理員?!卷?yè)面體現(xiàn)】管理員信息維護(hù)頁(yè)面體現(xiàn)如下圖-20-
圖5-1管員信息管理【實(shí)現(xiàn)方法】同樣也是對(duì)用戶信息表的數(shù)據(jù)進(jìn)行操作,只是針對(duì)不同用戶類(lèi)型,管理員用戶具有比普通用戶更加高級(jí)的權(quán)限因?yàn)楣芾韱T信息維護(hù)頁(yè)面和普通用戶信息維護(hù)頁(yè)面的查詢邏輯是一致的,實(shí)現(xiàn)方法也是一致的,只是查詢條件有所不同,普通用戶而管理員用戶is_admin=1
is_amdin=05.3務(wù)管理5.3.1口信息登【功能描述】人口信息登記是對(duì)居住在本社區(qū)中的人口信息進(jìn)行錄入。用戶可以根據(jù)居民的姓名、性別、民族、狀態(tài)、居民類(lèi)別等信息對(duì)已經(jīng)維護(hù)再本系統(tǒng)中的居民信息進(jìn)行查詢。人口登記信息是本系統(tǒng)其它業(yè)務(wù)功能的基礎(chǔ)系統(tǒng)中有涉及到用戶的地方都會(huì)關(guān)聯(lián)到本功能所維護(hù)的用戶數(shù)據(jù)。所登記的信息記錄著居民的詳細(xì)信息?!卷?yè)面體現(xiàn)】人口信息登記頁(yè)面體現(xiàn)如下圖:-21-
圖5-6人信息登記【實(shí)現(xiàn)方法】人口信息登記是對(duì)居民信息表的數(shù)據(jù)進(jìn)行操作。一下是本頁(yè)面數(shù)據(jù)的具體實(shí)現(xiàn):resPage(){List<com.model.Resident>resList=resListJsonStr=resListJsonStr);}List<Resident>{"fromResidentwhereif!=null){if(!Util.isBlank(u.getResName())){"u.resName'%"+u.getResName()+"%'";}if(!Util.isBlank(u.getResSex())){"='"u.getResSex()+"'";}if(!Util.isBlank(u.getResNation())){"u.resNation'%"+u.getResNation()+"%'";}if{"u.settleStatus='"++"'";}if(!Util.isBlank(u.getResType())){"='""'";}}-22-
List<Resident>hibernateTemplate.find(hql);resList;}5.3.1生死亡登【功能描述】對(duì)于父母是本社區(qū)居民的用戶其家庭子女可以出生是可以在本居民社區(qū)管理系統(tǒng)中登記出生信息。對(duì)于原來(lái)就是本社區(qū)的居民,死亡后其相關(guān)親屬需要提供相關(guān)的死亡信息登記又管理員登記在本系統(tǒng)中。出生登記和死亡登記是整合在一起的,當(dāng)用戶選擇登記的是出生信息是,死亡信息是不會(huì)記錄在本系統(tǒng)中,即使有輸入內(nèi)容也不會(huì)記錄下來(lái)的,同樣如果用戶選擇的是死亡登記,也不會(huì)存儲(chǔ)所輸入的出生信息。出生和死亡屬于兩個(gè)互斥的功能點(diǎn)?!卷?yè)面體現(xiàn)】出生死亡登記頁(yè)面體現(xiàn)如下圖:圖5-7出死亡登記【實(shí)現(xiàn)方法】出生死亡登記的信息是維護(hù)再出生死亡表中戶可以根據(jù)對(duì)象的登記類(lèi)型別、出生日期或者死亡日期對(duì)出生死亡信息表的數(shù)據(jù)進(jìn)行查詢。具體實(shí)現(xiàn)如下:{List<com.model.BdInfo>bdInfoListUtil.writeJSON(bdInfoList);-23-
null;}addBdInfo(){Co();bdInfo.setRegDate(Util.date2str(6,null));if("出生"{bdInfo.setDeathDate(null);bdInfo.setDeathReason(null);ResidentrresidentDAO.getResByIdentityNo(bdInfo.getGuardian().getIdentityNo());if(rnull){出生人監(jiān)護(hù)人身份證號(hào)身份證無(wú)效");null;}}{bdInfo.setBirthSex(null);ResidentrresidentDAO.getResByIdentityNo(bdInfo.getDeathResident().getIdentityNo());if(rnull){死亡人身份證證無(wú)效");null;}Residentr2=residentDAO.getResByIdentityNo(bdInfo.getDeathRaise().getIdentityNo());if(r2=={死亡人的撫養(yǎng)人身份證號(hào)無(wú)效");null;}}bdInfoDAO.addBdInfo(bdInfo);-24-
co.setRetSuccInfo("新增成功");null;}{Co();delBdInfoIds=ServletActionContext.getRequest().getParameter("delBdInfoIds");/*暫時(shí)不對(duì)用戶進(jìn)行檢查,即所有用戶都可以被刪除*/=Util.str2InString(delBdInfoIds);try{bdInfoDAO.delBdInfoByids(inString);}catch{數(shù)據(jù)已被維護(hù),不能刪除");null;}co.setRetSuccInfo("刪除成功");null;}updateBdInfo(){Co();com.model.BdInfooldbdInfo=bdInfoDAO.getBdInfoById(bdInfo.getBdInfoId());bdInfo.setRegDate(oldbdInfo.getRegDate());if("出生"{bdInfo.setDeathDate(null);bdInfo.setDeathReason(null);ResidentrresidentDAO.getResByIdentityNo(bdInfo.getGuardian().getIdentityNo());if(rnull){出生人監(jiān)護(hù)人身份證號(hào)身份證無(wú)效");null;}}{-25-
bdInfo.setBirthSex(null);ResidentrresidentDAO.getResByIdentityNo(bdInfo.getDeathResident().getIdentityNo());if(rnull){死亡人身份證證無(wú)效");null;}Residentr2=residentDAO.getResByIdentityNo(bdInfo.getDeathRaise().getIdentityNo());if(r2=={死亡人的撫養(yǎng)人身份證號(hào)無(wú)效");null;}}bdInfoDAO.updateBdInfo(bdInfo);co.setRetSuccInfo("修改成功");null;}5.3.1產(chǎn)信息登【功能描述】房產(chǎn)信息登記是對(duì)屬于本社區(qū)居民所有的房產(chǎn)信息數(shù)據(jù)進(jìn)行登記這里登記的信息包括房子本身的信息和房子所有人的信息房子所有人的信息只要填寫(xiě)所有人的身份證號(hào)碼,這里的房產(chǎn)素有人必須是已經(jīng)維護(hù)再本系統(tǒng)中的居民,否則改房產(chǎn)信息不能被維護(hù),會(huì)彈出相應(yīng)提示。用戶可以根據(jù)房產(chǎn)地址、房產(chǎn)證號(hào)對(duì)房產(chǎn)信息進(jìn)行查詢等操作。【頁(yè)面體現(xiàn)】房產(chǎn)信息登記頁(yè)面體現(xiàn)如下圖:-26-
圖5-8房信息登記【實(shí)現(xiàn)方法】房產(chǎn)信息數(shù)據(jù)是對(duì)應(yīng)著數(shù)據(jù)庫(kù)的房產(chǎn)信息表,對(duì)其進(jìn)行增加、刪除、修改和查詢操作,具體的實(shí)現(xiàn)方法如下:searchHouse(){houseList=houseDAO.getHouseList(house);null;}{Co();ResidentrresidentDAO.getResByIdentityNo(house.getHouseOwner().getIdentityNo());if(rnull){房產(chǎn)擁有人身份證無(wú)效");null;}houseDAO.addHouse(house);co.setRetSuccInfo("新增成功");null;}delHouse(){Co();-27-
delHouseIds="delHouseIds");/*暫時(shí)不對(duì)用戶進(jìn)行檢查,即所有用戶都可以被刪除*/=Util.str2InString(delHouseIds);try{houseDAO.delHouseByids(inString);}catch{數(shù)據(jù)已被維護(hù),不能刪除");null;}co.setRetSuccInfo("刪除成功");null;}{Co();ResidentrresidentDAO.getResByIdentityNo(house.getHouseOwner().getIdentityNo());if(rnull){房產(chǎn)擁有人身份證無(wú)效");null;}co.setRetSuccInfo("修改成功");null;}5.3.1民通信錄【功能描述】居民通信錄是為了社區(qū)中的居民可以相互聯(lián)系交流以及可以方便社區(qū)管理人員可以及時(shí)快速聯(lián)系到社區(qū)中的相關(guān)人員而開(kāi)發(fā)的,通信錄里記錄著居民的多種聯(lián)系方法,居民間可以通過(guò)多種渠道來(lái)聯(lián)系社區(qū)內(nèi)的人員,極大的豐富了居民間的交流方式,促進(jìn)-28-
了社區(qū)的和諧發(fā)展?!卷?yè)面體現(xiàn)】居民通信錄頁(yè)面體現(xiàn)如下圖:圖5-9居通信錄【實(shí)現(xiàn)方法】根據(jù)居民的名稱愛(ài)好等信息對(duì)居民通信錄中的數(shù)據(jù)進(jìn)行查詢實(shí)際上對(duì)通信錄信息表的數(shù)據(jù)進(jìn)行操作。以上功能的具體實(shí)現(xiàn)如下:{commList=Util.writeJSON(commList);null;}addComm(){Co();ResidentrresidentDAO.getResByIdentityNo(comm.getResident().getIdentityNo());if(rnull){身份證無(wú)效"null;}comm.setResident(r);commDAO.addComm(comm);co.setRetSuccInfo("新增成功");-29-
null;}delComm(){Co();="delRepairIds");/*暫時(shí)不對(duì)用戶進(jìn)行檢查,即所有用戶都可以被刪除*/=Util.str2InString(delRepairIds);try{}catch{數(shù)據(jù)已被維護(hù),不能刪除");null;}co.setRetSuccInfo("刪除成功");null;}updateComm(){Co();ResidentrresidentDAO.getResByIdentityNo(comm.getResident().getIdentityNo());if(rnull){身份證無(wú)效"null;}comm.setResident(r);commDAO.updateComm(comm);co.setRetSuccInfo("修改成功");null;}5.3.1品維修登【功能描述】-30-
物品維修登記功能是一項(xiàng)便民服務(wù)居民可以通過(guò)該功能在頁(yè)面上登記上相關(guān)的物品維修數(shù)據(jù),就可以透過(guò)這個(gè)平臺(tái)方便的得到物品維修的上門(mén)服務(wù),當(dāng)居民開(kāi)始登記物品維修數(shù)據(jù)的時(shí)候該數(shù)據(jù)處于維護(hù)未處理狀態(tài)當(dāng)上門(mén)維修服務(wù)結(jié)束后管理員可以把改維修數(shù)據(jù)修
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智慧城市建設(shè)項(xiàng)目委托投標(biāo)協(xié)議書(shū)范本3篇
- 2025版新企業(yè)股東協(xié)議書(shū)范本:企業(yè)創(chuàng)新發(fā)展計(jì)劃3篇
- 2025版新車(chē)銷(xiāo)售與二手車(chē)置換優(yōu)惠套餐合同范本2篇
- 2025版學(xué)校食堂勞務(wù)承包與營(yíng)養(yǎng)膳食研究開(kāi)發(fā)協(xié)議3篇
- 2025年度個(gè)人房產(chǎn)買(mǎi)賣(mài)合同違約責(zé)任約定書(shū)
- 2025個(gè)人合伙企業(yè)股份清算轉(zhuǎn)讓協(xié)議3篇
- 2025版?zhèn)€人借款擔(dān)保合同標(biāo)準(zhǔn)化模板4篇
- 2025年全球及中國(guó)水平運(yùn)動(dòng)輸送機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球高牌號(hào)取向硅鋼行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球牽引型AGV行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年上半年長(zhǎng)沙市公安局招考警務(wù)輔助人員(500名)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025河北邯鄲世紀(jì)建設(shè)投資集團(tuán)招聘專業(yè)技術(shù)人才30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 慈溪高一期末數(shù)學(xué)試卷
- 重大事故隱患判定標(biāo)準(zhǔn)與相關(guān)事故案例培訓(xùn)課件
- 2024年度節(jié)后復(fù)工建筑施工安全培訓(xùn)交底
- 紅色中國(guó)風(fēng)西安旅游PPT模板
- 中建商務(wù)工作指南手冊(cè)
- 耳鼻咽喉:頭頸外科疾病診斷流程與冶療策略
- 貴州省2023年中考英語(yǔ)真題
- 個(gè)人借條電子版模板
- 中國(guó)思想史 馬工程329P
評(píng)論
0/150
提交評(píng)論