131java jsp文章管理系統(tǒng)_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢業(yè)設計(論文)資料</p><p> 設計(論文)題目: 文章管理系統(tǒng) </p><p><b>  摘 要</b></p><p>  伴隨著網絡的出現(xiàn),網頁逐漸融入人們的生活。快速及時的新聞瀏覽,五彩繽紛的網上信息,使網絡與人們的生活息息相關,于是世界上又出現(xiàn)了第

2、三媒體——Internet。它打破了地域限制,真正使信息得以共享,改變了人們的工作和生活方式。</p><p>  文章管理系統(tǒng)是將文章發(fā)布和計算機網絡結合起來的文章新型管理方式,是信息化社會的產物。通過網絡,管理者可以發(fā)布文章供會員瀏覽,可以用使信息傳遞更加快捷和方便,從而擴展了信息傳遞領域,實現(xiàn)了信息傳遞的高效率。</p><p>  針對以上問題,設計開發(fā)了文章管理系統(tǒng),本系統(tǒng)前臺主

3、要使用JSP作為開發(fā)語言,后臺使用SqlServer作為數(shù)據(jù)庫管理系統(tǒng),開發(fā)環(huán)境是MyEclipse,服務器采用tomcat,開發(fā)出的一個基于Web技術的B/S結構的基于在線文章提交、在線審核一體的管理系統(tǒng)。</p><p>  關鍵詞:文章管理,WEB,JSP,B/S結構</p><p><b>  ABSTRACT</b></p><p>

4、  With the emergence of the network, webpage gradually into people's life. Timely news browsing, a riot of colours of online information, the Internet is closely linked with people's life, and the world and the e

5、mergence of the third media -- Internet. It broke the geographical restrictions, so that information can be shared, changed the way people live and work.</p><p>  Article management system is to be published

6、 articles and computer network to combine the new way of management, is the product of the information society. Through the network, managers can publish articles for members to browse, can make information more efficien

7、t and convenient, thereby expanding the field of information transfer, realize the information transmission efficiency.</p><p>  In view of the above problems, design and development of article management sy

8、stem, this system mainly uses the JSP as a development language, the use of SqlServer as a database management system, the development environment is MyEclipse, server using tomcat, developed a Web technology based on B

9、/ S structure based on online article submission, Review Online integrated management system.</p><p>  Key words: article management, WEB, JSP, B / S structure</p><p><b>  目 錄</b>&l

10、t;/p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  第一章 緒論1</b></p><p><b>  1.1課題背景1</b></p><p>  1.2目的和意義1</p

11、><p>  1.3開發(fā)工具及技術1</p><p>  1.3.1開發(fā)工具1</p><p>  1.3.2 JSP2</p><p>  1.3.3 JavaScript3</p><p>  1.4軟硬件需求3</p><p>  第二章 需求分析5</p><

12、p><b>  2.1需求調研5</b></p><p>  2.2可行性分析5</p><p>  2.2.1技術的可行性5</p><p>  2.2.2經濟的可行性5</p><p>  2.2.3操作可行性5</p><p>  2.2.4法律的可行性5</p>

13、;<p>  2.3系統(tǒng)用戶用例圖6</p><p>  2.3.1管理員用例圖6</p><p>  2.3.2普通用戶用例圖6</p><p>  2.4功能模塊需求分析7</p><p>  2.5設計的基本思想8</p><p><b>  2.6性能需求9</b>

14、;</p><p>  2.6.1系統(tǒng)的安全性9</p><p>  2.6.2數(shù)據(jù)的完整性9</p><p><b>  2.7界面需求9</b></p><p>  第三章 系統(tǒng)分析與設計11</p><p>  3.1數(shù)據(jù)庫的分析與設計11</p><p>

15、  3.1.1數(shù)據(jù)庫的概念結構設計11</p><p>  3.1.2數(shù)據(jù)庫的邏輯結構設計13</p><p>  3.1.3數(shù)據(jù)庫的連接原理15</p><p>  3.2中文亂碼問題處理16</p><p>  第四章 系統(tǒng)功能實現(xiàn)18</p><p>  4.1系統(tǒng)登陸頁面實現(xiàn)18</p>

16、<p>  4.2管理員功能模塊21</p><p>  4.2.1部門信息管理21</p><p>  4.2.2用戶信息管理25</p><p>  4.2.3分類信息管理29</p><p>  4.2.4文章審核管理32</p><p>  4.2.5修改密碼34</p>

