職稱評審材料管理系統_第1頁
職稱評審材料管理系統_第2頁
職稱評審材料管理系統_第3頁
職稱評審材料管理系統_第4頁
職稱評審材料管理系統_第5頁
已閱讀5頁,還剩36頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要評審材料管理系統是專門提供相應的評審材料管理服務的一個,用戶可以將提交的相關的評審的材料上傳到服務器,并且也可以查詢到已經上傳的一管理,以及方便對材料的查詢。評審材料,方便對評審材料的統本系統使用 MyEclipse 2013 為主要開發工具,以 Window Server 7操作系統為運行環境,主要實現理,用戶權限設置等功能。評審材料管理,用戶管理,日志管本文對評審材料管理系統中的幾個的設計進行了研究。從理論上對這些進行了詳細的,并完成了基于評審材料管理系統Lucene、JXL、自定義、過濾器、器的:的實現。文章從以下幾個方面進行了首先,本文介紹全文搜索引擎的市場需求、研究狀態;全文搜索

2、引擎的基本結構、實現的理論基礎如何將中文分詞技術、方法;全文搜索引擎的,技術和數據索引技術有機的結合起來。其次,本文將介紹 JXL 報表(Excel 報表的導入)的市場需求應用狀態,以及 JXL 報表的理論基礎方法。最后,詳細描述了一個基于 Lucene、JXL、自定義、過濾器、器的評審材料管理系統的設計與實現。Lucene;JXL;自定義;過濾器;器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緒論評審材料管理系統的開發背景1開發目的和本系統的模塊內容1文章的組織結構22所用技術的相關介紹32.1Lucene3Lucene 介紹3Lucene 開發原理(數據庫與索引庫同步)3Ajax3JavaScript4Jquery 的 zTree 插件5JXL 報表的導入2.5系統分析733.13.2可行性分析7需求分析7系統設計944.14.2系統特點9系統總體結構設計..44.2.5查詢材料模塊12上傳材料模塊12

9、用戶管理模塊12角色管理模塊12查看單個用戶模塊124.3系統處理流程設計..44.3.5查詢材料處理流程14上傳材料處理流程14用戶管理處理流程16角色管理處理流程17查看單個用戶處理流程174.4數據庫設計175系統實現225.1系統登錄.2系統登錄頁面的主界面效果22系統登錄頁面的實現225.2材料上傳和查詢.2材料查詢和上傳主界面效果25材料查詢和上傳的實現265.3用戶管理2.2用戶管理主界面效果27用戶管理的實現315.4角色管理3.2角色管理主界面效果31角色管理的實

10、現316系統測試33測試基礎33測試內容33單元測試33集成測試34結束語35致 謝36參考文獻37評審材料管理系統的設計與實現1緒論1.1評審材料管理系統的開發背景隨著互聯網(ernet)的出現和普及,人們的信息來源得到了極大的豐富,互聯網成為了人們獲取信息的主要來源之一。在 ernet 信息不斷增長的情況下,如何快速準確的獲取所需信息成為研究熱點之一。搜索引擎技術(Search Engine)就是在這種需求背景下發展起來的。隨著信息化進程的推進,以及互聯網的普及,無紙化辦公越來越得到推廣。大,傳統的評審申數的不斷增長,申報評審的工作壓力也不斷增評審材料管理出現效率低下,管理模式,文件管理評

11、審,也會出現資料丟失,資料亂序排放等問題。為此,管理系統,該系統包括材料查詢,材料上傳,開發了用戶管理,角色管理,單個用戶管理,數據字典等模塊。1.2開發目的和本系統的模塊內容評審材料管理系統是根據業務發展需要,建立的以評審材料管理為模塊的,其他模塊為輔助功能的管理系統。本系統的模塊內容有:數據字典模塊中,使用 Ajax 技術,實現 1個頁面 2 個表單的數據傳輸和異步跳轉。系統使用過濾器實現粗、細顆粒度的權限控制,提高了檢索的效率和速度,使權限的配置形式也更加靈活。使用 Jquery 的 zTree 插件完成系統菜單的功能權限控制。在系統開發的各個模塊中,使用 struts2 的ercept

12、or 自定器實現異常機制的處理和轉發,對 Action 層,Service 層,層的異常做的捕獲,同時使用 Log4j 技術將異常錯誤信息在服務器上生成日志文件,方便系統進行檢查和處理,并同時指定錯誤頁面捕獲異常信息,使得系統輸出異常信息更加友好。對各層異常的處理放置到 Action 層之前的erceptor器中負責,簡化了系統的代碼處理,讓系統的運行更加安全。根據業務需求,開發并實現了一個 JavaScript 框架(Ajax),在頁面上可以實現異步請求和操作,應用于系統的分頁功能、角色功能、數據字典功能等,大大簡化了用戶在頁面上的操作。在用戶管理模塊中,使用 jxl 實現了對 Excel

