付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要評(píng)審材料管理系統(tǒng)是專(zhuān)門(mén)提供相應(yīng)的評(píng)審材料管理服務(wù)的一個(gè),用戶(hù)可以將提交的相關(guān)的評(píng)審的材料上傳到服務(wù)器,并且也可以查詢(xún)到已經(jīng)上傳的一管理,以及方便對(duì)材料的查詢(xún)。評(píng)審材料,方便對(duì)評(píng)審材料的統(tǒng)本系統(tǒng)使用 MyEclipse 2013 為主要開(kāi)發(fā)工具,以 Window Server 7操作系統(tǒng)為運(yùn)行環(huán)境,主要實(shí)現(xiàn)理,用戶(hù)權(quán)限設(shè)置等功能。評(píng)審材料管理,用戶(hù)管理,日志管本文對(duì)評(píng)審材料管理系統(tǒng)中的幾個(gè)的設(shè)計(jì)進(jìn)行了研究。從理論上對(duì)這些進(jìn)行了詳細(xì)的,并完成了基于評(píng)審材料管理系統(tǒng)Lucene、JXL、自定義、過(guò)濾器、器的:的實(shí)現(xiàn)。文章從以下幾個(gè)方面進(jìn)行了首先,本文介紹全文搜索引擎的市場(chǎng)需求、研究狀態(tài);全文搜索
2、引擎的基本結(jié)構(gòu)、實(shí)現(xiàn)的理論基礎(chǔ)如何將中文分詞技術(shù)、方法;全文搜索引擎的,技術(shù)和數(shù)據(jù)索引技術(shù)有機(jī)的結(jié)合起來(lái)。其次,本文將介紹 JXL 報(bào)表(Excel 報(bào)表的導(dǎo)入)的市場(chǎng)需求應(yīng)用狀態(tài),以及 JXL 報(bào)表的理論基礎(chǔ)方法。最后,詳細(xì)描述了一個(gè)基于 Lucene、JXL、自定義、過(guò)濾器、器的評(píng)審材料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。Lucene;JXL;自定義;過(guò)濾器;器ABSTRACTTitle appraisal material management system is dedicated to provide the corresponding title appraisal materials mana
3、gement servi of a platform, the user can submit the relevant title appraisal materials uploaded to the server, and also can query to have uploaded title review material, convenient and unified management of profes al materials, as well as convenient query of materials.This system uses MyEclipse 2013
4、 as main development tools, with Windows 7 operating system to run the Server environment, main title appraisal materials management, user management, log management, userpermis s Settings, and other functions.In this pr, the title appraisalof several key technology in theand implemenion are studied
5、. of these key technologies, andmaterial management system designTheoretically makes a detailed discuscompleted based on Lucene, JXL, custom tag, filter,erceptor titleappraisalmaterialsmanagementsystemimplemendiscussed from the following several aspects:ion.Thearticle, this psearch engine srroduthe
6、market demand, the research of full -texte; The basic structure of the full-text search engine,theoretical foundation and realization method of the implemenion; Thewordkeytechnologyoffull-textsearchengine,acquisition andhowtheChisegmenion technology, datadata indexing technologyanic union.Secondly,
7、this article willroduce JXL sements (import by Excel)application se of market demand, and JXL report forms the theoreticalbasis and implemenion methods.Finally, describes in detail a based on Lucene, JXL, custom tag, filter,erceptortitleappraisalmaterialsmanagementsystemdesignandimplemenion.Keyword
8、Lucene; JXL; Custom tag; The filter; Theerceptor目錄1緒論評(píng)審材料管理系統(tǒng)的開(kāi)發(fā)背景1開(kāi)發(fā)目的和本系統(tǒng)的模塊內(nèi)容1文章的組織結(jié)構(gòu)22所用技術(shù)的相關(guān)介紹32.1Lucene3Lucene 介紹3Lucene 開(kāi)發(fā)原理(數(shù)據(jù)庫(kù)與索引庫(kù)同步)3Ajax3JavaScript4Jquery 的 zTree 插件5JXL 報(bào)表的導(dǎo)入2.5系統(tǒng)分析733.13.2可行性分析7需求分析7系統(tǒng)設(shè)計(jì)944.14.2系統(tǒng)特點(diǎn)9系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)..44.2.5查詢(xún)材料模塊12上傳材料模塊12
9、用戶(hù)管理模塊12角色管理模塊12查看單個(gè)用戶(hù)模塊124.3系統(tǒng)處理流程設(shè)計(jì)..44.3.5查詢(xún)材料處理流程14上傳材料處理流程14用戶(hù)管理處理流程16角色管理處理流程17查看單個(gè)用戶(hù)處理流程174.4數(shù)據(jù)庫(kù)設(shè)計(jì)175系統(tǒng)實(shí)現(xiàn)225.1系統(tǒng)登錄.2系統(tǒng)登錄頁(yè)面的主界面效果22系統(tǒng)登錄頁(yè)面的實(shí)現(xiàn)225.2材料上傳和查詢(xún).2材料查詢(xún)和上傳主界面效果25材料查詢(xún)和上傳的實(shí)現(xiàn)265.3用戶(hù)管理2.2用戶(hù)管理主界面效果27用戶(hù)管理的實(shí)現(xiàn)315.4角色管理3.2角色管理主界面效果31角色管理的實(shí)
10、現(xiàn)316系統(tǒng)測(cè)試33測(cè)試基礎(chǔ)33測(cè)試內(nèi)容33單元測(cè)試33集成測(cè)試34結(jié)束語(yǔ)35致 謝36參考文獻(xiàn)37評(píng)審材料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)1緒論1.1評(píng)審材料管理系統(tǒng)的開(kāi)發(fā)背景隨著互聯(lián)網(wǎng)(ernet)的出現(xiàn)和普及,人們的信息來(lái)源得到了極大的豐富,互聯(lián)網(wǎng)成為了人們獲取信息的主要來(lái)源之一。在 ernet 信息不斷增長(zhǎng)的情況下,如何快速準(zhǔn)確的獲取所需信息成為研究熱點(diǎn)之一。搜索引擎技術(shù)(Search Engine)就是在這種需求背景下發(fā)展起來(lái)的。隨著信息化進(jìn)程的推進(jìn),以及互聯(lián)網(wǎng)的普及,無(wú)紙化辦公越來(lái)越得到推廣。大,傳統(tǒng)的評(píng)審申數(shù)的不斷增長(zhǎng),申報(bào)評(píng)審的工作壓力也不斷增評(píng)審材料管理出現(xiàn)效率低下,管理模式,文件管理評(píng)
11、審,也會(huì)出現(xiàn)資料丟失,資料亂序排放等問(wèn)題。為此,管理系統(tǒng),該系統(tǒng)包括材料查詢(xún),材料上傳,開(kāi)發(fā)了用戶(hù)管理,角色管理,單個(gè)用戶(hù)管理,數(shù)據(jù)字典等模塊。1.2開(kāi)發(fā)目的和本系統(tǒng)的模塊內(nèi)容評(píng)審材料管理系統(tǒng)是根據(jù)業(yè)務(wù)發(fā)展需要,建立的以評(píng)審材料管理為模塊的,其他模塊為輔助功能的管理系統(tǒng)。本系統(tǒng)的模塊內(nèi)容有:數(shù)據(jù)字典模塊中,使用 Ajax 技術(shù),實(shí)現(xiàn) 1個(gè)頁(yè)面 2 個(gè)表單的數(shù)據(jù)傳輸和異步跳轉(zhuǎn)。系統(tǒng)使用過(guò)濾器實(shí)現(xiàn)粗、細(xì)顆粒度的權(quán)限控制,提高了檢索的效率和速度,使權(quán)限的配置形式也更加靈活。使用 Jquery 的 zTree 插件完成系統(tǒng)菜單的功能權(quán)限控制。在系統(tǒng)開(kāi)發(fā)的各個(gè)模塊中,使用 struts2 的ercept
12、or 自定器實(shí)現(xiàn)異常機(jī)制的處理和轉(zhuǎn)發(fā),對(duì) Action 層,Service 層,層的異常做的捕獲,同時(shí)使用 Log4j 技術(shù)將異常錯(cuò)誤信息在服務(wù)器上生成日志文件,方便系統(tǒng)進(jìn)行檢查和處理,并同時(shí)指定錯(cuò)誤頁(yè)面捕獲異常信息,使得系統(tǒng)輸出異常信息更加友好。對(duì)各層異常的處理放置到 Action 層之前的erceptor器中負(fù)責(zé),簡(jiǎn)化了系統(tǒng)的代碼處理,讓系統(tǒng)的運(yùn)行更加安全。根據(jù)業(yè)務(wù)需求,開(kāi)發(fā)并實(shí)現(xiàn)了一個(gè) JavaScript 框架(Ajax),在頁(yè)面上可以實(shí)現(xiàn)異步請(qǐng)求和操作,應(yīng)用于系統(tǒng)的分頁(yè)功能、角色功能、數(shù)據(jù)字典功能等,大大簡(jiǎn)化了用戶(hù)在頁(yè)面上的操作。在用戶(hù)管理模塊中,使用 jxl 實(shí)現(xiàn)了對(duì) Excel
13、數(shù)據(jù)的導(dǎo)入功能。在查詢(xún)數(shù)據(jù)字典的時(shí)候,使 用了 hibernate 的二級(jí)緩存,大大提高了檢索策略,尤其在加載數(shù)據(jù)項(xiàng)的時(shí)候,對(duì)數(shù)據(jù)錄入準(zhǔn)確性的校驗(yàn)、比對(duì),在性能上優(yōu)化了數(shù)據(jù)的檢索形式。使用 MD5 技術(shù)對(duì)【記住我】功能;進(jìn)行加密。登錄操作的時(shí)候使用【系統(tǒng)或出錯(cuò)后 5 秒跳轉(zhuǎn)到登錄頁(yè)面。】、1.3文章的組織結(jié)構(gòu)本文主要研究了 最終實(shí)現(xiàn)一個(gè)基于 java如下:第 1 章:緒論。評(píng)審材料管理的實(shí)現(xiàn)中所涉及到的相關(guān)技術(shù),下的評(píng)審材料管理系統(tǒng)。具體內(nèi)容安排第 2 章:介紹了搜索引擎 Lucene 的總體結(jié)構(gòu)以及 Lucene 的開(kāi)發(fā)原理,是如何保持?jǐn)?shù)據(jù)庫(kù)與索引庫(kù)同步的;介紹 Ajax,Jquery 的
14、zTree 插件,Jxl,以及 hibernate 的二級(jí)緩存。第 3 章:設(shè)計(jì)實(shí)現(xiàn)一個(gè)基于 java的評(píng)審材料管理系統(tǒng),借助 Lucene,Jxl 等相關(guān)技術(shù)進(jìn)行實(shí)現(xiàn),在本文論述的理論終實(shí)現(xiàn)設(shè)計(jì)目標(biāo)?;A(chǔ)上,最第 4 章:介紹評(píng)審材料系統(tǒng)的具體實(shí)現(xiàn)技術(shù)的解決方法。第 5 章:對(duì)互聯(lián)網(wǎng)信息檢索系統(tǒng)進(jìn)況,對(duì)研究工作進(jìn)行總結(jié)和展望。試,總結(jié)整個(gè)的完成情2所用技術(shù)的相關(guān)介紹2.1Lucene2.1.1Lucene 介紹Lucene 是一套用于全文檢索和搜尋的開(kāi)源程式庫(kù),提供了完整的查詢(xún)引擎和搜索引擎。是一款高性能、可擴(kuò)展的信息檢索(文檔搜索、文檔內(nèi)信息搜索或者文檔相關(guān)的元數(shù)據(jù)搜索等操作)工具庫(kù)。2.
15、1.2Lucene 開(kāi)發(fā)原理(數(shù)據(jù)庫(kù)與索引庫(kù)同步)Lucene 保持?jǐn)?shù)據(jù)庫(kù)與索引庫(kù)同步如圖 2-1 所示。數(shù)據(jù)庫(kù)增刪改查詢(xún)應(yīng)用程序保持?jǐn)?shù)據(jù)一致增刪改查詢(xún)索引庫(kù)圖 2-1 Lucene 數(shù)據(jù)庫(kù)與索引庫(kù)同步圖數(shù)據(jù)庫(kù)與索引庫(kù)中存放相同的數(shù)據(jù),可以使用數(shù)據(jù)庫(kù)中存放的 ID 用來(lái)表示和區(qū)分同一條數(shù)據(jù)。2.2AjaxAjax 是異步的 JavaScript 和 XML,創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。Ajax 通過(guò)在與服務(wù)器進(jìn)行少量的實(shí)現(xiàn)頁(yè)面中數(shù)據(jù)的異步更新,即在不刷新整個(gè)頁(yè)面的情況下對(duì)網(wǎng)頁(yè)中的某部分?jǐn)?shù)據(jù)進(jìn)行更新,達(dá)到實(shí)時(shí)更新的效果。傳統(tǒng)的 WEB 應(yīng)用模式與 Ajax WEB 應(yīng)用模式對(duì)比如圖 2-2
16、2 所示??蛻?hù)端瀏覽器JavaScript CallHTTP+CSS 數(shù)據(jù)響應(yīng)請(qǐng)求請(qǐng)求響應(yīng)WEB 服務(wù)器傳統(tǒng) WEB 應(yīng)用模式Ajax WEB 應(yīng)用模式圖 2-2 傳統(tǒng)的 WEB 應(yīng)用模式與 Ajax WEB 應(yīng)用模式對(duì)比如圖Ajax 優(yōu)勢(shì):減輕服務(wù)器的壓力,在瀏覽器與服務(wù)器之間發(fā)送異步的HTTP 請(qǐng)求,按需取數(shù)據(jù),則此時(shí)就是網(wǎng)頁(yè)從服務(wù)器請(qǐng)求少量的數(shù)據(jù),而不是整個(gè)頁(yè)面的數(shù)據(jù)信息,這樣也可以減少用戶(hù)的等待時(shí)間;Ajax 獨(dú)立于 WEB 服務(wù)器,基于 xml 標(biāo)準(zhǔn)化,并被廣泛支持,不需安裝插件。2.3JavaScriptJavaScript 是一種控制瀏覽器語(yǔ)言。是一種由 Netsc交互行為的計(jì)算
17、機(jī)編程語(yǔ)言,是和 LiveScript 發(fā)展而來(lái)的原型化繼承語(yǔ)言,主要目的是為了解決服務(wù)一種的基于對(duì)象的區(qū)分大小寫(xiě)的客戶(hù)端器端語(yǔ)言,比如 Perl,遺留的速度問(wèn)題,為客戶(hù)提供更流暢的瀏覽效果。當(dāng)時(shí)服務(wù)器需要對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有 28.8kps,驗(yàn)證步驟浪費(fèi)的時(shí)間太多。于是 Netsc的瀏覽器 Navigator加入了 JavaScript,提供了數(shù)據(jù)驗(yàn)證的基本功能。JavaScript 的組成部分:ECMAScript(一種語(yǔ)言的標(biāo)準(zhǔn));BOMWEB(XML)服務(wù)器Ajax 引擎用戶(hù)界面全稱(chēng)為 Browser Object M瀏覽器對(duì)象模型;DOM 全稱(chēng)為Object M
18、文檔對(duì)象模型。JavaScript 的優(yōu)勢(shì):客戶(hù)端運(yùn)行,代碼的運(yùn)行由用戶(hù)自己的處理器,而不是規(guī)定的服務(wù)器,這樣可以降低服務(wù)器的壓力;擴(kuò)展功能,可以借助第也可以自己來(lái)擴(kuò)展插件;插件來(lái)編寫(xiě)自己所需要的部分代碼,實(shí)施簡(jiǎn)單,可以使用相同的語(yǔ)言編寫(xiě)前端和后端,進(jìn)而可以讓前端代碼和后端代碼同時(shí)進(jìn)行;用戶(hù)更方便:游客不再需要為了填寫(xiě)錯(cuò)了一個(gè)錯(cuò)別字而填寫(xiě)整個(gè)表單,用 JavaScript,每個(gè)字段可以在用戶(hù)輸入的時(shí)候被驗(yàn)證,當(dāng)他們犯錯(cuò)時(shí)可以得到相應(yīng)的提示;瀏覽器內(nèi)置 JavaScript:的用戶(hù)不需要特殊的來(lái)查看 JavaScript,每個(gè)用戶(hù)都會(huì)獲得相同的體驗(yàn)。2.4Jquery 的 zTree 插件zTr
19、ee 是一個(gè)基于 Jquery 實(shí)現(xiàn)的多功能 “樹(shù)插件”。優(yōu)異的性能、靈活的配置、多種功能的組合是 zTree 最大優(yōu)點(diǎn)。 zTree 是開(kāi)源免費(fèi)的。zTree 插件的主要功能為:兼容 IE、FireFox、Chrome 等瀏覽器;在一個(gè)頁(yè)面內(nèi)可以同時(shí)生成多個(gè) Tree 實(shí)例;支持對(duì) JavaScriptON數(shù)據(jù)的轉(zhuǎn)換;和 Ajax 異步加載來(lái)完成 Tree 的顯示;支持靜態(tài)生成支持 Tree 的節(jié)點(diǎn)刪除、編輯、移動(dòng);支持極其靈活的 checkbox 和 radio 選擇功能;支持對(duì)圖標(biāo)和樣式的任意修改,要依靠 CSS;簡(jiǎn)單的參數(shù)配置則可以實(shí)現(xiàn)在菜單項(xiàng)顯示不同的菜單的功能;2.5JXL 報(bào)表的
20、導(dǎo)入Jxl 是一個(gè)韓國(guó)人寫(xiě)的 java 操作 Excel 的工具,在開(kāi)源世界中,有兩套比較有影響的 API 可以供使用,一個(gè)是 POI,一個(gè)是 jExcelAPI。能相對(duì) POI 比較弱一點(diǎn)。但 jExcelAPI 對(duì)中文支持非常好,API其是純 Java 的,并不依賴(lài) Windows 操作系統(tǒng),即使運(yùn)行在 Linux 下,它同樣能夠正確的處理 Excel 文件。JXL 特征有如下描述:支持 Excel 95-2000 的所有版本;生成 Excel 2000 標(biāo)準(zhǔn)格式;支持字體、數(shù)字、日期操作;能夠修飾單元格屬性;支持圖像和圖表。JXL 與 POI 相比的一些優(yōu)勢(shì):相比提供的功能的話(huà),JXL
21、相對(duì)弱了點(diǎn).所以如果要實(shí)現(xiàn)的功能比較復(fù)雜的情況下可以考慮使用 POI,但如果只想生成一些大數(shù)據(jù)量可以考慮使用 JXL,或者 CSV 也是一個(gè)不錯(cuò)的選擇,不過(guò) CSV 并不是真正的 Excel,然而 JXL數(shù)據(jù)比 POI 速度要快。3系統(tǒng)分析3.1可行性分析評(píng)審材料管理系統(tǒng)涉及到評(píng)審工作的全過(guò)程,對(duì)申報(bào)師、評(píng)委和業(yè)務(wù)部門(mén)管理員的工作都有重要的影響,因此在系統(tǒng)開(kāi)前,必須對(duì)項(xiàng)目的可行性進(jìn)行充分的認(rèn)證,避免在開(kāi)發(fā)過(guò)程中走不必要的彎路。系統(tǒng)開(kāi)發(fā)可行性分析主要包括以下幾個(gè)方面:技術(shù)可行性。本項(xiàng)目開(kāi)發(fā)計(jì)劃采用 Java 編程語(yǔ)言進(jìn)行開(kāi)發(fā),數(shù)據(jù)庫(kù)管理系統(tǒng)采用對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。從技術(shù)角度上看此開(kāi)發(fā)語(yǔ)言在辦公自動(dòng)
22、化系統(tǒng)開(kāi)發(fā)領(lǐng)域運(yùn)用的已經(jīng)比較成熟,同時(shí)有公司強(qiáng)大的技術(shù)支持和本身具有的良好的兼容性,使得項(xiàng)目整體開(kāi)發(fā)技術(shù)風(fēng)險(xiǎn)和開(kāi)發(fā)周期都控制在一個(gè)合理的水平。經(jīng)濟(jì)可行性分析。這個(gè)項(xiàng)目包括系統(tǒng)開(kāi)發(fā)和硬件服務(wù)器配套,整體總費(fèi)用在 10 萬(wàn)元左右。系統(tǒng)在設(shè)計(jì)開(kāi)發(fā)過(guò)程中,將充分考慮未來(lái)工作中可以出現(xiàn)的對(duì)材料管理的流程變動(dòng)、數(shù)據(jù)變動(dòng)、變動(dòng)等未知,對(duì)關(guān)鍵的功能節(jié)點(diǎn)和數(shù)據(jù)庫(kù)表單結(jié)構(gòu)都設(shè)置有靈活配置功能,可以確保系統(tǒng)五年內(nèi)滿(mǎn)足高校用戶(hù)的對(duì)求。評(píng)審材料管理工作的需操作可行性分析。高校教師具有較高的文化素質(zhì),在計(jì)算機(jī)基礎(chǔ)操作技能方面能夠滿(mǎn)足評(píng)審材料管理系統(tǒng)的素質(zhì)要求,因此在高校中推廣網(wǎng)絡(luò)評(píng)審材料管理系統(tǒng)具有比較好的用戶(hù)基礎(chǔ)。3.
23、2需求分析評(píng)審材料管理系統(tǒng)在具體功能設(shè)計(jì)上,將盡可以模擬傳統(tǒng)的職稱(chēng)評(píng)審中對(duì)材料和管理流程,并對(duì)原有的繁瑣和機(jī)械的工作環(huán)節(jié)進(jìn)行整合優(yōu)化。重點(diǎn)在于發(fā)揮計(jì)算機(jī)在數(shù)據(jù)、查詢(xún)以及網(wǎng)絡(luò)在數(shù)據(jù)傳的優(yōu)勢(shì),盡可能的減輕申報(bào)教師在對(duì)評(píng)審材料管理上的工作負(fù)擔(dān),提高管理的工作效率。該系統(tǒng)具備以下主要功能:上傳材料。用戶(hù)可以上傳評(píng)審所需要的材料。查詢(xún)材料。用戶(hù)可以通過(guò)多條件查詢(xún)出已經(jīng)上傳過(guò)的評(píng)審材料,使用 Lucene 實(shí)現(xiàn)對(duì)材料的查詢(xún)。用戶(hù)管理。在用戶(hù)管理模塊用戶(hù)可以查詢(xún)用戶(hù),對(duì)用戶(hù)的詳細(xì)信息進(jìn)行編輯、查看;刪除單個(gè)或多個(gè)用戶(hù);并且可以添加單個(gè)用戶(hù),或批量導(dǎo)入多個(gè)用戶(hù)。角色管理。在角色管理模塊,系統(tǒng)管理員可以為不同的
24、用戶(hù)分配不同的角色,每個(gè)角色具備不同的權(quán)限。查看單個(gè)用戶(hù)。當(dāng)用戶(hù)登錄成功登錄后,會(huì)跳轉(zhuǎn)到這個(gè)界面,用戶(hù)可以查看、編輯自己的詳細(xì)信息。4系統(tǒng)設(shè)計(jì)4.1系統(tǒng)特點(diǎn)評(píng)審材料管理系統(tǒng)簡(jiǎn)單的實(shí)現(xiàn)了對(duì)的管理的功能。系統(tǒng)名為 titleAppraisal。評(píng)審材料以及對(duì)用戶(hù)系統(tǒng)使用 Java 語(yǔ)言進(jìn)行開(kāi)發(fā),運(yùn)行在 Tomcat 服務(wù)器下,主要支持Windows 操作系統(tǒng),同時(shí)也可以移植到其他系統(tǒng)在實(shí)現(xiàn)上具有以下特點(diǎn):。系統(tǒng)框架的搭建:項(xiàng)目底層使用 Struts2+Hibernate3.0+Spring3.0;Struts2 是一個(gè) mvc 框架,是對(duì) m2 模式的一個(gè)封裝,Struts2為:Action、er
25、ceptor、Ongl 與 ValueStack;框架的三個(gè)Hibernate 是對(duì) jdbc 的一個(gè)封裝,是一個(gè) ORM 的框架,通過(guò)操作 Java 對(duì)象就可以操作數(shù)據(jù)庫(kù)中的表;Spring 是業(yè)務(wù)層的框架,以 IOC(反轉(zhuǎn)控制)和 AOP(面向切面的編程)為,使用 Spring 可以方便解耦、簡(jiǎn)化開(kāi)發(fā)、有對(duì) AOP 編程的支持、對(duì)使用式事務(wù)的支持、方便集成各種優(yōu)秀框架;數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行保存;系統(tǒng)使用過(guò)濾器實(shí)現(xiàn)粗顆粒度的權(quán)限控制,并使用細(xì)顆粒度權(quán)限控制;器實(shí)現(xiàn)使用 Jquery 的 zTree 插件完成系統(tǒng)菜單的功能權(quán)限控制,熟練使用 Ajax 技術(shù)調(diào)用 json 數(shù)據(jù),頁(yè)面加載數(shù)據(jù);使用
26、Jquery 控制前端顯示,使權(quán)限的配置形式也更加靈活,精確到菜單、模塊、以及功能點(diǎn);Struts2 的UI實(shí)現(xiàn)每個(gè)、按鍵的權(quán)限控制(自定義);開(kāi)發(fā)并實(shí)現(xiàn)了一個(gè) JavaScript 框架(Ajax),在頁(yè)面上可以實(shí)現(xiàn)異步請(qǐng)求和操作,不用使整個(gè)頁(yè)面刷新,應(yīng)用于系統(tǒng)的分頁(yè)和檢驗(yàn)等功能;使用 log4j 技術(shù)將導(dǎo)入的數(shù)據(jù)信息在服務(wù)器上做定期的備份;使用 JXL 實(shí)現(xiàn)了對(duì) Excel 數(shù)據(jù)的導(dǎo)入功能;在系統(tǒng)開(kāi)發(fā)的各個(gè)模塊中,使用 struts2 的erceptor 自定器實(shí)現(xiàn)異常機(jī)制的處理和轉(zhuǎn)發(fā),對(duì) Action 層,Service 層,層的異常做的捕獲,同時(shí)使用 log4j 技術(shù)將異常錯(cuò)誤信息在服
27、務(wù)器上生成日志文件,方便進(jìn)行檢查和處理,并同時(shí)指定錯(cuò)誤頁(yè)面捕獲異常信息,使得系統(tǒng)輸出異常信息更加友好。對(duì)各層異常的處理放置到 Action 層之前的erceptor行更加安全。器中負(fù)責(zé),簡(jiǎn)化了系統(tǒng)的代碼處理,讓系統(tǒng)的運(yùn)4.2系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)網(wǎng)絡(luò)環(huán)境下的管理系統(tǒng)的開(kāi)發(fā)主要有兩種模式:客戶(hù)端/服務(wù)器模式(Cnt/Server,簡(jiǎn)寫(xiě)為 C/S)和瀏覽器/服務(wù)器端(Browser/Server,簡(jiǎn)寫(xiě)為 B/S)。C/S 模式中,客戶(hù)端需要安裝的客戶(hù)端程序,實(shí)現(xiàn)業(yè)務(wù)邏輯校驗(yàn),負(fù)責(zé)完成數(shù)據(jù)的錄入、修改、打??;服務(wù)器端通常采用高性能的專(zhuān)用服務(wù)器,負(fù)責(zé)數(shù)據(jù)的存取和統(tǒng)計(jì)。C/S 模式能充分發(fā)揮客戶(hù)端的機(jī)器性能,
28、很多工作可以預(yù)先交由客戶(hù)端處理后再提交給服務(wù)器,客戶(hù)端響應(yīng)速度快。B/S 模式中,客戶(hù)端只需要瀏覽器;服務(wù)器端存放業(yè)務(wù)邏輯(程序)和數(shù)據(jù)。的計(jì)算機(jī)默認(rèn)情況下都安裝有瀏覽器,所以可以說(shuō)客戶(hù)端是免安裝的。瀏覽器通過(guò) WEB Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,完成數(shù)據(jù)的錄入、修改用戶(hù),而業(yè)務(wù)邏輯處理方面,只有極少部分器端)實(shí)現(xiàn),絕大部分在后端(服務(wù)器端)實(shí)現(xiàn)。為端(瀏覽系統(tǒng)性能,可以通過(guò)服務(wù)器端的分層結(jié)構(gòu)如 WEB 服務(wù)器集群、分布式數(shù)據(jù)庫(kù)、應(yīng)用服務(wù)器、中間件技術(shù)等來(lái)形成所謂三層結(jié)構(gòu),這樣就大大簡(jiǎn)化了客戶(hù)端計(jì)算負(fù)荷,減輕了整個(gè)了用戶(hù)的總體成本。與更新的成本和工作量,降低B/S 結(jié)構(gòu)優(yōu)勢(shì)在于終端用戶(hù)
29、通過(guò)瀏覽器向應(yīng)用服務(wù)器發(fā)送處理請(qǐng)求,業(yè)務(wù)邏輯集中于應(yīng)用服務(wù)器,數(shù)據(jù)庫(kù)和使用集中于數(shù)據(jù)庫(kù)服務(wù)器,正是這些特點(diǎn)使得 B/S 結(jié)構(gòu)都要比 C/S 結(jié)構(gòu)更方便更經(jīng)濟(jì),不僅能夠滿(mǎn)足分布式事件的處理功能,而且還確保數(shù)據(jù)的一致性,同時(shí)提高開(kāi)發(fā)效率,降低成本。系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖 4-1 所示。評(píng)審材料管理系統(tǒng)圖 4-1 系統(tǒng)體系結(jié)構(gòu)圖評(píng)審材料管理系統(tǒng)采用 B/S 結(jié)構(gòu)進(jìn)行開(kāi)發(fā),將系統(tǒng)整體分成表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層三個(gè)彼此獨(dú)立又相互依賴(lài)的層次來(lái)各自實(shí)現(xiàn)。表示層負(fù)責(zé)顯示終端用戶(hù)的操作界面,業(yè)務(wù)邏輯層負(fù)責(zé)業(yè)務(wù)邏輯的處理,數(shù)據(jù)層負(fù)責(zé)數(shù)據(jù)的。三層的分離使得表示層不用關(guān)心具體的業(yè)務(wù)邏輯的實(shí)現(xiàn),業(yè)務(wù)邏輯不用關(guān)心自己將會(huì)
30、在哪里被顯示以及以何種方式顯示,數(shù)據(jù)層不用關(guān)心業(yè)務(wù)如何處理。評(píng)審材料管理系統(tǒng)采用 B/S 三層結(jié)構(gòu)開(kāi)發(fā),在評(píng)審信息的數(shù)據(jù)庫(kù)數(shù)據(jù)層業(yè)務(wù)邏輯層客戶(hù)端瀏覽器表示層、數(shù)據(jù)效率。和信息的處理方面都有很大的優(yōu)勢(shì),提高了系統(tǒng)的工作從功能上看評(píng)審材料管理系共有五個(gè)功能模塊,分別為:查詢(xún)材料模塊、上傳材料模塊、用戶(hù)管理模塊、角色管理模塊、查看單個(gè)用戶(hù)模塊。4.2.1查詢(xún)材料模塊在查詢(xún)材料模塊中,為了提高檢索評(píng)審材料的速度以及增加檢索方式的多樣性,使用 Lucene 技術(shù),建立一個(gè)大的索引庫(kù)用于和數(shù)據(jù)庫(kù)同步,用來(lái)支持大批量的數(shù)據(jù)搜索。4.2.2上傳材料模塊使用 struts2 實(shí)現(xiàn)了多文件的上傳,并對(duì)文件的格式、
31、大小進(jìn)行控制,放置到指定目錄下,并使用 UUID 生成文件名,并將每一天的文件使得文件惟一,保證每個(gè)文件的合理,方便流程文檔的查看和傳遞。4.2.3用戶(hù)管理模塊多條件查詢(xún)實(shí)現(xiàn)對(duì)用戶(hù)列表的查詢(xún),可以查詢(xún)出符合查詢(xún)條件的用戶(hù);使用 Jquery 的分頁(yè)技術(shù)實(shí)現(xiàn)對(duì)用戶(hù)列表的分頁(yè);在添加和編輯用戶(hù)時(shí)使用 JavaScript 對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),并且可以在添加或編輯用戶(hù)時(shí)實(shí)現(xiàn)文件的上傳,使用 JXL 技術(shù)實(shí)現(xiàn)對(duì)用戶(hù)的批量導(dǎo)入。4.2.4角色管理模塊Struts2 的 UI實(shí)現(xiàn)每個(gè)、按鍵的權(quán)限控制(自定義),在角色管理中可以對(duì)整個(gè)系統(tǒng)中每個(gè)菜單和按鈕進(jìn)行用戶(hù)權(quán)限的分配。并且可以根據(jù)用戶(hù)類(lèi)型來(lái)色。的分配多個(gè)用
32、戶(hù)的權(quán)限,為其設(shè)置角4.2.5查看單個(gè)用戶(hù)模塊在這個(gè)模塊中只能顯示當(dāng)前登錄系統(tǒng)的用戶(hù)信息,用戶(hù)可以查看自己的詳細(xì)信息,并且可以對(duì)自己的信息進(jìn)行編輯。使用 struts 的多文件上傳實(shí)現(xiàn)添加多個(gè)附件的功能。評(píng)審材料系統(tǒng)整體結(jié)構(gòu)如圖 4-2 所示。評(píng)審材料管理系統(tǒng)評(píng)審材料管理系統(tǒng)管理用戶(hù)管理模塊角色管理模塊上傳材料模塊查看單個(gè)用戶(hù)模塊查詢(xún)材料模塊圖 4-2評(píng)審材料系統(tǒng)整體結(jié)構(gòu)圖4.3系統(tǒng)處理流程設(shè)計(jì)4.3.1查詢(xún)材料處理流程在查詢(xún)材料時(shí),使用 Lucene 的全文檢索技術(shù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行搜索。用戶(hù)在查詢(xún)條件中輸入自己想找到的文件的相關(guān)詞語(yǔ)或字,則可以查詢(xún)出包含相應(yīng)文字的文件名的文件。查詢(xún)材料流程圖如
33、圖 4-3 所示。服務(wù)器端用戶(hù)發(fā)送返回查詢(xún)結(jié)果結(jié)束結(jié)束圖 4-3 查詢(xún)材料流程圖4.3.2上傳材料處理流程首先將上傳的的數(shù)據(jù)從數(shù)據(jù)庫(kù)中獲取出來(lái);然后利用 Lucene 將每條數(shù)據(jù)轉(zhuǎn)化成對(duì)象,對(duì)對(duì)象進(jìn)行索引數(shù)據(jù)的寫(xiě)入,保存在內(nèi)存中;最后輸出內(nèi)存數(shù)據(jù)生成索引文件。上傳材料的執(zhí)行過(guò)程如圖 4-4 所示。在索引庫(kù)中進(jìn)行查找,并將結(jié)果返回給用戶(hù)顯示查詢(xún)結(jié)果對(duì)進(jìn)行中文分詞將發(fā)送到服務(wù)等待接收輸入檢索開(kāi)始文件對(duì)象 轉(zhuǎn)換為 對(duì)象分詞器分詞通過(guò) IndexWriter 寫(xiě)入數(shù)據(jù)庫(kù)上 傳 成 否功?圖 4-4 上傳材料的執(zhí)行過(guò)程圖結(jié)束提示上傳成功,并且在頁(yè)面顯示已經(jīng)上傳的文件點(diǎn)擊上傳選擇要上傳文件4.3.3用戶(hù)管
34、理處理流程在用戶(hù)管理這個(gè)功能模塊中,用戶(hù)可以輸入查詢(xún)條件根據(jù)多條件查詢(xún)查詢(xún)出所需要的用戶(hù)列表;用戶(hù)可以點(diǎn)擊多選框選中要?jiǎng)h除的用戶(hù)或是點(diǎn)擊全選來(lái)批量刪除所有選中的用戶(hù),主要的技術(shù)是 JavaScript 來(lái)控制頁(yè)面中的用戶(hù)被選中;用戶(hù)可以刪除單個(gè)用戶(hù);用戶(hù)可以添加、編輯單個(gè)用戶(hù),而在添加、編輯單個(gè)用戶(hù)時(shí)可以導(dǎo)入用戶(hù)所附帶的文件,用到了 strus2 的文件上傳;用戶(hù)可以批量導(dǎo)入多個(gè)用戶(hù),用到了 JXL 技術(shù)來(lái)實(shí)現(xiàn)對(duì) Excel 表中數(shù)據(jù)的批量導(dǎo)入。用戶(hù)管理流程圖如圖 4-5 所示。開(kāi)始否查詢(xún)成 否保存成 功?提示是否要功?否刪除選中 是是的?是結(jié)束圖 4-5 用戶(hù)管理流程圖返回列表頁(yè)面跳轉(zhuǎn)到用戶(hù)
35、列表頁(yè)面在列表中顯示符合條件的用戶(hù)點(diǎn)擊刪除按鈕填寫(xiě)用戶(hù)信息點(diǎn)擊查詢(xún)按鈕選擇查詢(xún)條件點(diǎn)擊編輯、添加用戶(hù)選擇要?jiǎng)h除的一個(gè)或多個(gè)用戶(hù)4.3.4角色管理處理流程系統(tǒng)管理員可以為不同的角色來(lái)分配一些權(quán)限,然后再把這個(gè)角色附加到具體的用戶(hù)上。而對(duì)于權(quán)限來(lái)說(shuō)有左側(cè)菜單的顯示、頁(yè)面中的按鈕、以及某部分 jsp 頁(yè)面的顯示;可以一次為多個(gè)用戶(hù)分配權(quán)限。角色管理流程圖如圖 4-6 所示。開(kāi)始結(jié)束圖 4-6 角色管理流程圖查看單個(gè)用戶(hù)處理流程當(dāng)用戶(hù)登錄進(jìn)來(lái)后,用戶(hù)可以查看自己的詳細(xì)信息,并且可以對(duì)自4.3.5己的詳細(xì)信息進(jìn)行編輯。4.4數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是對(duì)于一個(gè)已知的應(yīng)用途徑,選取最好的數(shù)據(jù)庫(kù)模式,設(shè)計(jì)數(shù)據(jù)庫(kù)以
36、及應(yīng)用模式,以達(dá)到能有效戶(hù)的應(yīng)用目的。數(shù)據(jù)的目的,滿(mǎn)足各種用評(píng)審材料管理系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中盡量滿(mǎn)足了數(shù)據(jù)庫(kù)的設(shè)計(jì)原則:點(diǎn)擊保存選擇具有此角色的用戶(hù)為此角色選擇權(quán)限選擇角色類(lèi)型規(guī)范化,在數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中應(yīng)該遵循規(guī)范化理論;命名規(guī)范,數(shù)據(jù)庫(kù)的庫(kù)名、表名、字段名必須遵守規(guī)則;主鍵和外鍵;重復(fù)性的控制,盡量減少和消除數(shù)據(jù)庫(kù)的冗余;數(shù)據(jù)庫(kù)的設(shè)計(jì)中應(yīng)該進(jìn)行并發(fā)控制。評(píng)審材料文件表設(shè)計(jì)如圖 4-7 所示。名圖 4-7評(píng)審材料文件表設(shè)計(jì)圖用戶(hù)、角色、權(quán)限、用戶(hù)4-8 所示。附件表設(shè)計(jì)及其相互之間的關(guān)系如圖圖 4-8 用戶(hù)、角色、權(quán)限、用戶(hù)數(shù)據(jù)庫(kù)表各個(gè)表項(xiàng)的詳細(xì)說(shuō)明如下:附件表設(shè)計(jì)及其關(guān)系圖表 4-1評(píng)審
37、材料表表 4-2 用戶(hù)信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型備注userIDvarChar主鍵 IDjctIDvarChar所屬codejctUnitIDvarChar所屬的名稱(chēng)userNamevarChar用戶(hù)logonNamevarChar登錄名logonPwdvarCharsexIDvarCharBirthdayvarChar出生日期AddressvarChar聯(lián)系地址contactvarCharvarChar電子郵箱MobilevarCharisDutyvarChar是否在職tIDvarChar職位onDutyDatevarChar入職時(shí)間字段名稱(chēng)數(shù)據(jù)類(lèi)型備注SeqID主鍵 IDProjIDvarCh
38、ar帶有附件的工程 ID(所屬)BelongTovarChar所屬資料類(lèi)別FileNamevarChar文件名FileURLvarChar文件路徑ProgressTimevarChar上傳時(shí)間CommentvarChar備注表 4-3 用戶(hù)附件表表 4-4 角色信息表表 4-5 用戶(hù)角色關(guān)聯(lián)表表 4-6 權(quán)限信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型備注MIDvarChar權(quán)限 CodevarChar父級(jí)權(quán)限 CodeNAMEvarChar權(quán)限名稱(chēng)UrlvarChar權(quán)限在系統(tǒng)中執(zhí)行訪(fǎng)問(wèn)地址的 URLIconvarChar如果是菜單,則為顯示的 URLvarChar如果是菜單,執(zhí)行的 Frame 區(qū)稱(chēng)字段名稱(chēng)數(shù)據(jù)
39、類(lèi)型備注userIDvarChar用戶(hù) IDroleIDvarChar角色 ID字段名稱(chēng)數(shù)據(jù)類(lèi)型備注roleIDvarChar角色 IDroleNamevarChar角色名稱(chēng)字段名稱(chēng)數(shù)據(jù)類(lèi)型備注fileIDvarChar主鍵 IDuserIDvarChar用戶(hù) IDfileNamevarChar文件名fileURLvarChar文件路徑progressTimetimeSt上傳時(shí)間offDutyDatevarChar離職時(shí)間remarkvarChar備注表 4-7 角色權(quán)限關(guān)聯(lián)表字段名稱(chēng)數(shù)據(jù)類(lèi)型備注roleIDvarChar角色 IDMidvarChar權(quán)限 CodevarChar父級(jí)權(quán)限 Co
40、deisParenttiny是否是父節(jié)點(diǎn)istiny是否是系統(tǒng)菜單結(jié)構(gòu)5系統(tǒng)實(shí)現(xiàn)本章主要介紹各個(gè)功能模塊的界面設(shè)計(jì)方式,以及實(shí)現(xiàn)方法。主要包括的模塊有系統(tǒng)登錄頁(yè)面,查詢(xún)材料頁(yè),上傳材料頁(yè),用戶(hù)管理頁(yè),角色管理頁(yè)。5.1系統(tǒng)登錄5.1.1系統(tǒng)登錄頁(yè)面的主界面效果系統(tǒng)登錄頁(yè)面如圖 5-1 所示。圖 5-1 系統(tǒng)登錄頁(yè)面圖,并且利用 Ajax在系統(tǒng)登錄頁(yè)面中要輸入用戶(hù)名、和技術(shù)對(duì)用戶(hù)名和驗(yàn)證進(jìn)行了校驗(yàn),只有輸入正確的用戶(hù)名、只能時(shí)才可以登錄成功,對(duì)的設(shè)置有只能輸入每個(gè)使用一次,可以點(diǎn)擊換成另一個(gè)。5.1.2系統(tǒng)登錄頁(yè)面的實(shí)現(xiàn)1:struts2 的 validator 校驗(yàn)(校驗(yàn))項(xiàng)目中進(jìn)行數(shù)據(jù)校驗(yàn)的
41、方式:JavaScript 校驗(yàn)(前臺(tái)校驗(yàn))+Ajax 校驗(yàn)(校驗(yàn))+Struts2 的 validator 校驗(yàn)(校驗(yàn))。2:hibernate 的懶加載問(wèn)題當(dāng)使用 hibernate 查詢(xún)一個(gè)對(duì)象的時(shí)候,如果 Ses關(guān)閉,再調(diào)用該對(duì)象關(guān)聯(lián)的集合或者對(duì)象的時(shí)候,會(huì)產(chǎn)生懶加載異常,所以要在 WEB 容器中添加該過(guò)濾器(要求:該過(guò)濾器一定要放置到 strtus2的過(guò)濾器的前面,先執(zhí)行該過(guò)濾器)。3:作用:防止的測(cè)試系統(tǒng)的用戶(hù)名和(利用循環(huán)輸入用戶(hù)名和測(cè)試),采用,每次到登錄頁(yè)面的時(shí)候,的值是不同的,需要重新輸入。4:記住我記住當(dāng)前用戶(hù)名和,下次登錄名不需要用戶(hù)再次輸入。添加過(guò)濾器,實(shí)現(xiàn)在跳轉(zhuǎn)到
42、index.jsp 頁(yè)面之前先從如果name 中存在中文,此時(shí)中文字符是不能存放到中獲取數(shù)據(jù),對(duì)象中,使用 HttpResponse 對(duì)象添加會(huì)拋出異常。解決方案:使用 URLEncode 類(lèi)和 URLDecode 類(lèi)進(jìn)行編碼和LogonUtils 類(lèi)對(duì) name 進(jìn)行編碼:try name = URLEncoder.encode(name, UTF-8); catch (UnsupportedEncodingException e) 在e.prStackTrace();namepassword= new= new(name,name);(password,password);在過(guò)濾器 Sys
43、temFilter 類(lèi)對(duì) name 進(jìn)行:if(.getName().equals(name)name =try .getValue();name = URLDecoder.decode(name, UTF-8); catch (UnsupportedEncodingException e) e.prStackTrace();checked = checked;5:完成動(dòng)態(tài)加載樹(shù)型結(jié)構(gòu)使用 Jquery 的 zTree 插件的實(shí)現(xiàn)。6:自定義使用當(dāng)前用戶(hù)具有的權(quán)限,控制頁(yè)面上的按鈕或者7:粗顆粒度權(quán)限控制(使用過(guò)濾器完成)是否可見(jiàn)。Ses Ses Ses到 Ses不應(yīng)該在服務(wù)器一直不清空,如果
44、 Ses過(guò)多,會(huì)導(dǎo)致壓力大,系統(tǒng)變慢,于是要求 10 分鐘如果不操作系統(tǒng),將自動(dòng)清空。粗顆粒度權(quán)限控制即 Ses級(jí)別的權(quán)限,精確的權(quán)限控制(判斷 Ses是否存在),使用過(guò)濾器完成不存在就跳轉(zhuǎn)到友好提示的頁(yè)面,粗顆粒的權(quán)限控制,如果 Ses如果存在可以通過(guò) URL到對(duì)應(yīng)的操作。8:系統(tǒng)中的異常處理+日志備份(使用 struts2 的器)使用 struts2 的ntercept()方法定義 try沒(méi)有拋出異常,則在 try 模器,在器中的catch 異常,如果 Action、Service、塊中指定正確操作的頁(yè)面。例如:result = actioninvocation.invoke();retu
45、rn result;/result 跳轉(zhuǎn)到正確的頁(yè)面如果 Action、Service、拋出異常,則在 catch 模塊中,獲取異常,使用 log4j 存放到指定的日志文件中,通過(guò) returnerrorMsg;跳轉(zhuǎn)到錯(cuò)誤頁(yè)面。9:細(xì)顆粒權(quán)限控制(使用 struts2 的器)使用 struts2 的器定義一個(gè)注解(mid 和),對(duì)應(yīng)權(quán)限 code和父級(jí)權(quán)限的 code,將注解添加到 Action 類(lèi)中方法的上面。每個(gè)Action 類(lèi)的方法上添加注解(mid=”,=”),表示方法的惟一標(biāo)識(shí)(即該方法所具有的權(quán)限)。在 struts2 的器中,從Ses中獲取角色 ID,獲取 Action 類(lèi)方法上
46、的注解(mid 和),使用角色 ID,mid 和查詢(xún)角色權(quán)限表,判斷當(dāng)前用戶(hù)是否可以操作該方法。在 struts2 的詢(xún)一遍數(shù)據(jù)庫(kù),而不從 Ses器中都要使用 roleID,mid,去查中獲取 mid 的值和注解上定義的 mid的值,操作每一個(gè)功能之前都會(huì)先查詢(xún)權(quán)限,這樣查詢(xún)才能保證數(shù)據(jù)安全。5.2材料上傳和查詢(xún)5.2.1材料查詢(xún)和上傳主界面效果材料查詢(xún)頁(yè)面如圖 5-2 所示。圖 5-2 材料查詢(xún)頁(yè)面圖材料上傳頁(yè)面如圖 5-3 所示。圖 5-3 材料上傳頁(yè)面圖對(duì)于材料查詢(xún)和上傳用到 Lucene 技術(shù),材料查詢(xún)用戶(hù)可以進(jìn)行多條件查詢(xún),也可以根據(jù)查詢(xún)出來(lái)的材料列表同時(shí)刪除一條或多條列表數(shù)據(jù)。對(duì)于
47、材料上傳使用 JavaScript 技術(shù)對(duì)頁(yè)面中的上傳材料選項(xiàng)卡可以進(jìn)行設(shè)置,添加或刪除上傳材料的選項(xiàng)卡。一次可以同時(shí)上個(gè)文件。個(gè)或多5.2.2材料查詢(xún)和上傳的實(shí)現(xiàn)1:在項(xiàng)目的資源路徑下添加三個(gè)配置文件:(1)IKyzer.cfg.xml:分詞器配置文件ext.dic(擴(kuò)展詞庫(kù)):在這個(gè)文件里面配置一些分詞原則stopword.dic(停用詞庫(kù)):在這個(gè)文件里面配置一些不用分詞的詞匯。2:索引庫(kù)基本代碼在 util 包下添加三個(gè)工具類(lèi):(1)Configuration.java:指定索引庫(kù)的位置,并對(duì)數(shù)據(jù)進(jìn)行分詞。(2)FileUpload.java: 向索引庫(kù)中存放的數(shù)據(jù)要轉(zhuǎn)換成對(duì)象(每條數(shù)
48、據(jù)就是一個(gè)對(duì)象),并向?qū)ο笾写娣?Field 對(duì)象(每條數(shù)據(jù)對(duì)應(yīng)的字段,例如主鍵 ID、所屬、材料類(lèi)別、文件名稱(chēng)、備注等),將每個(gè)字段中的值都存放到 Field 對(duì)象中。(3)LuceneUtils.java:實(shí)現(xiàn)對(duì)數(shù)據(jù)的增刪改查。5.3用戶(hù)管理5.3.1用戶(hù)管理主界面效果用戶(hù)管理頁(yè)面如圖 5-4 所示。圖 4-4 用戶(hù)管理頁(yè)面圖用戶(hù)管理頁(yè)面-編輯用戶(hù)頁(yè)面如圖 5-4 所示。圖 5-4 用戶(hù)管理頁(yè)面-編輯用戶(hù)頁(yè)面圖用戶(hù)管理頁(yè)面-編輯用戶(hù)頁(yè)面如圖 5-5 所示。圖 5-5 用戶(hù)管理頁(yè)面-查詢(xún)用戶(hù)頁(yè)面圖用戶(hù)管理頁(yè)面-添加用戶(hù)頁(yè)面如圖 5-6 所示。圖 5-6 用戶(hù)管理頁(yè)面-添加用戶(hù)頁(yè)面圖用戶(hù)管理頁(yè)
49、面-批量刪除用戶(hù)頁(yè)面如圖 5-7 所示。圖 5-7 用戶(hù)管理頁(yè)面-批量刪除用戶(hù)頁(yè)面圖用戶(hù)管理頁(yè)面-導(dǎo)入用戶(hù)頁(yè)面如圖 5-8 所示。圖 5-8 用戶(hù)管理頁(yè)面-導(dǎo)入用戶(hù)頁(yè)面圖5.3.2用戶(hù)管理的實(shí)現(xiàn)1:Jquery 的 Ajax 實(shí)現(xiàn)登錄名的校驗(yàn)(1)頁(yè)面效果:鼠標(biāo)失去焦點(diǎn)時(shí),頁(yè)面會(huì)進(jìn)行校驗(yàn)。校驗(yàn)如圖 5-9。圖 5-9 登錄名校驗(yàn)圖實(shí)現(xiàn)方法:使 用 struts2自 帶 的 校 驗(yàn) 規(guī) 則 實(shí) 現(xiàn) 的 。 引 入 插 件 包struts2-json-plugin-2.3.3.jar 并在頁(yè)面中進(jìn)行相應(yīng)的校驗(yàn)處理。2:對(duì)輸入的號(hào)碼進(jìn)行校驗(yàn)在 JavaScript 中使用正則表達(dá)式對(duì)輸入的3:文件上
50、傳號(hào)碼進(jìn)行校驗(yàn)。放置到 upload 的文件夾下;將每天上傳的文件,將上傳的文件使用日期格式的文件夾分開(kāi),將每個(gè)業(yè)務(wù)的模塊放置文件夾下;上傳的文件名要指定唯一,可以使用 UUID 的方式,也可以使用日期作為文件名;封裝一個(gè)文件上傳的方法,該方法可以支持多文件的上傳,即支持各種格式文件的上傳;保存路徑 path 的時(shí)候,使用相對(duì)路徑進(jìn)行保存,這樣便于項(xiàng)目的可移植性。4:使用 md5 的加理用戶(hù)的在添加用戶(hù)和編輯用戶(hù)時(shí)都要用到 md5 對(duì)進(jìn)行加密。新增時(shí)使用 md5 加密,如果用戶(hù)時(shí)如果修改了要進(jìn)行加密。為 123;編輯沒(méi)有填寫(xiě),需要設(shè)置初始,需要進(jìn)行加密,如果沒(méi)有修改則不需5.4角色管理5.4.
51、1角色管理主界面效果角色管理頁(yè)面如圖 5-10 所示。圖 5-10 角色管理頁(yè)面圖在本系統(tǒng)中對(duì)于用戶(hù)、角色、權(quán)限的設(shè)計(jì)為:角色和用戶(hù)的關(guān)系為多對(duì)多的關(guān)系,角色和權(quán)限為多對(duì)多的關(guān)系。角色在用戶(hù)和權(quán)限之間起著橋梁的作用。5.4.2角色管理的實(shí)現(xiàn)1:項(xiàng)目中配置 hibernate 多對(duì)多的關(guān)系(1)用戶(hù)和角色的關(guān)系:使用 hibernate(2)角色和權(quán)限的關(guān)系:不使用 hibernate,創(chuàng)建中間表(角色權(quán)限關(guān)聯(lián)表)2:對(duì)于頁(yè)面中全選和全不選的操作使用 JavaScript 來(lái)設(shè)置頁(yè)面中的全選、不選中的一些操作。在使用進(jìn)行保存的時(shí)候,獲取頁(yè)面選中復(fù)選框 value 的屬性值,此時(shí)是一個(gè) Strin
52、g 類(lèi)型的數(shù)組對(duì)象,可以采用遍歷數(shù)組的方式,保存數(shù)據(jù)。3:多對(duì)多級(jí)聯(lián)刪除中間表的數(shù)據(jù)如果用戶(hù)分配了角色,那么刪除用戶(hù)的時(shí)候就會(huì)拋出異常,需要在ElecUser.htm.xml 文件中進(jìn)行設(shè)置:inverse=true,由角色一端負(fù)責(zé)關(guān)聯(lián)關(guān)系:也就是說(shuō)角色可以操作用戶(hù),用戶(hù)不能操作角色。6系統(tǒng)測(cè)試6.1測(cè)試基礎(chǔ)(1)測(cè)試的目的評(píng)審材料管理系統(tǒng)的測(cè)試主要是針對(duì)保證對(duì)系統(tǒng)的需求分析、設(shè)計(jì)、實(shí)現(xiàn)編碼進(jìn)行最終的,保證系統(tǒng)能正確穩(wěn)定的運(yùn)行;檢驗(yàn)預(yù)期結(jié)果和實(shí)際結(jié)果(2)測(cè)試方法差別,并根據(jù)需求再對(duì)系統(tǒng)代碼進(jìn)行修改。本系統(tǒng)采用的測(cè)試方法為:白盒測(cè)試,在知道評(píng)審材料管理系統(tǒng)的產(chǎn)品的工作過(guò)程的前提下,根據(jù)需求規(guī)則
53、說(shuō)明書(shū)檢測(cè)系統(tǒng)的內(nèi)部動(dòng)作是否符合規(guī)格說(shuō)明書(shū)規(guī)定,系統(tǒng)中的每個(gè)功能的實(shí)現(xiàn)是否按照需求正確工作。6.2測(cè)試內(nèi)容6.2.1 單元測(cè)試單元測(cè)試就是把各個(gè)模塊看成一個(gè)小整體,采用靜態(tài)測(cè)試和白盒測(cè)試法來(lái)測(cè)試各模塊是否滿(mǎn)足要求。在評(píng)審材料管理系統(tǒng)中首先對(duì)每個(gè)模塊中的每個(gè)功能進(jìn)行單一的測(cè)試,根據(jù)需求文檔寫(xiě)測(cè)試用例,再根據(jù)測(cè)試用例點(diǎn)擊每個(gè),看頁(yè)面中顯示的效果與需求文檔是否一致。用戶(hù)登錄功能測(cè)試用例如圖 6-1。圖 6-1 中文分詞模塊測(cè)試表6.2.2 集成測(cè)試為保證評(píng)審材料管理系統(tǒng)能夠正常運(yùn)行,分模塊分功能的測(cè)試并不能保證整個(gè)系統(tǒng)能夠正常運(yùn)行。而這里的集成測(cè)試是對(duì)整個(gè)系統(tǒng)進(jìn)行的測(cè)試,保證對(duì)數(shù)據(jù)庫(kù)正常操作,并且把在數(shù)據(jù)庫(kù)中需要展示的數(shù)據(jù)正確的顯示在頁(yè)面。在本系統(tǒng)中集成測(cè)試主要有關(guān)注的有以下幾個(gè)方面:系統(tǒng)中當(dāng)用戶(hù)登錄之后在【查詢(xún)單個(gè)用戶(hù)】功能模塊中可以查詢(xún)到此用戶(hù),并且在
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院入住老人意外傷害預(yù)防與處理制度
- 企業(yè)員工培訓(xùn)與團(tuán)隊(duì)建設(shè)制度
- 企業(yè)內(nèi)部審計(jì)規(guī)范制度
- 2026河南漯河市農(nóng)業(yè)農(nóng)村局所屬事業(yè)單位招聘3人參考題庫(kù)附答案
- 交通規(guī)劃與建設(shè)審批制度
- 2026湖北省普通選調(diào)生招錄497人參考題庫(kù)附答案
- 2026湖南郴州市市直學(xué)校面向高校畢業(yè)生招聘教師25人參考題庫(kù)附答案
- 2026福建三明市尤溪縣總醫(yī)院醫(yī)學(xué)人才校園(福建中醫(yī)藥大學(xué))專(zhuān)場(chǎng)公開(kāi)招聘7人的通告?zhèn)淇碱}庫(kù)附答案
- 2026福建省面向國(guó)防科技大學(xué)選調(diào)生選拔工作備考題庫(kù)附答案
- 2026福建龍巖市教育部組織公費(fèi)師范畢業(yè)生“雙向選擇”專(zhuān)項(xiàng)招聘8人備考題庫(kù)附答案
- 新能源汽車(chē)技術(shù) SL03維修手冊(cè)(第4章)-電氣-4.2.2~4.2.12電器集成
- 教科版科學(xué)教材培訓(xùn)
- 甲狀腺的中醫(yī)護(hù)理
- 商住樓項(xiàng)目總體規(guī)劃方案
- 2022儲(chǔ)能系統(tǒng)在電網(wǎng)中典型應(yīng)用
- 互聯(lián)網(wǎng)+物流平臺(tái)項(xiàng)目創(chuàng)辦商業(yè)計(jì)劃書(shū)(完整版)
- 家庭學(xué)校社會(huì)協(xié)同育人課件
- IABP主動(dòng)脈球囊反搏課件
- 基于python-的車(chē)牌識(shí)別
- 《LTCC生產(chǎn)流程》課件
- 7KW交流交流充電樁說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論