17、<p>  4.2.6退出系統(tǒng)35</p><p>  4.3用戶功能模塊35</p><p>  4.3.1文章信息管理35</p><p>  4.3.2文章恢復管理39</p><p>  第五章 系統(tǒng)測試42</p><p>  5.1系統(tǒng)測試目的與意義42</p><

18、;p>  5.2測試過程42</p><p>  5.2.1主頁面的登錄模塊測試42</p><p>  5.3其他錯誤43</p><p><b>  結 論44</b></p><p><b>  參考文獻45</b></p><p><b>

19、  致 謝46</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1課題背景</b></p><p>  隨著經濟的發(fā)展,社會的進步,計算機越來越深入到我們日常的工作學習及生活中,成為我們日常生活中不可缺少的輔助工具。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大

20、的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。它已經深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設計、圖形圖像處理、教育培訓以及游戲娛樂等。各行各業(yè)的人們無須經過特別的訓練就能夠使用電腦完成許許多多復雜的工作。</p><p><b>  1.2目的和意義</b></p><p>  文章管理系統(tǒng)用計算機管理文章的一種計算

21、機應用技術的創(chuàng)新,在計算機還未普及之前文章管理都是由工作人員人工書寫,調閱的方式來操作的.現(xiàn)在一般的文章管理都采用計算機智能化管理,采用計算機作為工具的實用的計算機智能化管理程序來幫助前臺管理員進行更有效的文章管理工作。文章管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。&

22、lt;/p><p>  1.3開發(fā)工具及技術</p><p><b>  1.3.1開發(fā)工具</b></p><p>  此次設計主要采用MyEclipse加Tomcat后臺服務器進行,設計過程中頁面主要使用JSP技術完成,下面對MyEclipse、Tomcat和SqlServer數(shù)據(jù)庫進行簡要介紹。</p><p>  1

23、.3.1.1 MyEclipse</p><p>  MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和Jav

24、aEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。</p><p>  1.3.1.2 Tomcat </p><p>  Tomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)

25、訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP 程序的首選。可以這樣認為,當在一臺機器上配置好Apahce服務器,可利用它響應對HTML頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,所以當運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。</p><p>  1.3.1.3 SqlServer </p><p> 

26、 SqlServer使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng);為多種編程語言提供了API;支持多線程,充分利用CPU資源;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑;可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。對于一般的個人使用

27、者和中小型企業(yè)來說,SqlServer提供的功能已經綽綽有余,而且由于SqlServer是開放源碼軟件,因此可以大大降低總體擁有成本。</p><p><b>  1.3.2 JSP</b></p><p>  JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于

28、服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。 </p><p>  Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網頁等,以實現(xiàn)建立動態(tài)網頁所需要的功能。JSP與Servlet一樣,是在服務器端執(zhí)行的,通

29、常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點

30、。JSP技術的優(yōu)點:</p><p> ?。?)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。 </p><p> ?。?)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。 </p><p>  (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servle

31、t/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。 </p><p> ?。?)多樣化和功能強大的開發(fā)工具支持。Java已經有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經可以順利的運行于多種平臺之下</p><p>  (5)支持服務器端組件。web應用需要強大的服

32、務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復雜商務功能。</p><p>  內部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數(shù); response 網頁傳回客戶端的響應;pageContext 網頁的屬性是在這里管理; session 與請求有關的會話; applicat

33、ion servlet正在執(zhí)行的內容;out 用來傳送響應的輸出流; config 代碼片段配置對象;page JSP網頁本身; exception 針對錯誤網頁,未捕捉的例外</p><p>  1.3.3 JavaScript</p><p>  JavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTM

34、L網頁添加動態(tài)功能,比如響應用戶的各種操作。JavaScript的一個重要功能就是面向對象的功能,通過基于對象的程序設計,可以用更直觀、模塊化和可重復使用的方式進行程序開發(fā)。在HTML基礎上,使用Javascript可以開發(fā)交互式Web網頁。Javascript的出現(xiàn)使得網頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關系,使網頁包含更多活躍的元素和更加精彩的內容。在本系統(tǒng)中很多地方使用了javascript技術,比如說,檢驗用戶輸入

35、數(shù)據(jù)的有效性,是否重復,是否為空等等。</p><p><b>  1.4軟硬件需求</b></p><p><b>  硬件需求:</b></p><p>  CPU:Pentium以上計算機</p><p>  內存: 512M以上</p><p><b>  

36、軟件需求:</b></p><p>  操作系統(tǒng)版本:Windows XP /vista/Win7</p><p>  開發(fā)工具:MyEclipse 6.0.1</p><p>  后臺服務器:Apache Tomcat 6.0</p><p><b>  開發(fā)語言:Java</b></p>&