13、數據的導入功能。在查詢數據字典的時候,使 用了 hibernate 的二級緩存,大大提高了檢索策略,尤其在加載數據項的時候,對數據錄入準確性的校驗、比對,在性能上優化了數據的檢索形式。使用 MD5 技術對【記住我】功能;進行加密。登錄操作的時候使用【系統或出錯后 5 秒跳轉到登錄頁面。】、1.3文章的組織結構本文主要研究了 最終實現一個基于 java如下:第 1 章:緒論。評審材料管理的實現中所涉及到的相關技術,下的評審材料管理系統。具體內容安排第 2 章:介紹了搜索引擎 Lucene 的總體結構以及 Lucene 的開發原理,是如何保持數據庫與索引庫同步的;介紹 Ajax,Jquery 的

14、zTree 插件,Jxl,以及 hibernate 的二級緩存。第 3 章:設計實現一個基于 java的評審材料管理系統,借助 Lucene,Jxl 等相關技術進行實現,在本文論述的理論終實現設計目標?;A上,最第 4 章:介紹評審材料系統的具體實現技術的解決方法。第 5 章:對互聯網信息檢索系統進況,對研究工作進行總結和展望。試,總結整個的完成情2所用技術的相關介紹2.1Lucene2.1.1Lucene 介紹Lucene 是一套用于全文檢索和搜尋的開源程式庫,提供了完整的查詢引擎和搜索引擎。是一款高性能、可擴展的信息檢索(文檔搜索、文檔內信息搜索或者文檔相關的元數據搜索等操作)工具庫。2.

15、1.2Lucene 開發原理(數據庫與索引庫同步)Lucene 保持數據庫與索引庫同步如圖 2-1 所示。數據庫增刪改查詢應用程序保持數據一致增刪改查詢索引庫圖 2-1 Lucene 數據庫與索引庫同步圖數據庫與索引庫中存放相同的數據,可以使用數據庫中存放的 ID 用來表示和區分同一條數據。2.2AjaxAjax 是異步的 JavaScript 和 XML,創建交互式網頁應用的網頁開發技術。Ajax 通過在與服務器進行少量的實現頁面中數據的異步更新,即在不刷新整個頁面的情況下對網頁中的某部分數據進行更新,達到實時更新的效果。傳統的 WEB 應用模式與 Ajax WEB 應用模式對比如圖 2-2

16、2 所示??蛻舳藶g覽器JavaScript CallHTTP+CSS 數據響應請求請求響應WEB 服務器傳統 WEB 應用模式Ajax WEB 應用模式圖 2-2 傳統的 WEB 應用模式與 Ajax WEB 應用模式對比如圖Ajax 優勢:減輕服務器的壓力,在瀏覽器與服務器之間發送異步的HTTP 請求,按需取數據,則此時就是網頁從服務器請求少量的數據,而不是整個頁面的數據信息,這樣也可以減少用戶的等待時間;Ajax 獨立于 WEB 服務器,基于 xml 標準化,并被廣泛支持,不需安裝插件。2.3JavaScriptJavaScript 是一種控制瀏覽器語言。是一種由 Netsc交互行為的計算

17、機編程語言,是和 LiveScript 發展而來的原型化繼承語言,主要目的是為了解決服務一種的基于對象的區分大小寫的客戶端器端語言,比如 Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當時服務器需要對數據進行驗證,由于網絡速度相當緩慢,只有 28.8kps,驗證步驟浪費的時間太多。于是 Netsc的瀏覽器 Navigator加入了 JavaScript,提供了數據驗證的基本功能。JavaScript 的組成部分:ECMAScript(一種語言的標準);BOMWEB(XML)服務器Ajax 引擎用戶界面全稱為 Browser Object M瀏覽器對象模型;DOM 全稱為Object M

