版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 題目:SSH框架結(jié)構(gòu)的公務(wù)員報(bào)考系統(tǒng)考務(wù)模塊的實(shí)現(xiàn)</p><p> SSH框架結(jié)構(gòu)的公務(wù)員報(bào)考系統(tǒng)考務(wù)模塊的實(shí)現(xiàn)</p><p> 摘要:伴隨著網(wǎng)絡(luò)技術(shù)的發(fā)展各大招考業(yè)務(wù)開始都采用網(wǎng)上報(bào)名系統(tǒng),網(wǎng)上報(bào)考系統(tǒng)不僅大大提高了招考業(yè)務(wù)的效率,還見少了很多人力,更加方便了考生的報(bào)名,眾多的考試不再為了報(bào)
2、名排隊(duì)而苦惱,足不出戶便可完成整個(gè)報(bào)名任務(wù),為了更加高效率的實(shí)現(xiàn)本報(bào)名系統(tǒng)特采用當(dāng)今相對(duì)流行的SSH框架技術(shù),此技術(shù)能更加方便快捷的完成MVC模式的實(shí)現(xiàn)。</p><p> 本系統(tǒng)以典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。表現(xiàn)層為Struts
3、,中間層為Spring,數(shù)據(jù)服務(wù)層為Hibernate,數(shù)據(jù)庫采用Oracle9i。jdk版本為jdk6.0編譯器采用MyEclispse7.0。本模塊的主要功能為考生信息的管理和審核以及考務(wù)信息的管理。</p><p> 關(guān)鍵詞:J2EE;數(shù)據(jù)庫;SSH框架;</p><p> The 2008 Beijing Olympic Games Design Instantaneous N
4、ews and Olympic Forum </p><p> Abstract: Along with the development of network technology began to have major recruitment business using online registration system, online registration to sit for the system
5、 not only greatly enhance the efficiency of the recruitment business, but also see a lot less human, more convenient and the candidate's application, a large number of exams no longer to apply queuing and anguish, ho
6、mes will be able to complete the application tasks, in order to achieve more efficient use of the special reg</p><p> Key words: J2EE; database ;SSH framework</p><p><b> 管理系統(tǒng)概述</b>
7、</p><p><b> 研究意義</b></p><p> 伴隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)上管理系統(tǒng)也成為的各大部門不可或缺的一部分,諸多招考部門也在改變繁瑣的現(xiàn)場報(bào)考招聘,都改為網(wǎng)上招考系統(tǒng)來實(shí)現(xiàn)招考業(yè)務(wù);這樣做也大大方便了考生,考生可足不出戶就可完成報(bào)名繳費(fèi)等業(yè)務(wù),而考務(wù)人員也不用再為了諸多考生數(shù)據(jù)的統(tǒng)計(jì)而費(fèi)心,可輕松的實(shí)現(xiàn)考生的信息審核,考生報(bào)名情況的查詢,考生信
8、息的統(tǒng)計(jì)等。而管理員也可隨之管理和維護(hù)軟件,讓招考業(yè)務(wù)更方便更快捷的實(shí)現(xiàn),同時(shí)管理員可自動(dòng)生成考務(wù)人員的用戶名密碼,還增加了考務(wù)用戶的管理等。此軟件大大節(jié)省了整個(gè)招考業(yè)務(wù)的時(shí)間,也會(huì)避免以往人工書寫時(shí)造成的數(shù)據(jù)混亂,不方便查找和統(tǒng)計(jì)。</p><p> 網(wǎng)上管理系統(tǒng)大幅提升公司形象,建立現(xiàn)代化信息管理體制。管理思想現(xiàn)代化;開發(fā)平臺(tái)標(biāo)準(zhǔn)化;系統(tǒng)應(yīng)用網(wǎng)絡(luò)化;數(shù)據(jù)資源海量化;應(yīng)用系統(tǒng)集成化。</p>&
9、lt;p><b> 技術(shù)發(fā)展現(xiàn)狀</b></p><p> 隨著java語言的發(fā)展J2EE已成為當(dāng)今網(wǎng)絡(luò)開發(fā)的主流。J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。 </p><p> J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的
10、標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時(shí)間。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù)J2EE能夠開發(fā)部署在異構(gòu)環(huán)境中的可
11、移植程序?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許客戶訂購與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。</p><p><b> 運(yùn)行環(huán)境</b></p><p><
12、b> 軟件環(huán)境</b></p><p><b> 硬件環(huán)境</b></p><p><b> 應(yīng)用服務(wù)器:</b></p><p><b> 數(shù)據(jù)庫服務(wù)器:</b></p><p><b> 開發(fā)環(huán)境</b></p>
13、<p><b> 軟件環(huán)境</b></p><p><b> 設(shè)計(jì)思想</b></p><p> 經(jīng)過一段時(shí)間的調(diào)研和對(duì)公務(wù)員報(bào)考信息管理前景的分析,本系統(tǒng)采用了基于B/S架構(gòu)模式來實(shí)現(xiàn)信息的管理。系統(tǒng)選用較為先進(jìn)的Struts+Spring+hibernate作為系統(tǒng)的基礎(chǔ)框架,并以此實(shí)現(xiàn)B/S體系的三層體系結(jié)構(gòu),即表現(xiàn)層、
14、業(yè)務(wù)邏輯層和持久層(如下圖)。</p><p><b> Struts:</b></p><p> Struts是源自于WebWork的一個(gè)MVC框架,也就是Model(模型)、View(視圖)、 Controller(控制器)框架,它的側(cè)重點(diǎn)是View層和Controller層。</p><p><b> Spring:<
15、;/b></p><p> 通俗的說Spring框架是一個(gè)容器,它把其他的框架進(jìn)行整合,我們主要使用它的依賴注入(DI)和面向方面編程(AOP)的功能。它負(fù)責(zé)類與類的關(guān)系以及所依賴的接口,通過它配置文件來動(dòng)態(tài)管理和業(yè)務(wù)邏輯層的事務(wù)AOP管理。</p><p> hibernate:</p><p> hibernate框架是一個(gè)持久層的框架,所謂持久就是
16、使數(shù)據(jù)變得持久,由此hibernate這個(gè)框架的功能也就顯而易見了,它是用來做數(shù)據(jù)持久化操作的。</p><p> 整個(gè)公務(wù)員考務(wù)模塊信息管理系統(tǒng)包括招考業(yè)務(wù)模塊,查詢統(tǒng)計(jì)模塊,數(shù)據(jù)導(dǎo)入導(dǎo)出模塊,系統(tǒng)維護(hù)模塊。</p><p> 開發(fā)的時(shí)間的限制也是選擇Struts+Spring+hibernate框架組合的原因,由于公務(wù)員報(bào)考信息系統(tǒng)的特殊性和數(shù)據(jù)訪問量也是比較大的,所以我們選擇了O
17、racle作為系統(tǒng)的數(shù)據(jù)庫。</p><p><b> J2EE簡介</b></p><p> J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。 </p><p> J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)
18、準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。目前,Java 2平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺(tái)Micro</p><p> 版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺(tái)標(biāo)準(zhǔn)版(Java 2 Platform Stan
19、dard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一種利用Java 2平臺(tái)來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性、方便存取數(shù)
20、據(jù)庫的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場時(shí)間的體系結(jié)構(gòu)。</p><p> J2體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需
21、要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺(tái),J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。</p><p><b> 總體分析與設(shè)計(jì)</b></p><p><b> 問題
22、定義</b></p><p> 弄清本系統(tǒng)所要解決的問題——解決考生報(bào)考與考務(wù)之間的數(shù)據(jù)交互,和系統(tǒng)的管理;以及完成復(fù)雜的招考業(yè)務(wù)邏輯。</p><p><b> 可行性研究</b></p><p> 完成本系統(tǒng)可解決招考業(yè)務(wù)的實(shí)現(xiàn),通過研究和統(tǒng)計(jì)本系統(tǒng)開發(fā)成本少,可用性強(qiáng)。</p><p><b
23、> 需求分析</b></p><p><b> 招考業(yè)務(wù)模塊劃分</b></p><p><b> 資格審查</b></p><p><b> 資格審查功能結(jié)構(gòu)</b></p><p><b> 資格審管理功能</b></
24、p><p><b> 職位篩選</b></p><p><b> 職位篩選功能結(jié)構(gòu)</b></p><p><b> 職位篩選功能</b></p><p><b> 免考試費(fèi)管理</b></p><p><b> 免
25、考試費(fèi)功能結(jié)構(gòu)</b></p><p><b> 免考試費(fèi)功能</b></p><p><b> 考生信息管理</b></p><p> 考生信息管理功能結(jié)構(gòu)</p><p><b> 考生信息管理功能</b></p><p><
26、;b> 固定查詢</b></p><p><b> 固定查詢功能結(jié)構(gòu)</b></p><p><b> 固定查詢功能</b></p><p><b> 招考職位庫</b></p><p><b> 招考職位庫功能結(jié)構(gòu)</b>&l
27、t;/p><p><b> 招考職位庫功能</b></p><p><b> 招考單位用戶管理</b></p><p> 招考單位用戶管理功能</p><p><b> 招考單位用戶管理</b></p><p> 48小時(shí)未審核人員信息管理<
28、/p><p> 48小時(shí)未審核人員信息管理功能結(jié)構(gòu)</p><p> 48小時(shí)未審核人員信息管理功能</p><p><b> 系統(tǒng)維護(hù)</b></p><p><b> 系統(tǒng)維護(hù)功能結(jié)構(gòu)</b></p><p><b> 系統(tǒng)維護(hù)功能</b>&l
29、t;/p><p><b> 用戶管理</b></p><p><b> 用戶管理功能結(jié)構(gòu)</b></p><p><b> 用戶管理功能</b></p><p><b> 數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b>
30、 數(shù)據(jù)庫系統(tǒng)</b></p><p> 本系統(tǒng)使用的是Oracle 9i數(shù)據(jù)庫系統(tǒng)。選擇Oracle作為項(xiàng)目的數(shù)據(jù)庫,主要是考慮它的穩(wěn)定、安全和高效。公務(wù)員報(bào)名系統(tǒng),需要一個(gè)能承受大數(shù)據(jù)量,高并發(fā)數(shù)的優(yōu)秀的數(shù)據(jù)庫管理系統(tǒng)來管理數(shù)據(jù)。Oracle作為一款企業(yè)級(jí)的大型數(shù)據(jù)庫系統(tǒng),能夠承擔(dān)這些需要。</p><p> 另外我們還使用了PL/SQL Developer作為對(duì)數(shù)據(jù)庫數(shù)
31、據(jù)管理、調(diào)試的工具。使用PL/SQL Developer使得開發(fā)者更容易的來操作數(shù)據(jù)庫,更好的對(duì)數(shù)據(jù)庫進(jìn)行管理、監(jiān)控與優(yōu)化。</p><p><b> 設(shè)計(jì)工具</b></p><p> 我們所使用的數(shù)據(jù)庫設(shè)計(jì)工具是PowerDesigner 12.5。PowerDesigner是一款高效的建立數(shù)據(jù)庫模型的工具,使用簡單、方便。我們使用它來建立數(shù)據(jù)庫的概念模型和物
32、理模型,并用由它生成的sql腳本建立數(shù)據(jù)庫原型。</p><p><b> 數(shù)據(jù)庫模型圖</b></p><p><b> 考生管理模塊</b></p><p><b> 考務(wù)管理模塊</b></p><p><b> 考務(wù)模塊表匯總</b><
33、;/p><p><b> 數(shù)據(jù)庫詳細(xì)設(shè)計(jì)</b></p><p><b> 職位信息表</b></p><p><b> 心理素質(zhì)表</b></p><p><b> 考場庫表</b></p><p><b> 用戶
34、表</b></p><p><b> 角色表</b></p><p><b> 權(quán)限表</b></p><p><b> 欄目表</b></p><p><b> 系統(tǒng)設(shè)置表</b></p><p><b&
35、gt; 日志表</b></p><p><b> 考試階段信息表</b></p><p><b> 招考信息表</b></p><p><b> 數(shù)據(jù)庫優(yōu)化</b></p><p> 考務(wù)管理模塊視圖匯總</p><p><b
36、> 程序框架結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 框架</b></p><p> 本程序采用SSH框架結(jié)構(gòu),分別是spring,struts,hibernate三層結(jié)構(gòu)。其結(jié)構(gòu)是用java 來建立一個(gè)很有價(jià)值的web 應(yīng)用不是一個(gè)簡單的任務(wù)。在架構(gòu)這個(gè)應(yīng)用時(shí)要考慮很多的因素和問題。從更高的層次來看,開發(fā)人員面臨著關(guān)于如何構(gòu)建用戶接口,何處
37、駐留業(yè)務(wù)邏輯,以及如何實(shí)現(xiàn)數(shù)據(jù)持久性這些問題。這3 層都有各自的問題需要回答。而每一層又需要實(shí)現(xiàn)那些技術(shù)?應(yīng)用如何設(shè)計(jì)來進(jìn)行松散耦合并能進(jìn)行靈活變更?應(yīng)用架構(gòu)是否允許某一層變更而不影響到其它的層次?應(yīng)用應(yīng)該如何處理容器一級(jí)的服務(wù)比如事務(wù)? </p><p> 在為你的應(yīng)用創(chuàng)建一個(gè)架構(gòu)之前有許多問題需要澄清。幸運(yùn)的是,有很多開發(fā)者都意識(shí)到這個(gè)問題,并建立了很多框架來解決這些問題。一個(gè)良好的框架可以讓開發(fā)人員減輕重
38、新建立解決復(fù)雜問題方案的負(fù)擔(dān)和精力;它可以被擴(kuò)展以進(jìn)行內(nèi)部的定制化;并且有強(qiáng)大的用戶社區(qū)來支持它??蚣芡ǔD芎?</p><p> 好的解決一個(gè)問題。然而,你的應(yīng)用是分層的,可能每一個(gè)層都需要各自的框架。僅僅解決UI 問題并不意味著你能夠很好的將業(yè)務(wù)邏輯和持久性邏輯和UI 組件很好的耦合。例如,你不應(yīng)該使具有JDBC 代碼的業(yè)務(wù)邏輯放入控制器之中,這不是控制器應(yīng)該提供的功能。一個(gè)UI 控制器應(yīng)該是輕量化的組件,
39、由它代表對(duì)UI 范圍之外的其它應(yīng)用層的服務(wù)調(diào)用。良好的框架自然地形成代碼分離的原則。更為重要的是,框架減輕了開發(fā)人員從頭構(gòu)建持久層代碼的精力,從而集中精力來應(yīng)用邏輯上,這對(duì)客戶端來說更為重要。 </p><p> 本文討論了如何結(jié)合幾個(gè)著名的框架來達(dá)到松散耦合,如何設(shè)計(jì)你的架構(gòu),以及如何達(dá)到各個(gè)層次的一致性設(shè)計(jì)。面臨的挑戰(zhàn)是,將框架整合起來,以使每一層都向另外的層次以一種松散的方式來暴露接口,而不管底層功能使用
40、的是什么技術(shù)。本文還討論整合3 種著名開源框架的一種策略。對(duì)表現(xiàn)層,我們使用Struts;業(yè)務(wù)層使用Spring;對(duì)于持久層我們使用的是Hibernate。你盡可以取代這里的某個(gè)框架而使用你喜歡的框架已達(dá)到同樣的效果。</p><p><b> 應(yīng)用層</b></p><p> 許多設(shè)計(jì)良好的web 應(yīng)用,可以被按職責(zé)分為四層。這些層次是表現(xiàn)層、持久層、業(yè)務(wù)層、和
41、領(lǐng)域模型層。每一個(gè)層次都有其獨(dú)特的職責(zé),不能把各自的功能與其它層次相混合。每一個(gè)應(yīng)用層都應(yīng)該和其它層隔離開來,但允許使用接口在層間進(jìn)行通信。我們開始來看看每個(gè)層,并討論一下它們各自都應(yīng)該提供什么和不應(yīng)該提供什么。</p><p><b> 表現(xiàn)層</b></p><p> 一個(gè)典型的web 應(yīng)用的末端是表現(xiàn)層。許多Java 開發(fā)者都知道Struts 提供了什么東西
42、。然而,太多時(shí)候,耦合代碼比如業(yè)務(wù)邏輯被放進(jìn)org.apache.struts.Action 中。所以,我們先總結(jié)一下Struts 之類的框架應(yīng)該提供什么。下面就是Struts 的職責(zé)所在: </p><p> 管理用戶的請求和響應(yīng)提供一個(gè)控制起來將調(diào)用委托到業(yè)務(wù)邏輯和其他上游處理</p><p> 將來自于拋出例外的其他層的例外處理到Struts Action 中組裝可以在視圖中表現(xiàn)
43、的模型對(duì)象執(zhí)行UI 校驗(yàn)下面是一些經(jīng)常可以使用Struts 進(jìn)行編碼但是不應(yīng)該和表現(xiàn)層關(guān)聯(lián)的事情: </p><p> 直接和數(shù)據(jù)庫交互,比如JDBC 調(diào)用與應(yīng)用相關(guān)的業(yè)務(wù)邏輯和校驗(yàn)事務(wù)管理在表現(xiàn)層中引入這些類型的代碼將導(dǎo)致類型耦合和維護(hù)負(fù)擔(dān)。</p><p><b> 持久層</b></p><p> 一個(gè)典型Web 應(yīng)用的另一端是持久
44、層。這也是應(yīng)用中最容易很快失控的地方。開發(fā)者通常低估了自己構(gòu)建自己的持久層框架的挑戰(zhàn)。一個(gè)定制的,內(nèi)部開發(fā)的持久層不僅需要大量的開發(fā)時(shí)間,并且通常缺乏功能和難以管理。目前有許多解決這些問題的開源對(duì)象關(guān)系映射 (ORM) 框架。特別地,Hibernate 框架就允許Java 中的對(duì)象-關(guān)系的持久性和查詢服務(wù)。Hibernate 對(duì)已經(jīng)熟悉了SQL 和JDBC API 的Java 開發(fā)者來或具有中度的學(xué)習(xí)曲線。Hibernate 的持久對(duì)象
45、基于POJO 和Java 群集(collections)。此外,使用Hibernate 不和你的IDE 接口。下面列出了你需要在持久性框架中編寫的代碼類型: </p><p> 查詢關(guān)系信息到對(duì)象中。Hibernate 是通過稱為HQL 的OO 查詢語言,或者使用更有表現(xiàn)能力的規(guī)則API,來完成這個(gè)工作的。除了使用對(duì)象而不是表,使用字段而不是列的方式,HQL非常類似于 SQL。也有一些新的特定的HQL 語言特征
46、需要學(xué)習(xí);但是,它們是很容易理解和良好編寫的。HQL 是一種用于查詢對(duì)象的自然語言,而對(duì)象,只需要很少的學(xué)習(xí)曲線吧。高級(jí)的對(duì)象關(guān)系映射框架比如Hibernate 支持大部分主流SQL 數(shù)據(jù)庫,它們支持父/子關(guān)系,事務(wù),繼承和多態(tài)。存儲(chǔ)、更新和刪除存儲(chǔ)在數(shù)據(jù)庫中的信息 下面是應(yīng)該在持久層避免的一些事情: </p><p> 業(yè)務(wù)邏輯應(yīng)該置于應(yīng)用的更高層中。這里只允許數(shù)據(jù)訪問方法。</p><p
47、> 不應(yīng)該使持久邏輯和表現(xiàn)邏輯耦合。避免表現(xiàn)組件如JSP 或者基于servlet 的類中的邏輯直接和數(shù)據(jù)訪問進(jìn)行通信。通過將持久性邏輯隔離在其自己的層中,應(yīng)用將具有更加靈活的修改性而不影響到其他層的代碼。例如, Hibernate 可以使用其他持久框架和API 代替,而不需要修改其它層中的代碼。</p><p><b> 程序詳細(xì)設(shè)計(jì)</b></p><p>
48、;<b> 考生報(bào)名登記表</b></p><p> 考生通過報(bào)名登記表可以查看報(bào)名序號(hào),并可以打印</p><p> 打印超鏈接調(diào)用KSdayinAction鏈接傳出一個(gè)regid和page頁數(shù),regid從考生表里查出信息頁數(shù)分別傳送到不同的頁面(打印分為兩頁);打印考生信息分要從兩個(gè)表查詢考生信息,首先分別根據(jù)ksreg為單數(shù)和雙數(shù)判斷執(zhí)行哪個(gè)表的查詢返回
49、一個(gè)ksapply的對(duì)象并存入list里顯示到頁面。其次資格審查的打印直接鏈接到KSdayinAction傳出一個(gè)ZH的字符串如果為1執(zhí)行資格審查的打印查詢考生快照表,先查出其表的主鍵,通過時(shí)間TO_DATE和regid確定主鍵,返回一個(gè)long型的主鍵;然后通過主鍵查詢出考生的信息返回一個(gè)Ksapplysh的對(duì)象存入list里顯示到頁面;request.setAttribute("list3",a)是存儲(chǔ)報(bào)名序號(hào)c
50、har[] a是用來將報(bào)名序號(hào)分開,request.setAttribute("ksapply","Ksapply2")是存儲(chǔ)查詢的哪個(gè)表,用來顯示圖片用;頁面為dayin.jsp(1頁)dayin2.jsp(2頁)。</p><p> List list9=business.findBySql(sql1);</p><p> if(list9.
51、size()>0){</p><p> Object[] ob=(Object[]) list9.get(0);</p><p> format=new FormatTime((Date)ob[1]);</p><p> request.setAttribute("year",format.getYearString());</
52、p><p> request.setAttribute("month",format.getMonthString());</p><p> request.setAttribute("day",format.getDayString());}從快照表調(diào)審核時(shí)間。</p><p> 以上代碼為調(diào)取快照表的xinxi&l
53、t;/p><p><b> 固定查詢</b></p><p> 通過固定查詢,考生可以查詢自己是否通過單位的資格審查</p><p> 也可按性別、學(xué)歷、政治面目、考試科目、外語語種等查詢報(bào)名和確認(rèn)情況</p><p> 其按性別查詢傳出choose=1;按學(xué)歷查詢傳出choose=2;按政治面目查詢傳出choose
54、=3;按考試科目查詢傳出choose=4;按外語語種查詢choose=5;按招考單位查詢choose=6;按招考職位查詢choose=7;按筆試?yán)U費(fèi)情況查詢傳出choose=8;按招考單位查詢傳出choose=9;</p><p> 傳到KWGDAction且每個(gè)查詢都要按登錄的人員分如果是招考單位則顯示只是本招考單位的信息如果是招考部門則顯示招考單位下的部門信息如果是管理員則顯示全部信息;其查詢返回的都是li
55、st型數(shù)據(jù)。</p><p><b> 招考職位查詢</b></p><p> 通過此項(xiàng)可查詢招考單位名稱、單位代碼、招考人數(shù)、招考部門名稱、部門代碼、職位、職位代碼、職位簡介、學(xué)歷、專業(yè)要求等一些信息信息</p><p> 調(diào)用ZhiweiListAction根據(jù)招考單位和招考部門分別按其單位和部門查出不同的結(jié)果;傳入ReadOnly
56、判斷是否可以修改招考職位信息和添加招考單位信息;查詢職位表(zhiwei)且把其他信息綜合到一起返回list傳到頁面zhiweilist.jsp</p><p><b> 職位庫</b></p><p> 調(diào)用ZhiweiListAction根據(jù)招考單位和招考部門分別按其單位和部門查出不同的結(jié)果;傳入ReadOnly 判斷是否可以修改招考職位信息和添加招考單位信息
57、和刪除職位信息;查詢職位表(zhiwei)且把其他信息綜合到一起返回list傳到頁面zhiweilist.jsp</p><p> 48小時(shí)未審核考生信息查詢</p><p> 根據(jù)時(shí)間可查詢距輸入時(shí)間48小時(shí)未審核人員信息;如果時(shí)間輸入時(shí)間為空則根據(jù)現(xiàn)在時(shí)間計(jì)算;查詢考生視圖得到結(jié)果返回頁面</p><p> 調(diào)用TimeShenheAction2根據(jù)時(shí)間可
58、查詢距輸入時(shí)間48小時(shí)未審核人員信息;如果時(shí)間輸入時(shí)間為空則根據(jù)現(xiàn)在時(shí)間計(jì)算;查詢考生視圖得到結(jié)果返回頁面</p><p> 點(diǎn)擊未審查人數(shù)傳出EDPT,JOB,UNIT調(diào)用TimeShenheAction根據(jù)傳入的值可直接查詢出報(bào)考本部門的超過48小時(shí)未審核的人員信息,如果是部門登錄則設(shè)置request.setAttribute("shenhe", "1");在頁面上如
59、果shenhe的值是1則可以鏈接到資格審查,如果不是1則不可鏈接</p><p> 鏈接到zgShenHeAlterStateAction傳入regid,pastime超過多少小時(shí)fe=1鏈接到資格審查頁面進(jìn)行判斷</p><p><b> 招考單位資格審查</b></p><p> 招考單位登錄報(bào)名系統(tǒng)對(duì)報(bào)考人員進(jìn)行資格審查,如果是單位
60、進(jìn)來以后,顯示其第一個(gè)部門的所有未審核人員;如果是部門進(jìn)來以后,顯示其所有未審核人員</p><p> 頁面入口:招考單位登陸系統(tǒng)—></p><p> 調(diào)用ZgShenHeLoginAction:</p><p> 業(yè)務(wù)要求:如果是單位進(jìn)來以后,顯示其第一個(gè)部門的所有未審核人員;如果是部門進(jìn)來以后,顯示其所有未審核人員。</p><
61、p><b> 業(yè)務(wù)實(shí)現(xiàn):</b></p><p> 根據(jù)String code = this.curruser.getZkdwbmcode(); 得到招考單位代碼和部門代碼 ——></p><p><b> if進(jìn)來的是個(gè)單位</b></p><p> List department = dao.fi
62、ndDeptsByUnitCode(unitCode); </p><p> //查找該單位的所有部門</p><p> List jobs = dao.findDeptJobInfo(unitCode, deptCode);</p><p> //查找這個(gè)單位的第一個(gè)部門的所有職位</p><p> ListmyResult
63、 = dao.findOneFour(unitCode, deptCode);</p><p> //返回的要在頁面顯示的結(jié)果</p><p> 注:在dao里面,findOneOne——findOneSix 是“招考部門”為“所有”,“審核情況”為“所有人”——“通過未繳費(fèi)人員”的查詢方法</p><p> Dao里面findTwoOne——findTw
64、oSix是“招考部門”為 實(shí)際的部門,“審核情況”為“所有人”——“通過未繳費(fèi)人員”的查詢方法</p><p> 查找出來九個(gè)字段,含義如下</p><p> 招考部門 職位 職位代碼 姓名 性別 學(xué)位 提交時(shí)間 審核情況 regid 和48小時(shí)的差值是多少</p><p> 0 1 2 3 4 5
65、 6 7 8 9</p><p><b> if進(jìn)來的是個(gè)單位</b></p><p> Listjobs = dao.findDeptJobInfo(unitCode, deptCode);</p><p><b> //根據(jù)</b></p><p
66、> ListmyResult = dao.findOneFour(unitCode, deptCode);</p><p> 最后通過One-one查詢出來該部門所有的超過四十八小時(shí)未審核的人員數(shù)量。</p><p> 轉(zhuǎn)向前臺(tái)頁面:dwShenHe2.jsp顯示后臺(tái)內(nèi)容</p><p> 點(diǎn)擊姓名列,轉(zhuǎn)向考生詳細(xì)信息頁面ksInfoDetail.j
67、sp顯示考生詳細(xì)信息。</p><p><b> 業(yè)務(wù)實(shí)現(xiàn):</b></p><p> 前臺(tái)轉(zhuǎn)向ZgShenHeAlterStateAction,查找出來考生的詳細(xì)信息,轉(zhuǎn)到ksInfoDetail.jsp頁面。</p><p> 前臺(tái)根據(jù)業(yè)務(wù)邏輯判斷,如果是未審核就在頁面顯示是否“拒絕”還是“通過”,如果是通過的或者是拒絕的,就不顯示“
68、通過”或者“拒絕”,在前臺(tái)用Struts標(biāo)簽去判斷。</p><p> 如果是添加審核意見,跳轉(zhuǎn)到ZgShenHeAddOpnionAction類,做相關(guān)判斷,相關(guān)說明在類里面已經(jīng)做了詳細(xì)的文件注釋。最后存儲(chǔ)三個(gè)表,KSAPPLYSH,KSAPPLY1或者KSAPPLY2, PAY或者PAY2. 當(dāng)有考生是首先通過,繳費(fèi),又被拒絕時(shí)候,在PAY表或者PAY2表里面的Transtat字段賦值“T”表示準(zhǔn)備退費(fèi)的
69、考生。為考務(wù)的“考生信息修改”留出來一個(gè)字段,表示是從考生信息修改的地方傳過來的內(nèi)容。</p><p><b> 業(yè)務(wù)邏輯流程:</b></p><p> 考生被拒絕 – 將考生提交時(shí)間設(shè)為null,是否提交設(shè)為null,通過審核是為0,將考生全部信息插入KSAPPLYSH表</p><p> 考生通過審核—將考生通過審核設(shè)為1,全部信息
70、快照到ksapplysh表</p><p> 考生先被拒絕,然后通過 --- 從ksapplysh表里面查找出來考生的提交時(shí)間,將考生表提交時(shí)間設(shè)置過去,設(shè)置考生是否提交為1,設(shè)置考生通過審核為1,快照表里面插入一條記錄。</p><p> 在業(yè)務(wù)邏輯里面,NULL表示未審核,0未通過審核,1通過審核</p><p> 考生的報(bào)名序號(hào),在被拒絕以后,設(shè)置為0
71、00000,即“六個(gè)0”,通過審核以后,按照從小到大依次累加的順序進(jìn)行設(shè)置。</p><p> 點(diǎn)擊下拉條“招考單位部門”轉(zhuǎn)向ZgShenHeDeptChangeAction類,查詢出該部門對(duì)應(yīng)的“招考職位”,以及該部門對(duì)應(yīng)的所有“未審核”人員,都裝在session里面。具體注釋已經(jīng)很詳細(xì)。</p><p> 點(diǎn)擊下拉條“招考職位”,轉(zhuǎn)向ZgShenHeLe2Action類,查找出該職
72、位對(duì)應(yīng)的查詢類型的所有考生,裝在在session里面。最后通過One-one查詢出來該部門所有的超過四十八小時(shí)未審核的人員數(shù)量。</p><p> 點(diǎn)擊下拉條“審核情況”,同樣通過JS轉(zhuǎn)向到ZgShenHeLe2Action類,其查詢功能與“招考職位”查詢類似,注釋文檔很詳細(xì)了。</p><p><b> 精確查詢的審核:</b></p><p
73、> ZgShenHeLe2Action類進(jìn)行業(yè)務(wù)邏輯處理。</p><p> 根據(jù)姓名、身份證號(hào)進(jìn)行查詢,可以“姓名”模糊查詢,“身份證”精確查詢,“姓名+身份證號(hào)”精確查詢。 在注釋文檔里面把其稱為“小頁面”</p><p> 導(dǎo)出EXCEL功能,調(diào)用ZgShPrintAction類,傳入一個(gè)“一維數(shù)組”表示表頭,傳入list轉(zhuǎn)為二維數(shù)組,表示需要導(dǎo)出的內(nèi)容。</p&g
74、t;<p> 打印功能,調(diào)用類KSdayin.do</p><p><b> 開發(fā)結(jié)果</b></p><p> 網(wǎng)站最終已經(jīng)完成預(yù)計(jì)各模塊設(shè)計(jì),即各個(gè)模塊的實(shí)現(xiàn)。在數(shù)據(jù)庫的操作上和對(duì)權(quán)限的控制上也基本成功地實(shí)現(xiàn)了各項(xiàng)功能。</p><p> 通過這次實(shí)踐對(duì)這些應(yīng)用軟件有了更深入的了解,在應(yīng)用上也逐漸的心應(yīng)手,提高了實(shí)踐能
75、力。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] Jesse Zhao整理的《Div+CSS 布局大全》 </p><p> [2] 夏昕 著《Hibernate深入淺出》</p><p> [3] 赫雯.Dreamweaver網(wǎng)頁設(shè)計(jì)技法范例[M].北京:清華大學(xué)出版社
76、,2005年8月.</p><p> [4] 石靜.Photoshop網(wǎng)頁設(shè)計(jì)藝術(shù)[M].北京:清華大學(xué)出版社,2006年1月.</p><p> [5]廖彥華, 羅小亮. 基于JSP技術(shù)的網(wǎng)上購物系統(tǒng) [J]. 電腦知識(shí)與技術(shù):學(xué)術(shù)交流.2007(12):1276-1279.</p><p> [6] 何靜, 譚新民. 基于J2EE的網(wǎng)上購物系統(tǒng)的設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文---ssh框架結(jié)構(gòu)的公務(wù)員報(bào)考系統(tǒng)考務(wù)模塊的實(shí)現(xiàn)
- 框架結(jié)構(gòu)畢業(yè)論文
- 畢業(yè)論文--公務(wù)員輔助考試系統(tǒng)
- 國家公務(wù)員報(bào)考分類調(diào)查與分析[畢業(yè)論文]
- 基于ssh框架的在線考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)---畢業(yè)論文
- 基于ssh框架的電信計(jì)費(fèi)系統(tǒng)——畢業(yè)論文
- 畢業(yè)論文外文翻譯-框架結(jié)構(gòu)
- 畢業(yè)論文--基于ssh框架的論壇的設(shè)計(jì)與實(shí)現(xiàn)
- 基于ssh框架的在線考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)---畢業(yè)論文
- 公務(wù)員的職業(yè)道德建設(shè)畢業(yè)論文
- 畢業(yè)論文--基于ssh框架的論壇的設(shè)計(jì)與實(shí)現(xiàn)
- 基于ssh框架的網(wǎng)上建材商城的實(shí)現(xiàn)---畢業(yè)論文
- 從“公務(wù)員報(bào)考熱”看公務(wù)員績效考評(píng)制度的構(gòu)建
- 深圳公開招考公務(wù)員報(bào)考
- 重慶考試錄用公務(wù)員報(bào)考
- 某中學(xué)框架結(jié)構(gòu)畢業(yè)論文設(shè)計(jì)
- 重慶考試錄用公務(wù)員報(bào)考
- “公務(wù)員報(bào)考熱并未消退”
- 畢業(yè)論文—論公務(wù)員職業(yè)道德
- 畢業(yè)論文-基于ssh框架的定崗實(shí)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論