37、lt;p><b>  瀏覽器:IE6.0</b></p><p><b>  第二章 需求分析</b></p><p><b>  2.1需求調研</b></p><p>  在項目的開始是需求調研,經過一系列的調查與談話,了解企業(yè)內部知識庫共享管理的流程。根據(jù)實際情況及調查結果,發(fā)現(xiàn)實現(xiàn)文章管

38、理的網絡化、信息化是十分有必要的,因此設計了文章管理系統(tǒng)。</p><p><b>  2.2可行性分析</b></p><p>  開發(fā)任何一個系統(tǒng),都會受到時間和資源上的限制。因此,在每一個項目開發(fā)之前,都要進行可行性分析,可以減少項目的開發(fā)風險,避免人力、物力和財力的浪費。下面就技術、經濟、操作和法律四個方面來介紹。</p><p>  

39、2.2.1技術的可行性</p><p>  本系統(tǒng)開發(fā)工具是MyEclipse和SqlServer數(shù)據(jù)庫,開發(fā)語言是Java,主要使用了J2EE的技術,java是一種面向對象編程語言,簡單易學而且靈活方便。大三時就學習了java課程,大四期間也系統(tǒng)的了解了J2EE的知識,文章管理系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫的設計和操作是本系統(tǒng)設計的核心。在大學期間學習過軟件工程,軟件測試,UML統(tǒng)一建模語言等課程,每個學期也會

40、完成對應的課程設計,具備一定的系統(tǒng)分析、設計和測試能力。因此,完成系統(tǒng)實現(xiàn)在技術上完全具有可行性。</p><p>  2.2.2經濟的可行性</p><p>  如今是信息化時代,信息化管理可以使文章管理工作更加系統(tǒng)化、快速化、全面化。這樣可以為企業(yè)帶來較高的工作效益和經濟效益,本系統(tǒng)對計算機配置的要求不高,企業(yè)機房更換下來的低配置電腦都可以完全滿足需要,再者,企業(yè)在管理工作上的高效率和

41、便捷性遠遠超過了開發(fā)本系統(tǒng)的成本,所以在經濟上具有完全的可行性。</p><p>  2.2.3操作可行性</p><p>  本系統(tǒng)操作簡單,輸入信息頁面大多數(shù)都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對操作人員的要求很低,只需對WINDOWS操作熟練,加之對本系統(tǒng)的操作稍加培訓即可工作,而且本系統(tǒng)可視性非常好,所以在技術上不會有

42、很大難度。</p><p>  2.2.4法律的可行性</p><p>  本文章管理系統(tǒng)是自行開發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權等問題,即法律上是可行的。</p><p>  綜上所述,開發(fā)一個文章管理系統(tǒng)與原有的文章管理方式相比具有速度更快,操作更準確,節(jié)省開支等有利之處

43、,因此,建立一個文章管理系統(tǒng)是必要可行的。</p><p>  2.3系統(tǒng)用戶用例圖</p><p>  2.3.1管理員用例圖</p><p>  管理員是系統(tǒng)的核心用戶,涉及到四大功能模塊,管理員對系統(tǒng)的所有用戶有著操作的權限。</p><p>  圖2.1 管理員用例圖</p><p>  2.3.2普通用戶用例

44、圖</p><p>  普通用戶對自己發(fā)布的文章有著操作權限。</p><p>  圖2.2 普通用戶用例圖</p><p>  2.4功能模塊需求分析</p><p>  本系統(tǒng)最大的特點是使用操作簡單、友好的提示信息。本系統(tǒng)將實現(xiàn)以下基本功能:</p><p> ?。?)系統(tǒng)具有簡潔大方的頁面,使用簡便,友好的錯誤

45、操作提示</p><p> ?。?)管理員用戶具有部門信息管理、用戶信息管理、文章分類管理、文章審核等功能</p><p>  (3)普通用戶具有文章管理及已刪除文章恢復功能</p><p> ?。?)具有較強的安全性,避免用戶的惡意操作</p><p>  管理員功能模塊圖說明:</p><p>  (1) 部門信息

46、管理模塊:在該模塊中定義了部門信息的管理,其功能包括部門信息的錄入、查詢、修改、刪除等操作。</p><p>  (2) 用戶信息管理模塊:在該模塊中定義了用戶信息的管理,其功能包括用戶信息的錄入、查詢、修改、刪除等操作。</p><p>  (3) 分類信息管理模塊:在該模塊中定義了文章分類信息的管理,其功能包括分類信息的錄入、查詢、修改、刪除等操作。</p><p&