18、文檔對象模型。JavaScript 的優勢:客戶端運行,代碼的運行由用戶自己的處理器,而不是規定的服務器,這樣可以降低服務器的壓力;擴展功能,可以借助第也可以自己來擴展插件;插件來編寫自己所需要的部分代碼,實施簡單,可以使用相同的語言編寫前端和后端,進而可以讓前端代碼和后端代碼同時進行;用戶更方便:游客不再需要為了填寫錯了一個錯別字而填寫整個表單,用 JavaScript,每個字段可以在用戶輸入的時候被驗證,當他們犯錯時可以得到相應的提示;瀏覽器內置 JavaScript:的用戶不需要特殊的來查看 JavaScript,每個用戶都會獲得相同的體驗。2.4Jquery 的 zTree 插件zTr

19、ee 是一個基于 Jquery 實現的多功能 “樹插件”。優異的性能、靈活的配置、多種功能的組合是 zTree 最大優點。 zTree 是開源免費的。zTree 插件的主要功能為:兼容 IE、FireFox、Chrome 等瀏覽器;在一個頁面內可以同時生成多個 Tree 實例;支持對 JavaScriptON數據的轉換;和 Ajax 異步加載來完成 Tree 的顯示;支持靜態生成支持 Tree 的節點刪除、編輯、移動;支持極其靈活的 checkbox 和 radio 選擇功能;支持對圖標和樣式的任意修改,要依靠 CSS;簡單的參數配置則可以實現在菜單項顯示不同的菜單的功能;2.5JXL 報表的

20、導入Jxl 是一個韓國人寫的 java 操作 Excel 的工具,在開源世界中,有兩套比較有影響的 API 可以供使用,一個是 POI,一個是 jExcelAPI。能相對 POI 比較弱一點。但 jExcelAPI 對中文支持非常好,API其是純 Java 的,并不依賴 Windows 操作系統,即使運行在 Linux 下,它同樣能夠正確的處理 Excel 文件。JXL 特征有如下描述:支持 Excel 95-2000 的所有版本;生成 Excel 2000 標準格式;支持字體、數字、日期操作;能夠修飾單元格屬性;支持圖像和圖表。JXL 與 POI 相比的一些優勢:相比提供的功能的話,JXL

21、相對弱了點.所以如果要實現的功能比較復雜的情況下可以考慮使用 POI,但如果只想生成一些大數據量可以考慮使用 JXL,或者 CSV 也是一個不錯的選擇,不過 CSV 并不是真正的 Excel,然而 JXL數據比 POI 速度要快。3系統分析3.1可行性分析評審材料管理系統涉及到評審工作的全過程,對申報師、評委和業務部門管理員的工作都有重要的影響,因此在系統開前,必須對項目的可行性進行充分的認證,避免在開發過程中走不必要的彎路。系統開發可行性分析主要包括以下幾個方面:技術可行性。本項目開發計劃采用 Java 編程語言進行開發,數據庫管理系統采用對數據庫進行管理。從技術角度上看此開發語言在辦公自動

22、化系統開發領域運用的已經比較成熟,同時有公司強大的技術支持和本身具有的良好的兼容性,使得項目整體開發技術風險和開發周期都控制在一個合理的水平。經濟可行性分析。這個項目包括系統開發和硬件服務器配套,整體總費用在 10 萬元左右。系統在設計開發過程中,將充分考慮未來工作中可以出現的對材料管理的流程變動、數據變動、變動等未知,對關鍵的功能節點和數據庫表單結構都設置有靈活配置功能,可以確保系統五年內滿足高校用戶的對求。評審材料管理工作的需操作可行性分析。高校教師具有較高的文化素質,在計算機基礎操作技能方面能夠滿足評審材料管理系統的素質要求,因此在高校中推廣網絡評審材料管理系統具有比較好的用戶基礎。3.

23、2需求分析評審材料管理系統在具體功能設計上,將盡可以模擬傳統的職稱評審中對材料和管理流程,并對原有的繁瑣和機械的工作環節進行整合優化。重點在于發揮計算機在數據、查詢以及網絡在數據傳的優勢,盡可能的減輕申報教師在對評審材料管理上的工作負擔,提高管理的工作效率。該系統具備以下主要功能:上傳材料。用戶可以上傳評審所需要的材料。查詢材料。用戶可以通過多條件查詢出已經上傳過的評審材料,使用 Lucene 實現對材料的查詢。用戶管理。在用戶管理模塊用戶可以查詢用戶,對用戶的詳細信息進行編輯、查看;刪除單個或多個用戶;并且可以添加單個用戶,或批量導入多個用戶。角色管理。在角色管理模塊,系統管理員可以為不同的