47、gt;  (4) 文章審核模塊:在該模塊中定義了文章審核的管理,其功能包括文章信息的瀏覽、審核等操作。</p><p>  圖2.3 管理員用戶功能模塊圖</p><p>  員工功能模塊圖說明:。</p><p>  (1)個人資料查看模塊:用戶通過該模塊查看個人資料。</p><p>  (2)文章管理模塊:在該模塊中定義了對文章信息的管

48、理,其功能包括文章信息錄入、查詢、修改、刪除等操作。</p><p>  (3)回收箱管理模塊:在該模塊中定義了對已刪除文章的管理,其功能包括已刪除文章的瀏覽、恢復。</p><p>  圖2.4 員工用戶功能模塊圖</p><p>  2.5設計的基本思想</p><p>  設計思想遵循以下幾點:</p><p>

49、  1. 采用B/S模式進行開發(fā),其優(yōu)點是后臺與前臺處理層次分明,而且符合眾多已經習慣網頁方式的用戶。</p><p>  2. 采用面向對象的開發(fā)與設計理念。運用面向對象技術的前提是對整體系統(tǒng)的高度和準確抽象,通過它可以保證系統(tǒng)良好的框架,進而帶來產品較強的穩(wěn)定性和運行效率。</p><p>  3. 采用模塊化設計。模塊化設計要求將整個系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡化設計

50、和實現(xiàn)過程。</p><p>  4. 簡單方便的系統(tǒng)界面。設計簡單友好的系統(tǒng)界面,方便用戶較快的適應系統(tǒng)的操作。</p><p>  5.速度優(yōu)先原則。由于此工具最重要的評測標準就是速度,因此在設計過程中,具體過程盡量做到資源占用少,速度快。</p><p>  6.設計既要突出重點,又要細致周到。要符合設計需求,在有可能改進的地方進行擴充,使系統(tǒng)更適應用戶的需要

51、。</p><p><b>  2.6性能需求</b></p><p>  2.6.1系統(tǒng)的安全性</p><p>  文章管理系統(tǒng)在管理權限上要嚴格進行控制,具體要求如下:</p><p>  想登錄文章管理系統(tǒng)進行操作,必須有操作權限,沒有權限的用戶不能通過任何方式登錄系統(tǒng)查看系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴密性

52、和安全性。</p><p>  2.6.2數(shù)據(jù)的完整性</p><p>  1.各種記錄信息的完整性,信息記錄內容不能為空</p><p>  2.各種數(shù)據(jù)間相互聯(lián)系的正確性</p><p>  3.相同數(shù)據(jù)在不同記錄中的一致性</p><p><b>  2.7界面需求</b></p>

53、;<p>  界面設計目前已經成為評價軟件質量的一條重要指標,一個好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP技術是用JAVA語言作為腳本語言的,JSP網頁為整個服務器端的JAVA庫單元提供了一個接口來服務于HTTP的應用程序。 創(chuàng)建動態(tài)頁面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人-機對話的界面格式等。</p><p><b>  1.輸

54、出設計</b></p><p>  輸出是由計算機對輸入的原始信息進行加工處理,形成高質量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設計的主要職責和目標。</p><p>  系統(tǒng)設計的過程正好和實施過程相反,并不是從輸入設計到輸出設計,而是從輸出設計到輸入設計,這是因為輸出表格直接與使用者相聯(lián)系,設計的出發(fā)點應當是保證輸出表格方便地為使用者服務,正確及時反映和

55、組成用于各部門的有用信息。輸出設計的原則是考慮既要全面反映不同管理層的各項需要,又要言簡意賅,不要將用戶需要和不需要的都提供給用戶。</p><p><b>  2.輸入設計</b></p><p>  輸入數(shù)據(jù)的收集和錄入是比較費事的,需要大量的人力和一定設備,并且容易出錯。如果輸入系統(tǒng)的數(shù)據(jù)有錯誤,則處理后的輸出將擴大這些錯誤,因此輸入數(shù)據(jù)的正確性對于整個系統(tǒng)質量

56、的好壞是具有決定性意義的。</p><p>  輸入設計的原則有如下幾點:</p><p>  1)輸入量應保持在能滿足處理要求的最低限度。設計中可采用設置字段初值,下拉式數(shù)據(jù)窗口等方式盡量減少用戶鍵盤輸入量。輸入量越少,錯誤率就越少,數(shù)據(jù)準備時間也減少。</p><p>  2)輸入的準備及輸入過程應盡量容易進行,從而減少錯誤的發(fā)生。</p><