24、用戶分配不同的角色,每個角色具備不同的權限。查看單個用戶。當用戶登錄成功登錄后,會跳轉到這個界面,用戶可以查看、編輯自己的詳細信息。4系統設計4.1系統特點評審材料管理系統簡單的實現了對的管理的功能。系統名為 titleAppraisal。評審材料以及對用戶系統使用 Java 語言進行開發,運行在 Tomcat 服務器下,主要支持Windows 操作系統,同時也可以移植到其他系統在實現上具有以下特點:。系統框架的搭建:項目底層使用 Struts2+Hibernate3.0+Spring3.0;Struts2 是一個 mvc 框架,是對 m2 模式的一個封裝,Struts2為:Action、er

25、ceptor、Ongl 與 ValueStack;框架的三個Hibernate 是對 jdbc 的一個封裝,是一個 ORM 的框架,通過操作 Java 對象就可以操作數據庫中的表;Spring 是業務層的框架,以 IOC(反轉控制)和 AOP(面向切面的編程)為,使用 Spring 可以方便解耦、簡化開發、有對 AOP 編程的支持、對使用式事務的支持、方便集成各種優秀框架;數據庫對數據進行保存;系統使用過濾器實現粗顆粒度的權限控制,并使用細顆粒度權限控制;器實現使用 Jquery 的 zTree 插件完成系統菜單的功能權限控制,熟練使用 Ajax 技術調用 json 數據,頁面加載數據;使用

26、Jquery 控制前端顯示,使權限的配置形式也更加靈活,精確到菜單、模塊、以及功能點;Struts2 的UI實現每個、按鍵的權限控制(自定義);開發并實現了一個 JavaScript 框架(Ajax),在頁面上可以實現異步請求和操作,不用使整個頁面刷新,應用于系統的分頁和檢驗等功能;使用 log4j 技術將導入的數據信息在服務器上做定期的備份;使用 JXL 實現了對 Excel 數據的導入功能;在系統開發的各個模塊中,使用 struts2 的erceptor 自定器實現異常機制的處理和轉發,對 Action 層,Service 層,層的異常做的捕獲,同時使用 log4j 技術將異常錯誤信息在服

27、務器上生成日志文件,方便進行檢查和處理,并同時指定錯誤頁面捕獲異常信息,使得系統輸出異常信息更加友好。對各層異常的處理放置到 Action 層之前的erceptor行更加安全。器中負責,簡化了系統的代碼處理,讓系統的運4.2系統總體結構設計網絡環境下的管理系統的開發主要有兩種模式:客戶端/服務器模式(Cnt/Server,簡寫為 C/S)和瀏覽器/服務器端(Browser/Server,簡寫為 B/S)。C/S 模式中,客戶端需要安裝的客戶端程序,實現業務邏輯校驗,負責完成數據的錄入、修改、打印;服務器端通常采用高性能的專用服務器,負責數據的存取和統計。C/S 模式能充分發揮客戶端的機器性能,