57、;p>  3)應盡量早對輸入數(shù)據(jù)進行檢查(盡量接近原數(shù)據(jù)發(fā)生點),以便使錯誤及時得到更正。</p><p>  4)輸入數(shù)據(jù)盡早地用其處理所需的形式被記錄,以避免數(shù)據(jù)由一種介質轉移到另一種介質時需要轉錄而可能發(fā)生的錯誤</p><p>  第三章 系統(tǒng)分析與設計</p><p>  3.1數(shù)據(jù)庫的分析與設計</p><p>  計算機信

58、息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。數(shù)據(jù)庫已經成為現(xiàn)在信息系統(tǒng)等計算機系統(tǒng)的基礎與核心部分。數(shù)據(jù)庫設計的好壞直接影響到整個系統(tǒng)的質量和效率。</p><p>  數(shù)據(jù)庫的設計一般經過規(guī)劃。需求分析、概念設計、邏輯設計、物理設計5個步驟。</p><p>  3.1.1數(shù)據(jù)庫的概念結構設計</p>&l

59、t;p>  概念設計是指在數(shù)據(jù)分析的基礎上自底向上的建立整個系統(tǒng)的數(shù)據(jù)庫概念結構,從用戶的角度進行視圖設計,然后將視圖集成,最后對集成的結構分析優(yōu)化得到最后結果。</p><p>  數(shù)據(jù)庫的概念結構設計采用實體—聯(lián)系(E-R)模型設計方法。E-R模型法的組成元素有:實體、屬性、聯(lián)系,E-R模型用E-R圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對實體特性的描述。</p><p&g

60、t;  概念設計的目標是產生反映企業(yè)組織信息要求的數(shù)據(jù)庫概念結構,即概念模式。概念模式是獨立于數(shù)據(jù)庫邏輯結構,獨立于支持數(shù)據(jù)庫的DBMS,不依賴于計算機系統(tǒng)的,</p><p>  根據(jù)以上對數(shù)據(jù)庫的需求分析,并結合系統(tǒng)概念模型的特點及建立方法,建立E-R模型圖。</p><p>  (1)部門信息實體E-R圖如圖3.1所示:</p><p>  圖3.1 部門信息

61、實體E-R圖</p><p>  (2)員工信息實體E-R圖如圖3.2所示:</p><p>  圖3.2 員工信息實體E-R圖</p><p>  (3)分類信息實體E-R圖如圖3.3所示</p><p>  圖3.3 分類信息實體E-R圖</p><p>  (4)文章信息E-R圖如圖3.4所示</p>

62、;<p>  圖3.4 文章信息實體E-R圖</p><p>  (5)管理員信息E-R圖如圖3.5所示</p><p>  圖3.5 管理員信息實體E-R圖</p><p>  3.1.2數(shù)據(jù)庫的邏輯結構設計</p><p>  我們知道,數(shù)據(jù)庫概念模型獨立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng)的特

63、點進行轉換。即轉化為按計算機觀點處理的邏輯關系模型,E-R模型向關系數(shù)據(jù)庫模型轉換應遵循下列原則:</p><p>  *每一個實體要轉換成一個關系</p><p>  *所有的主鍵必須定義非空(NOT NULL)</p><p>  *對于二元聯(lián)系應按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵。</p><p>  根據(jù)E-R模型,文

64、章管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結構,下面是各數(shù)據(jù)表的詳細說明。</p><p>  (1)部門信息表主要是記錄了部門的基本信息,表結構如圖3.1所示。</p><p>  表3.1部門表(t_organization)</p><p>  (2)員工信息表主要是記錄了員工基本信息。表結構如表3.2所示。</p><p>  表3.2員工信息表(

65、t_user)</p><p>  (3)分類信息表主要是記錄了文章分類的基本信息,表結構如圖3.3所示。</p><p>  表3.3分類信息表(t_fenlei)</p><p>  (4)文章信息表主要是記錄了文章的基本信息,表結構如圖3.4所示。</p><p>  表3.4文章信息表(t_wenzhang)</p>&

66、lt;p>  (5)管理員信息表主要記錄的管理員的賬號信息,包括用戶名和密碼,表結構如表3.5所示。</p><p>  表3.5管理員信息表(t_admin)</p><p>  3.1.3數(shù)據(jù)庫的連接原理</p><p>  采用JDBC連接數(shù)據(jù)庫的方式,只需在工程中導入對應數(shù)據(jù)庫的jar包,就可以方便的對數(shù)據(jù)庫進行連接,在程序中,用Class.forNa

67、me()方法來加載驅動程序,在用DriverManager的getConnection()方法就可以創(chuàng)建一個數(shù)據(jù)庫連接。程序采用的是DAO模式來操作數(shù)據(jù)庫,DAO(Data Access Object,數(shù)據(jù)訪問對象),是Java編程中的一種經典模式,已被廣泛應用,也是J2EE架構中持久層框架的基礎知識,基于分層次式的軟件架構來實現(xiàn)對數(shù)據(jù)庫的訪問操作。DAO模式的主要思想就是從抽象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫應用程序

68、的程序員不必關心數(shù)據(jù)庫的物理位置,已經是何種數(shù)據(jù)庫,只需使用封裝數(shù)據(jù)庫中表示記錄的數(shù)據(jù)對象即可。其思想如圖3.10所示:</p><p>  圖3.10 DAO模式類圖 </p><p>  圖中BussinessObject是業(yè)務對象,是使用DAO模式的客戶端;DataTransferObject數(shù)據(jù)傳輸對象,在應用程序不同層次之間傳輸對象,在一個分布式應用程序中,通??梢蕴岣哒淼男?/p>

69、能;DataObjectAcces數(shù)據(jù)輸入/輸出對象封裝了對數(shù)據(jù)源的一些基本操作;DataSource指的是數(shù)據(jù)源??梢詮膱D中看出,DAO模式分離了業(yè)務邏輯和數(shù)據(jù)羅即將,是的編寫的軟件具有良好的層次式體系結構。本系統(tǒng)為了方便數(shù)據(jù)庫的操作,主要使用DBContent的對象來接一個數(shù)據(jù)庫(建立一個類DBContent),代碼如下:</p><p>  public DBContent(){</p>&l

70、t;p>  String CLASSFORNAME="com.SqlServer.jdbc.Driver";//連接數(shù)據(jù)庫的驅動</p><p>  String url="jdbc:SqlServer://localhost:3306/gy1";</p><p>  String user="root";//連接數(shù)據(jù)庫的用

71、戶名</p><p>  String password="root";//連接數(shù)據(jù)庫的密碼</p><p><b>  try{</b></p><p>  Class.forName(CLASSFORNAME);</p><p>  con= DriverManager.getConnection

72、(url,user,password);//加載數(shù)據(jù)庫的驅動</p><p>  stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);</p><p><b>  }</b></p><p>  catch(Exception

73、ex){</p><p>  ex.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  在程序需要連接數(shù)據(jù)庫的地方,只需要生成一個DBConnet的對象,就可以對數(shù)據(jù)庫進行連接并操作。</p>&l

74、t;p>  3.2中文亂碼問題處理</p><p>  在程序中經常會遇到中文亂碼的情況,如果手動的在servlet和jsp頁面進行設置,相當麻煩。因此,在程序的開始就寫了一個過濾器SetCharacterEncodingFilter。</p><p>  在web.xml中配置:</p><p><b>  <filter></b

75、></p><p>  <filter-name>SetCharacterEncodingFilter</filter-name></p><p>  <filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class></p><p>

76、;  <init-param></p><p>  <param-name>encoding</param-name></p><p>  <param-value>gb2312</param-value></p><p>  </init-param></p><p>

77、<b>  </filter></b></p><p>  <filter-mapping></p><p>  <filter-name>SetCharacterEncodingFilter</filter-name></p><p>  <url-pattern>/*</ur

78、l-pattern>//*表示工程下所有的頁面都會有此過濾器的處理</p><p>  </filter-mapping></p><p>  對應的SetCharacterEncodingFilter.java文件中的重要代碼,在初始化init()方法中定義:</p><p>  public void init(FilterConfig fil

79、terConfig) throws ServletException {</p><p>  this.filterConfig = filterConfig;</p><p>  this.encoding = filterConfig.getInitParameter("encoding");</p><p>  String value =

80、 filterConfig.getInitParameter("ignore");</p><p><b>  }</b></p><p>  在工具包util包中同樣定義了DataFormate類來處理字符轉換:</p><p>  public static String toUni(String gbStr){<

81、/p><p>  String uniStr = ""; /*把字符串轉換成uincode編碼*/</p><p>  if(gbStr == null){</p><p>  gbStr = "";</p><p><b>  }</b></p><p>&l

82、t;b>  try{</b></p><p>  byte[] tempByte = gbStr.getBytes("GB2312");</p><p>  uniStr = new String(tempByte,"ISO8859_1");</p><p>  }catch(Exception ex){&l

83、t;/p><p><b>  }</b></p><p>  return uniStr;</p><p><b>  }</b></p><p>  /* 把字符串轉換成Utf8編碼*/</p><p>  public static String toUtf8String(S

84、tring s) {</p><p>  StringBuffer sb = new StringBuffer();</p><p>  for (int i = 0; i < s.length(); i++) {</p><p>  char c = s.charAt(i);</p><p>  if (c >= 0 &

85、& c <= 255) {</p><p>  sb.append(c);</p><p><b>  }</b></p><p><b>  else {</b></p><p><b>  byte[] b;</b></p><p>&

86、lt;b>  try {</b></p><p>  b = Character.toString(c).getBytes("utf-8");</p><p>  }catch (Exception ex) {</p><p>  System.out.println(ex);</p><p>  b =

87、 new byte[0];</p><p><b>  }</b></p><p>  for (int j = 0; j < b.length; j++) {</p><p>  int k = b[j];</p><p>  if (k < 0) {</p><p><b&g

88、t;  k += 256;</b></p><p><b>  }</b></p><p>  sb.append("%" + Integer.toHexString(k).</p><p>  toUpperCase()); } }</p><p>  return sb.toStri

89、ng(); }</p><p>  第四章 系統(tǒng)功能實現(xiàn)</p><p>  在管理信息系統(tǒng)的生命周期中,經過了需求分析、系統(tǒng)設計等階段之后,便開始了系統(tǒng)實施階段。在系統(tǒng)分析和設計階段,系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術設計上,系統(tǒng)實施階段要繼承此前面各個階段的工作成果,將技術設計轉化為物理實現(xiàn),因此系統(tǒng)實施的成果是系統(tǒng)分析和設計階段的結晶。</p><p>

90、;  4.1系統(tǒng)登陸頁面實現(xiàn)</p><p>  1.描述:為了保證系統(tǒng)的安全性,要先使用本系統(tǒng)必須先登陸到系統(tǒng)中,用戶需要正確的賬號和密碼登錄本系統(tǒng)。</p><p>  2.程序運行效果圖如圖4.1所示:</p><p>  圖4.1 系統(tǒng)登陸頁面設計</p><p>  3.在登陸頁面輸入用戶名和密碼以,點擊提交按鈕,跳轉到登陸的ser

91、vice中,在該service中會對用戶名,密碼,驗證碼進行判斷,驗證通過進入對應的頁面,loginservice關鍵代碼:</p><p>  public String login(String userName,String userPw,int userType)</p><p><b>  {</b></p><p>  String

92、 result="no";</p><p>  if(userType==0)//系統(tǒng)管理員登陸</p><p><b>  {</b></p><p>  String sql="select * from t_admin where userName=? and userPw=?";</p>

93、;<p>  Object[] params={userName,userPw};</p><p>  DB mydb=new DB();</p><p>  mydb.doPstm(sql, params);</p><p><b>  try </b></p><p><b>  {</

94、b></p><p>  ResultSet rs=mydb.getRs();</p><p>  boolean mark=(rs==null||!rs.next()?false:true);</p><p>  if(mark==false)</p><p><b>  {</b></p><

95、;p>  result="no";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  result="yes";</p>

96、<p>  TAdmin admin=new TAdmin();</p><p>  admin.setUserId(rs.getInt("userId"));</p><p>  admin.setUserName(rs.getString("userName"));</p><p>  admin.setUser

97、Pw(rs.getString("userPw"));</p><p>  WebContext ctx = WebContextFactory.get(); </p><p>  HttpSession session=ctx.getSession(); </p><p>  session.setAttribute("userTyp

98、e", 0);</p><p>  session.setAttribute("admin", admin);</p><p><b>  }</b></p><p>  rs.close();</p><p><b>  } </b></p><p

99、>  catch (SQLException e)</p><p><b>  {</b></p><p>  System.out.println("登錄失?。?quot;);</p><p>  e.printStackTrace();</p><p><b>  }</b>&l

100、t;/p><p><b>  finally</b></p><p><b>  {</b></p><p>  mydb.closed();</p><p><b>  }</b></p><p><b>  }</b></p&

101、gt;<p>  if(userType==1)</p><p><b>  {</b></p><p>  String sql="select * from t_user where del='no' and loginname=? and loginpw=?";</p><p>  Obj

102、ect[] params={userName,userPw};</p><p>  DB mydb=new DB();</p><p>  mydb.doPstm(sql, params);</p><p><b>  try </b></p><p><b>  {</b></p>

103、<p>  ResultSet rs=mydb.getRs();</p><p>  boolean mark=(rs==null||!rs.next()?false:true);</p><p>  if(mark==false)</p><p><b>  {</b></p><p>  result=&q

104、uot;no";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  result="yes";</p><p>  TUser

105、user=new TUser();</p><p>  user.setId(rs.getInt("id"));</p><p>  user.setName(rs.getString("name"));</p><p>  user.setLoginname(rs.getString("loginname"

106、;));</p><p>  user.setLoginpw(rs.getString("loginpw"));</p><p>  user.setOrg_id(rs.getInt("org_id"));</p><p>  user.setOrganization(liuService.getOrg(rs.getInt(&

107、quot;org_id")));</p><p>  WebContext ctx = WebContextFactory.get(); </p><p>  HttpSession session=ctx.getSession(); </p><p>  session.setAttribute("userType", 1);<

108、/p><p>  session.setAttribute("user", user);</p><p><b>  }</b></p><p>  rs.close();</p><p><b>  } </b></p><p>  catch (SQLEx

109、ception e)</p><p><b>  {</b></p><p>  System.out.println("登錄失?。?quot;);</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>

110、;<b>  finally</b></p><p><b>  {</b></p><p>  mydb.closed();</p><p><b>  }</b></p><p><b>  }</b></p><p>  re

111、turn result;</p><p><b>  }</b></p><p>  4.2管理員功能模塊</p><p>  1.描述:系統(tǒng)主頁面:左方頁面展示了管理員可操作的四大功能,進入相關的管理頁面可以鏈接到子菜單,并且高亮顯示,每個管理模塊下面都有相應的子菜單。</p><p>  2.程序運行效果圖如圖4.2

112、所示:</p><p>  圖4.2管理員主頁面</p><p>  在每個jsp頁面將會對相關用戶進行攔截操作,這樣可以提高安全性,防止用戶不經過登陸頁面而進入任何子菜單頁面:</p><p>  if(session.getAttribute("user")==null)</p><p><b>  {<

113、;/b></p><p>  out.print("<script>alert('請先登錄!');window.open('../index.jsp','_self')</script>"); </p><p><b>  }</b></p><p&

114、gt;  4.2.1部門信息管理</p><p>  4.2.1.1部門信息錄入</p><p>  1.描述:管理員輸入部門相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的部門經理信息,都會給出相應的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="return checkForm()"來檢查,checkForm()函數(shù)中是各種的校驗輸

115、入數(shù)據(jù)的方式。</p><p>  2.程序效果圖如下圖4.3所示:</p><p>  圖4.3 部門信息錄入</p><p>  4.2.1.2部門信息管理</p><p>  1.描述:管理員點擊左側的菜單“部門管理”,頁面跳轉到部門管理界面,調用后臺的servlet類查詢所有部門信息。</p><p>  2.

116、程序效果圖如下圖4.4所示</p><p>  圖4.4 部門信息管理</p><p><b>  部門管理關鍵代碼:</b></p><p>  public void toOrgEdit(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOEx

117、ception</p><p><b>  {</b></p><p>  TOrganization organization=new TOrganization();</p><p>  int id = Integer.parseInt(req.getParameter("orgId"));</p>&l

118、t;p>  String sql="select * from t_organization where id = ?";</p><p>  Object[] params={id};</p><p>  DB mydb=new DB();</p><p><b>  try</b></p><p

119、><b>  {</b></p><p>  mydb.doPstm(sql, params);</p><p>  ResultSet rs=mydb.getRs();</p><p>  while(rs.next())</p><p><b>  {</b></p><

120、;p>  organization.setId(rs.getInt("id"));</p><p>  organization.setName(rs.getString("name"));</p><p>  organization.setDescription(rs.getString("description"));

121、</p><p>  organization.setP_id(rs.getInt("p_id"));</p><p>  organization.setDel(rs.getString("del"));</p><p>  organization.setParenOrganization(liuService.getOr

122、g(rs.getInt("p_id")));</p><p><b>  }</b></p><p>  rs.close();</p><p><b>  }</b></p><p>  catch(Exception e)</p><p><b&

123、gt;  {</b></p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  mydb.closed();</p><p>  req.setAttribute("org", organization);</p>

124、<p>  req.getRequestDispatcher("admin/org/editOrg.jsp").forward(req, res);</p><p><b>  }</b></p><p>  public void orgAdd(HttpServletRequest req,HttpServletResponse r

溫馨提示

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

評論

0/150

提交評論