28、很多工作可以預先交由客戶端處理后再提交給服務器,客戶端響應速度快。B/S 模式中,客戶端只需要瀏覽器;服務器端存放業務邏輯(程序)和數據。的計算機默認情況下都安裝有瀏覽器,所以可以說客戶端是免安裝的。瀏覽器通過 WEB Server 同數據庫進行數據交互,完成數據的錄入、修改用戶,而業務邏輯處理方面,只有極少部分器端)實現,絕大部分在后端(服務器端)實現。為端(瀏覽系統性能,可以通過服務器端的分層結構如 WEB 服務器集群、分布式數據庫、應用服務器、中間件技術等來形成所謂三層結構,這樣就大大簡化了客戶端計算負荷,減輕了整個了用戶的總體成本。與更新的成本和工作量,降低B/S 結構優勢在于終端用戶

29、通過瀏覽器向應用服務器發送處理請求,業務邏輯集中于應用服務器,數據庫和使用集中于數據庫服務器,正是這些特點使得 B/S 結構都要比 C/S 結構更方便更經濟,不僅能夠滿足分布式事件的處理功能,而且還確保數據的一致性,同時提高開發效率,降低成本。系統的系統結構如圖 4-1 所示。評審材料管理系統圖 4-1 系統體系結構圖評審材料管理系統采用 B/S 結構進行開發,將系統整體分成表示層、業務邏輯層和數據層三個彼此獨立又相互依賴的層次來各自實現。表示層負責顯示終端用戶的操作界面,業務邏輯層負責業務邏輯的處理,數據層負責數據的。三層的分離使得表示層不用關心具體的業務邏輯的實現,業務邏輯不用關心自己將會

30、在哪里被顯示以及以何種方式顯示,數據層不用關心業務如何處理。評審材料管理系統采用 B/S 三層結構開發,在評審信息的數據庫數據層業務邏輯層客戶端瀏覽器表示層、數據效率。和信息的處理方面都有很大的優勢,提高了系統的工作從功能上看評審材料管理系共有五個功能模塊,分別為:查詢材料模塊、上傳材料模塊、用戶管理模塊、角色管理模塊、查看單個用戶模塊。4.2.1查詢材料模塊在查詢材料模塊中,為了提高檢索評審材料的速度以及增加檢索方式的多樣性,使用 Lucene 技術,建立一個大的索引庫用于和數據庫同步,用來支持大批量的數據搜索。4.2.2上傳材料模塊使用 struts2 實現了多文件的上傳,并對文件的格式、

31、大小進行控制,放置到指定目錄下,并使用 UUID 生成文件名,并將每一天的文件使得文件惟一,保證每個文件的合理,方便流程文檔的查看和傳遞。4.2.3用戶管理模塊多條件查詢實現對用戶列表的查詢,可以查詢出符合查詢條件的用戶;使用 Jquery 的分頁技術實現對用戶列表的分頁;在添加和編輯用戶時使用 JavaScript 對數據進行校驗,并且可以在添加或編輯用戶時實現文件的上傳,使用 JXL 技術實現對用戶的批量導入。4.2.4角色管理模塊Struts2 的 UI實現每個、按鍵的權限控制(自定義),在角色管理中可以對整個系統中每個菜單和按鈕進行用戶權限的分配。并且可以根據用戶類型來色。的分配多個用

32、戶的權限,為其設置角4.2.5查看單個用戶模塊在這個模塊中只能顯示當前登錄系統的用戶信息,用戶可以查看自己的詳細信息,并且可以對自己的信息進行編輯。使用 struts 的多文件上傳實現添加多個附件的功能。評審材料系統整體結構如圖 4-2 所示。評審材料管理系統評審材料管理系統管理用戶管理模塊角色管理模塊上傳材料模塊查看單個用戶模塊查詢材料模塊圖 4-2評審材料系統整體結構圖4.3系統處理流程設計4.3.1查詢材料處理流程在查詢材料時,使用 Lucene 的全文檢索技術,對數據庫進行搜索。用戶在查詢條件中輸入自己想找到的文件的相關詞語或字,則可以查詢出包含相應文字的文件名的文件。查詢材料流程圖如

33、圖 4-3 所示。服務器端用戶發送返回查詢結果結束結束圖 4-3 查詢材料流程圖4.3.2上傳材料處理流程首先將上傳的的數據從數據庫中獲取出來;然后利用 Lucene 將每條數據轉化成對象,對對象進行索引數據的寫入,保存在內存中;最后輸出內存數據生成索引文件。上傳材料的執行過程如圖 4-4 所示。在索引庫中進行查找,并將結果返回給用戶顯示查詢結果對進行中文分詞將發送到服務等待接收輸入檢索開始文件對象 轉換為 對象分詞器分詞通過 IndexWriter 寫入數據庫上 傳 成 否功?圖 4-4 上傳材料的執行過程圖結束提示上傳成功,并且在頁面顯示已經上傳的文件點擊上傳選擇要上傳文件4.3.3用戶管

34、理處理流程在用戶管理這個功能模塊中,用戶可以輸入查詢條件根據多條件查詢查詢出所需要的用戶列表;用戶可以點擊多選框選中要刪除的用戶或是點擊全選來批量刪除所有選中的用戶,主要的技術是 JavaScript 來控制頁面中的用戶被選中;用戶可以刪除單個用戶;用戶可以添加、編輯單個用戶,而在添加、編輯單個用戶時可以導入用戶所附帶的文件,用到了 strus2 的文件上傳;用戶可以批量導入多個用戶,用到了 JXL 技術來實現對 Excel 表中數據的批量導入。用戶管理流程圖如圖 4-5 所示。開始否查詢成 否保存成 功?提示是否要功?否刪除選中 是是的?是結束圖 4-5 用戶管理流程圖返回列表頁面跳轉到用戶

35、列表頁面在列表中顯示符合條件的用戶點擊刪除按鈕填寫用戶信息點擊查詢按鈕選擇查詢條件點擊編輯、添加用戶選擇要刪除的一個或多個用戶4.3.4角色管理處理流程系統管理員可以為不同的角色來分配一些權限,然后再把這個角色附加到具體的用戶上。而對于權限來說有左側菜單的顯示、頁面中的按鈕、以及某部分 jsp 頁面的顯示;可以一次為多個用戶分配權限。角色管理流程圖如圖 4-6 所示。開始結束圖 4-6 角色管理流程圖查看單個用戶處理流程當用戶登錄進來后,用戶可以查看自己的詳細信息,并且可以對自4.3.5己的詳細信息進行編輯。4.4數據庫設計數據庫設計是對于一個已知的應用途徑,選取最好的數據庫模式,設計數據庫以

36、及應用模式,以達到能有效戶的應用目的。數據的目的,滿足各種用評審材料管理系統數據庫的設計過程中盡量滿足了數據庫的設計原則:點擊保存選擇具有此角色的用戶為此角色選擇權限選擇角色類型規范化,在數據庫的設計過程中應該遵循規范化理論;命名規范,數據庫的庫名、表名、字段名必須遵守規則;主鍵和外鍵;重復性的控制,盡量減少和消除數據庫的冗余;數據庫的設計中應該進行并發控制。評審材料文件表設計如圖 4-7 所示。名圖 4-7評審材料文件表設計圖用戶、角色、權限、用戶4-8 所示。附件表設計及其相互之間的關系如圖圖 4-8 用戶、角色、權限、用戶數據庫表各個表項的詳細說明如下:附件表設計及其關系圖表 4-1評審

37、材料表表 4-2 用戶信息表字段名稱數據類型備注userIDvarChar主鍵 IDjctIDvarChar所屬codejctUnitIDvarChar所屬的名稱userNamevarChar用戶logonNamevarChar登錄名logonPwdvarCharsexIDvarCharBirthdayvarChar出生日期AddressvarChar聯系地址contactvarCharvarChar電子郵箱MobilevarCharisDutyvarChar是否在職tIDvarChar職位onDutyDatevarChar入職時間字段名稱數據類型備注SeqID主鍵 IDProjIDvarCh

38、ar帶有附件的工程 ID(所屬)BelongTovarChar所屬資料類別FileNamevarChar文件名FileURLvarChar文件路徑ProgressTimevarChar上傳時間CommentvarChar備注表 4-3 用戶附件表表 4-4 角色信息表表 4-5 用戶角色關聯表表 4-6 權限信息表字段名稱數據類型備注MIDvarChar權限 CodevarChar父級權限 CodeNAMEvarChar權限名稱UrlvarChar權限在系統中執行訪問地址的 URLIconvarChar如果是菜單,則為顯示的 URLvarChar如果是菜單,執行的 Frame 區稱字段名稱數據

39、類型備注userIDvarChar用戶 IDroleIDvarChar角色 ID字段名稱數據類型備注roleIDvarChar角色 IDroleNamevarChar角色名稱字段名稱數據類型備注fileIDvarChar主鍵 IDuserIDvarChar用戶 IDfileNamevarChar文件名fileURLvarChar文件路徑progressTimetimeSt上傳時間offDutyDatevarChar離職時間remarkvarChar備注表 4-7 角色權限關聯表字段名稱數據類型備注roleIDvarChar角色 IDMidvarChar權限 CodevarChar父級權限 Co

40、deisParenttiny是否是父節點istiny是否是系統菜單結構5系統實現本章主要介紹各個功能模塊的界面設計方式,以及實現方法。主要包括的模塊有系統登錄頁面,查詢材料頁,上傳材料頁,用戶管理頁,角色管理頁。5.1系統登錄5.1.1系統登錄頁面的主界面效果系統登錄頁面如圖 5-1 所示。圖 5-1 系統登錄頁面圖,并且利用 Ajax在系統登錄頁面中要輸入用戶名、和技術對用戶名和驗證進行了校驗,只有輸入正確的用戶名、只能時才可以登錄成功,對的設置有只能輸入每個使用一次,可以點擊換成另一個。5.1.2系統登錄頁面的實現1:struts2 的 validator 校驗(校驗)項目中進行數據校驗的

41、方式:JavaScript 校驗(前臺校驗)+Ajax 校驗(校驗)+Struts2 的 validator 校驗(校驗)。2:hibernate 的懶加載問題當使用 hibernate 查詢一個對象的時候,如果 Ses關閉,再調用該對象關聯的集合或者對象的時候,會產生懶加載異常,所以要在 WEB 容器中添加該過濾器(要求:該過濾器一定要放置到 strtus2的過濾器的前面,先執行該過濾器)。3:作用:防止的測試系統的用戶名和(利用循環輸入用戶名和測試),采用,每次到登錄頁面的時候,的值是不同的,需要重新輸入。4:記住我記住當前用戶名和,下次登錄名不需要用戶再次輸入。添加過濾器,實現在跳轉到

42、index.jsp 頁面之前先從如果name 中存在中文,此時中文字符是不能存放到中獲取數據,對象中,使用 HttpResponse 對象添加會拋出異常。解決方案:使用 URLEncode 類和 URLDecode 類進行編碼和LogonUtils 類對 name 進行編碼:try name = URLEncoder.encode(name, UTF-8); catch (UnsupportedEncodingException e) 在e.prStackTrace();namepassword= new= new(name,name);(password,password);在過濾器 Sys

43、temFilter 類對 name 進行:if(.getName().equals(name)name =try .getValue();name = URLDecoder.decode(name, UTF-8); catch (UnsupportedEncodingException e) e.prStackTrace();checked = checked;5:完成動態加載樹型結構使用 Jquery 的 zTree 插件的實現。6:自定義使用當前用戶具有的權限,控制頁面上的按鈕或者7:粗顆粒度權限控制(使用過濾器完成)是否可見。Ses Ses Ses到 Ses不應該在服務器一直不清空,如果

44、 Ses過多,會導致壓力大,系統變慢,于是要求 10 分鐘如果不操作系統,將自動清空。粗顆粒度權限控制即 Ses級別的權限,精確的權限控制(判斷 Ses是否存在),使用過濾器完成不存在就跳轉到友好提示的頁面,粗顆粒的權限控制,如果 Ses如果存在可以通過 URL到對應的操作。8:系統中的異常處理+日志備份(使用 struts2 的器)使用 struts2 的ntercept()方法定義 try沒有拋出異常,則在 try 模器,在器中的catch 異常,如果 Action、Service、塊中指定正確操作的頁面。例如:result = actioninvocation.invoke();retu

45、rn result;/result 跳轉到正確的頁面如果 Action、Service、拋出異常,則在 catch 模塊中,獲取異常,使用 log4j 存放到指定的日志文件中,通過 returnerrorMsg;跳轉到錯誤頁面。9:細顆粒權限控制(使用 struts2 的器)使用 struts2 的器定義一個注解(mid 和),對應權限 code和父級權限的 code,將注解添加到 Action 類中方法的上面。每個Action 類的方法上添加注解(mid=”,=”),表示方法的惟一標識(即該方法所具有的權限)。在 struts2 的器中,從Ses中獲取角色 ID,獲取 Action 類方法上

46、的注解(mid 和),使用角色 ID,mid 和查詢角色權限表,判斷當前用戶是否可以操作該方法。在 struts2 的詢一遍數據庫,而不從 Ses器中都要使用 roleID,mid,去查中獲取 mid 的值和注解上定義的 mid的值,操作每一個功能之前都會先查詢權限,這樣查詢才能保證數據安全。5.2材料上傳和查詢5.2.1材料查詢和上傳主界面效果材料查詢頁面如圖 5-2 所示。圖 5-2 材料查詢頁面圖材料上傳頁面如圖 5-3 所示。圖 5-3 材料上傳頁面圖對于材料查詢和上傳用到 Lucene 技術,材料查詢用戶可以進行多條件查詢,也可以根據查詢出來的材料列表同時刪除一條或多條列表數據。對于

47、材料上傳使用 JavaScript 技術對頁面中的上傳材料選項卡可以進行設置,添加或刪除上傳材料的選項卡。一次可以同時上個文件。個或多5.2.2材料查詢和上傳的實現1:在項目的資源路徑下添加三個配置文件:(1)IKyzer.cfg.xml:分詞器配置文件ext.dic(擴展詞庫):在這個文件里面配置一些分詞原則stopword.dic(停用詞庫):在這個文件里面配置一些不用分詞的詞匯。2:索引庫基本代碼在 util 包下添加三個工具類:(1)Configuration.java:指定索引庫的位置,并對數據進行分詞。(2)FileUpload.java: 向索引庫中存放的數據要轉換成對象(每條數

48、據就是一個對象),并向對象中存放 Field 對象(每條數據對應的字段,例如主鍵 ID、所屬、材料類別、文件名稱、備注等),將每個字段中的值都存放到 Field 對象中。(3)LuceneUtils.java:實現對數據的增刪改查。5.3用戶管理5.3.1用戶管理主界面效果用戶管理頁面如圖 5-4 所示。圖 4-4 用戶管理頁面圖用戶管理頁面-編輯用戶頁面如圖 5-4 所示。圖 5-4 用戶管理頁面-編輯用戶頁面圖用戶管理頁面-編輯用戶頁面如圖 5-5 所示。圖 5-5 用戶管理頁面-查詢用戶頁面圖用戶管理頁面-添加用戶頁面如圖 5-6 所示。圖 5-6 用戶管理頁面-添加用戶頁面圖用戶管理頁

49、面-批量刪除用戶頁面如圖 5-7 所示。圖 5-7 用戶管理頁面-批量刪除用戶頁面圖用戶管理頁面-導入用戶頁面如圖 5-8 所示。圖 5-8 用戶管理頁面-導入用戶頁面圖5.3.2用戶管理的實現1:Jquery 的 Ajax 實現登錄名的校驗(1)頁面效果:鼠標失去焦點時,頁面會進行校驗。校驗如圖 5-9。圖 5-9 登錄名校驗圖實現方法:使 用 struts2自 帶 的 校 驗 規 則 實 現 的 。 引 入 插 件 包struts2-json-plugin-2.3.3.jar 并在頁面中進行相應的校驗處理。2:對輸入的號碼進行校驗在 JavaScript 中使用正則表達式對輸入的3:文件上

50、傳號碼進行校驗。放置到 upload 的文件夾下;將每天上傳的文件,將上傳的文件使用日期格式的文件夾分開,將每個業務的模塊放置文件夾下;上傳的文件名要指定唯一,可以使用 UUID 的方式,也可以使用日期作為文件名;封裝一個文件上傳的方法,該方法可以支持多文件的上傳,即支持各種格式文件的上傳;保存路徑 path 的時候,使用相對路徑進行保存,這樣便于項目的可移植性。4:使用 md5 的加理用戶的在添加用戶和編輯用戶時都要用到 md5 對進行加密。新增時使用 md5 加密,如果用戶時如果修改了要進行加密。為 123;編輯沒有填寫,需要設置初始,需要進行加密,如果沒有修改則不需5.4角色管理5.4.

51、1角色管理主界面效果角色管理頁面如圖 5-10 所示。圖 5-10 角色管理頁面圖在本系統中對于用戶、角色、權限的設計為:角色和用戶的關系為多對多的關系,角色和權限為多對多的關系。角色在用戶和權限之間起著橋梁的作用。5.4.2角色管理的實現1:項目中配置 hibernate 多對多的關系(1)用戶和角色的關系:使用 hibernate(2)角色和權限的關系:不使用 hibernate,創建中間表(角色權限關聯表)2:對于頁面中全選和全不選的操作使用 JavaScript 來設置頁面中的全選、不選中的一些操作。在使用進行保存的時候,獲取頁面選中復選框 value 的屬性值,此時是一個 Strin

52、g 類型的數組對象,可以采用遍歷數組的方式,保存數據。3:多對多級聯刪除中間表的數據如果用戶分配了角色,那么刪除用戶的時候就會拋出異常,需要在ElecUser.htm.xml 文件中進行設置:inverse=true,由角色一端負責關聯關系:也就是說角色可以操作用戶,用戶不能操作角色。6系統測試6.1測試基礎(1)測試的目的評審材料管理系統的測試主要是針對保證對系統的需求分析、設計、實現編碼進行最終的,保證系統能正確穩定的運行;檢驗預期結果和實際結果(2)測試方法差別,并根據需求再對系統代碼進行修改。本系統采用的測試方法為:白盒測試,在知道評審材料管理系統的產品的工作過程的前提下,根據需求規則

53、說明書檢測系統的內部動作是否符合規格說明書規定,系統中的每個功能的實現是否按照需求正確工作。6.2測試內容6.2.1 單元測試單元測試就是把各個模塊看成一個小整體,采用靜態測試和白盒測試法來測試各模塊是否滿足要求。在評審材料管理系統中首先對每個模塊中的每個功能進行單一的測試,根據需求文檔寫測試用例,再根據測試用例點擊每個,看頁面中顯示的效果與需求文檔是否一致。用戶登錄功能測試用例如圖 6-1。圖 6-1 中文分詞模塊測試表6.2.2 集成測試為保證評審材料管理系統能夠正常運行,分模塊分功能的測試并不能保證整個系統能夠正常運行。而這里的集成測試是對整個系統進行的測試,保證對數據庫正常操作,并且把在數據庫中需要展示的數據正確的顯示在頁面。在本系統中集成測試主要有關注的有以下幾個方面:系統中當用戶登錄之后在【查詢單個用戶】功能模塊中可以查詢到此用戶,并且在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論