版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 新聞管理設(shè)計(jì)案例</b></p><p> 第一章 緒 論2</p><p> § 1.1 意義2</p><p> § 1.2 目的2</p><p> § 1.3 背景和現(xiàn)狀2</p><p> 第二章
2、 新聞管理系統(tǒng)問題描述3</p><p> §2.1問題的提出3</p><p> §2.2 研究工作的基本前提3</p><p> §2.2.1軟件體系結(jié)構(gòu)及環(huán)境3</p><p> §2.2.2 B/S瀏覽器/服務(wù)器結(jié)構(gòu)簡(jiǎn)介3</p><p>
3、7;2.3 系統(tǒng)需求4</p><p> §2.4 性能需求6</p><p> §2.5接口需求6</p><p> 第三章 新聞管理系統(tǒng)概要設(shè)計(jì)6</p><p> §3.1 設(shè)計(jì)思想6</p><p> §3.2 模塊設(shè)計(jì)方案9</p>
4、<p> §3.2.1 用戶登錄9</p><p> §3.2.2 新聞管理10</p><p> §3.2.3 通知管理11</p><p> §3.2.4權(quán)限修改12</p><p> §3.4 系統(tǒng)示圖13</p><p>
5、 §3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)15</p><p> 第四章 新聞管理系統(tǒng)詳細(xì)設(shè)計(jì)18</p><p> §4.1 目的18</p><p> §4.2 服務(wù)器的配置18</p><p> §4.3 數(shù)據(jù)庫(kù)的安裝和配置18</p><p> §4.
6、4功能模塊詳細(xì)設(shè)計(jì)19</p><p> §4.4.1 用戶登錄19</p><p> §4.4.2 新聞管理模塊設(shè)計(jì)21</p><p> §4.4.3 通知管理模塊設(shè)計(jì)23</p><p> §4.4.4 用戶密碼修改25</p><p> §4
7、.4.5 權(quán)限管理26</p><p> §4.5 程序流程圖27</p><p> 第五章 新聞管理系統(tǒng)測(cè)試30</p><p> §5.1 測(cè)試環(huán)境30</p><p> §5.2 測(cè)試標(biāo)準(zhǔn)30</p><p> §5.3 測(cè)試方案30</p>
8、;<p> §5.3.1 系統(tǒng)功能測(cè)試30</p><p> §5.3.2 系統(tǒng)性能測(cè)試31</p><p> §5.4測(cè)試結(jié)果31</p><p><b> 結(jié)論31</b></p><p><b> 附錄32</b></p&g
9、t;<p><b> 第一章 緒 論</b></p><p><b> § 1.1 意義</b></p><p> 在Internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網(wǎng)站來實(shí)現(xiàn)的,獲取信息也
10、是要在Internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。為了更好的、有效率的進(jìn)行學(xué)院的新聞、通知的發(fā)布以及管理,特提出了學(xué)院新聞管理系統(tǒng)的建設(shè)。</p><p><b> § 1.2 目的</b></p><p
11、> 在學(xué)院日常辦公事務(wù)中,建立起有一個(gè)新聞管理系統(tǒng)。通過此系統(tǒng),學(xué)院可以地發(fā)布、審核、更新新聞和通知,師生可以便利地瀏覽,并且能對(duì)用戶信息進(jìn)行修改、添加、刪除的操作來對(duì)用戶進(jìn)行有效、快捷的管理。</p><p> 此系統(tǒng)建立后,用戶(普通用戶、管理員)可以進(jìn)行以上操作,對(duì)學(xué)院新聞、通知信息進(jìn)行管理,并且管理員還具有對(duì)登陸用戶的信息進(jìn)行修改、添加刪除等操作。</p><p> &
12、#167; 1.3 背景和現(xiàn)狀</p><p> 為了學(xué)院工作的順利進(jìn)行,信息的快速發(fā)布,通知的及時(shí)傳達(dá)提出了新聞管理系統(tǒng)的建設(shè)。在現(xiàn)有的管理系統(tǒng)大都采用了具有較好的安全性、移植性的JSP網(wǎng)絡(luò)編程技術(shù)進(jìn)行編碼實(shí)現(xiàn)。</p><p> 第二章 新聞管理系統(tǒng)問題描述</p><p><b> §2.1問題的提出</b><
13、/p><p> 隨著現(xiàn)在學(xué)院管理機(jī)制的完善,學(xué)院通過網(wǎng)站可以展示學(xué)院風(fēng)采,發(fā)布最新動(dòng)態(tài)信息,與學(xué)生、老師進(jìn)行信息交流和溝通,與其他學(xué)院建立聯(lián)系等。其中新聞管理系統(tǒng)是構(gòu)成學(xué)院網(wǎng)站的一個(gè)重要組成部分,可以用來動(dòng)態(tài)發(fā)布有關(guān)學(xué)院新的工作安排,有利于學(xué)院工作的開展;還可以發(fā)布對(duì)本學(xué)院學(xué)生有益的相關(guān)新聞信息和學(xué)院的風(fēng)采展現(xiàn)。 </p><p> §2.2 研究工作的基本前提</p>
14、;<p> §2.2.1軟件體系結(jié)構(gòu)及環(huán)境</p><p> 對(duì)實(shí)現(xiàn)目標(biāo)系統(tǒng)的所運(yùn)用的技術(shù)構(gòu)架描述:該系統(tǒng)采用Browser/Server(B/S)瀏覽器/服務(wù)器結(jié)構(gòu)為軟件體系結(jié)構(gòu)。這種結(jié)構(gòu)最大的優(yōu)點(diǎn)是:客戶機(jī)統(tǒng)一采用瀏覽器,這不僅讓用戶使用方便,而且使得客戶機(jī)端不存在維護(hù)的問題。當(dāng)然,軟件開發(fā)布和維護(hù)的工作不是自動(dòng)消失了,而是轉(zhuǎn)移到了Web 服務(wù)器端。在Web 服務(wù)器端,程序員要編寫
15、響應(yīng)頁面。例如用JSP語言查詢數(shù)據(jù)庫(kù),將結(jié)果保存在Web 頁面中,再由瀏覽器顯示出來。</p><p> 運(yùn)行環(huán)境:Tomcat服務(wù)器</p><p> 數(shù)據(jù)庫(kù):MySQL</p><p> 軟件環(huán)境:Windows 2000 professional、DreamweaverMX、JBuilder.</p><p><b>
16、 硬件環(huán)境:PC機(jī)</b></p><p> §2.2.2 B/S瀏覽器/服務(wù)器結(jié)構(gòu)簡(jiǎn)介</p><p> B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3
17、-tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows 98/Windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu)
18、應(yīng)用程序?qū)⑹蔷薮蟮倪M(jìn)步?! /S結(jié)構(gòu)采用星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。前者的特點(diǎn)是安全、快捷、準(zhǔn)確。后者則具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,再整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示:</p><p> 圖2.1 B/S網(wǎng)絡(luò)結(jié)構(gòu)圖</p><p> §2
19、.3 系統(tǒng)需求</p><p> 根據(jù)用戶的具體要求,決定了此系統(tǒng)的功能模塊,以及功能特點(diǎn)。</p><p> 新聞管理系統(tǒng)的功能特點(diǎn):</p><p> (1)操作簡(jiǎn)單、界面友好:完全控件式的頁面布局,使得新聞/通知的錄入工作更簡(jiǎn)便;許多選項(xiàng)包括新聞/通知類別、來源部門等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時(shí)清楚自己的操作情況。(
20、2)即時(shí)可見:對(duì)新聞/通知的處理(包括錄入、修改、刪除)將立即在主頁的對(duì)應(yīng)欄目顯示出來,達(dá)到"即時(shí)發(fā)布、即時(shí)見效"的功能。</p><p> (3)功能完善:包括常見網(wǎng)站的新聞/通知管理的各個(gè)方面:新聞/通知發(fā)布、瀏覽、刪除、修改、檢索等各個(gè)方面,完整地實(shí)現(xiàn)了網(wǎng)站對(duì)即時(shí)新聞的管理要求。(4)方便移植:針對(duì)不同的單位,只需要稍作修改就可以開發(fā)出適合本企業(yè)特點(diǎn)的網(wǎng)站新聞管理系統(tǒng)!</p&
21、gt;<p> 按照系統(tǒng)開發(fā)的基本觀點(diǎn)對(duì)系統(tǒng)進(jìn)行分解,從內(nèi)容上可對(duì)網(wǎng)站作如下劃分:</p><p> 系統(tǒng)登錄:該模塊負(fù)責(zé)將用戶分為普通用戶和注冊(cè)用戶來實(shí)現(xiàn)用戶權(quán)限的管理。</p><p><b> ?。?)、新聞管理:</b></p><p> 新聞發(fā)布:該模塊是登陸者進(jìn)行新聞編輯,包括標(biāo)題、類型、來源部門字段及發(fā)布日期等
22、信息,然后出現(xiàn)在新聞審核頁面上。</p><p> 新聞審核:該模塊負(fù)責(zé)列出所有未通過新聞的信息,包括標(biāo)題、類型、來源部門字段及發(fā)布日期,每條新聞的標(biāo)題被做成一個(gè)超鏈接,點(diǎn)擊它們就能跳轉(zhuǎn)頁面進(jìn)行新聞閱讀,有權(quán)限的登陸者可以對(duì)其進(jìn)行通過審核、刪除等功能。 </p><p> 新聞閱讀:在其他頁面中點(diǎn)擊標(biāo)題鏈接即進(jìn)入新聞閱讀頁面,此時(shí),每條新聞的詳細(xì)信息將被取出,包括內(nèi)容、標(biāo)題、
23、關(guān)鍵字等,并按照相對(duì)固定的格式放置在頁面的不同區(qū)域,所有新聞使用大致相同的頁面布局,只是各字段對(duì)應(yīng)的內(nèi)容不同而已,另外,頁面其它位置,可以動(dòng)態(tài)放置其他元件,如網(wǎng)站標(biāo)志logo、頁面廣告banner等鏈接圖片,這樣可以很容易地實(shí)現(xiàn)圖文并茂的閱讀效果。并且有權(quán)限的人可以通過此界面進(jìn)行新聞修改。</p><p> 新聞查詢:該模塊提供了新聞查詢功能,輸入待查找的內(nèi)容及選定分類信息可以快速地找到符合條件的新聞,并輸出
24、查詢結(jié)果。</p><p> 新聞顯示:該模塊是顯示在頁面上會(huì)自動(dòng)流動(dòng)的顯示新聞?lì)}目,按照時(shí)間來排列順序。點(diǎn)擊標(biāo)題后,會(huì)出現(xiàn)新聞的全部信息。</p><p><b> ?。?)、通知管理</b></p><p> 通知發(fā)布:該模塊是登陸者進(jìn)行通知編輯,包括標(biāo)題、類型、來源部門字段及發(fā)布日期等信息,然后出現(xiàn)在通知審核頁面上。</p>
25、;<p> 通知審核:該模塊負(fù)責(zé)列出所有未通過通知的信息,包括標(biāo)題、附件、類型、來源部門字段及發(fā)布日期,每條通知的標(biāo)題被做成一個(gè)超鏈接,點(diǎn)擊它們就能跳轉(zhuǎn)頁面進(jìn)行通知閱讀,有權(quán)限的登陸者可以對(duì)其進(jìn)行通過審核、刪除等功能。 </p><p> 通知閱讀:在其他頁面中點(diǎn)擊標(biāo)題鏈接即進(jìn)入通知閱讀頁面,此時(shí),每條通知的詳細(xì)信息將被取出,包括內(nèi)容、附件、標(biāo)題、關(guān)鍵字等,并按照相對(duì)固定的格式放置在頁
26、面的不同區(qū)域,所有通知使用大致相同的頁面布局,只是各字段對(duì)應(yīng)的內(nèi)容不同而已,另外,頁面其它位置,可以動(dòng)態(tài)放置其他元件,如網(wǎng)站標(biāo)志logo、頁面廣告banner等鏈接圖片,這樣可以很容易地實(shí)現(xiàn)圖文并茂的閱讀效果。并且有權(quán)限的人可以通過此界面進(jìn)行通知修改。</p><p> 通知查詢:該模塊提供了通知查詢功能,輸入待查找的內(nèi)容及選定分類信息可以快速地找到符合條件的通知,并輸出查詢結(jié)果。</p>&l
27、t;p> 通知顯示:該模塊是顯示在頁面上會(huì)自動(dòng)流動(dòng)的顯示通知題目,按照時(shí)間來排列順序。點(diǎn)擊標(biāo)題后,會(huì)出現(xiàn)通知的全部信息。</p><p> (3)、用戶密碼修改</p><p> 此模塊主要要滿足登陸用戶修改自己密碼。首先用戶要核對(duì)自身原有的密碼,如果核對(duì)通過則會(huì)在用戶數(shù)據(jù)庫(kù)中的密碼改為輸入的新密碼。</p><p><b> ?。?)、權(quán)限管
28、理</b></p><p> 此模塊只針對(duì)于具有管理員身份的登陸者,主要要完成的功能有用戶信息查詢、用戶權(quán)限修改、以及添加用戶。用戶信息查詢,會(huì)在頁面上顯示用戶的用戶名、用戶的角色等信息;添加是通過頁面的添加用戶名、用戶角色、用戶密碼等信息,添加成功后,將在數(shù)據(jù)庫(kù)中存在該用戶。</p><p> 新聞管理系統(tǒng)功能結(jié)構(gòu)圖如下:</p><p> 圖2
29、.2 新聞管理系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> §2.4 性能需求</b></p><p> 見《軟件專業(yè)實(shí)驗(yàn)》課程指導(dǎo)書</p><p><b> §2.5接口需求</b></p><p> 用戶接口: 本系統(tǒng)的用戶一般需要通過終端進(jìn)行操作,進(jìn)入主界面后點(diǎn)擊
30、相應(yīng)的窗口,分別進(jìn)入相對(duì)應(yīng)的界面(如:輸入界面、輸出界面),使用方便、直觀。</p><p> 軟件接口:windows 2000 professional</p><p> 第三章 新聞管理系統(tǒng)概要設(shè)計(jì)</p><p> 該部分要說明新聞管理系統(tǒng)實(shí)現(xiàn)的基本方案。根據(jù)以上需求分析以及用戶的要求,該系統(tǒng)要實(shí)現(xiàn)用戶登錄時(shí)要進(jìn)行核對(duì)用戶的合法性、新聞管理、通知管理等
31、基本功能模塊</p><p> §3.1 設(shè)計(jì)思想</p><p> 本系統(tǒng)采用了面向?qū)ο缶幊陶Z言(java)進(jìn)行基層編程,頁面編程采用了JSP技術(shù)。</p><p> 系統(tǒng)采用跨平臺(tái)性能較好的Java編程語言,采用JSP、Servlet、JavaBean、JavaScript技術(shù)。使用JSP、Servlet、JavaScript負(fù)責(zé)瀏覽器表現(xiàn)層的
32、實(shí)現(xiàn);JSP實(shí)現(xiàn)查詢、數(shù)據(jù)翻頁顯示等簡(jiǎn)單的邏輯操作;Servlet實(shí)現(xiàn)數(shù)據(jù)的添加、刪除、修改等復(fù)雜的邏輯操作;JavaBean負(fù)責(zé)數(shù)據(jù)庫(kù)操作、Web頁面中文顯示等可重用的操作的實(shí)現(xiàn)。</p><p> Java是一個(gè)由sun公司開發(fā)的編程語言。使用它可在各式各樣不同種機(jī)器、不同種操作平臺(tái)下的網(wǎng)絡(luò)環(huán)境中開發(fā)軟件,不論使用的是哪一種www瀏覽器、哪一種計(jì)算機(jī)、哪一種操作系統(tǒng).只要www瀏覽器注明“支持java語言“
33、就可以看到生動(dòng)的頁面。java正在逐步成為Internet應(yīng)用的主要開發(fā)語言。它徹底改變了應(yīng)用軟件的開發(fā)模式、帶來了Pc機(jī)的一次技術(shù)革命,為迅速發(fā)展的信息世界增添了新的活力。使用java語言主要有以下特點(diǎn):</p><p><b> 1)、簡(jiǎn)單性</b></p><p> Java語言是一種面向?qū)ο蟮恼Z言,它通過提供最基本的方法來完成指定的任務(wù),只需理解一些基本的
34、概念,就可以用它編寫出適合于各種情況的應(yīng)用程序。Java略去了運(yùn)算符重載、多重繼承等模糊的概念、并且通過實(shí)現(xiàn)自動(dòng)垃圾收集.大大簡(jiǎn)化了程序設(shè)計(jì)者的內(nèi)存管理。</p><p> 2)、面向?qū)ο蟮奶匦?lt;/p><p> Java話言的設(shè)計(jì)集中于對(duì)象及其接口上,它提供了簡(jiǎn)單的類機(jī)制以及動(dòng)態(tài)的接口模型。對(duì)象中封裝了它的狀態(tài)變量以及相應(yīng)的方法,實(shí)現(xiàn)了模塊化和信息隱藏;而類則提供了一類對(duì)象的原型,并
35、且通過繼承機(jī)制,子類可以使用父類所提供的方法,實(shí)現(xiàn)了代碼的復(fù)用。</p><p><b> 3)、分布性處理</b></p><p> Java是面向網(wǎng)絡(luò)的語言。通過Java提供的基礎(chǔ)類庫(kù)可以處理TCP/IP協(xié)議.用戶可以通過URL地址在網(wǎng)絡(luò)上很方便地訪問其他對(duì)象。</p><p><b> 4)健壯性</b><
36、;/p><p> Java在編譯和運(yùn)行程序時(shí)、都要對(duì)可能出現(xiàn)的問題進(jìn)行檢查,以消除錯(cuò)誤的產(chǎn)生。它提供自動(dòng)垃圾收集來進(jìn)行內(nèi)存管理,防止程序員在管理內(nèi)存時(shí)產(chǎn)生錯(cuò)誤。使用集成的面向?qū)ο蟮睦馓幚頇C(jī)制,在編譯時(shí),Java會(huì)提示可能出現(xiàn)但末被處理的例外,幫助程序員正確地進(jìn)行選擇以防止系統(tǒng)的崩消。另外 ,Java在編譯時(shí)還可捕獲類型聲明中的許多常見錯(cuò)誤,防止動(dòng)態(tài)運(yùn)行時(shí)不匹配問題的出現(xiàn)。</p><p>
37、<b> 5)、安全性</b></p><p> 用于網(wǎng)絡(luò)、分布式計(jì)算環(huán)境下的Java必須要能夠防止病毒的入侵。Java不支持指針、一切對(duì)內(nèi)存的訪問都必須通過對(duì)象的實(shí)例變量來實(shí)現(xiàn),這樣就防止程序員使用欺騙手段訪問對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。</p><p><b> 6)、體系結(jié)構(gòu)中立</b></p>
38、<p> Java解釋器生成與體系結(jié)構(gòu)無關(guān)的字節(jié)碼指令,只要安裝了Java運(yùn)行時(shí)系統(tǒng),Java程序就可在任意的處理器上運(yùn)行這些字節(jié)碼指令對(duì)應(yīng)于Java虛擬機(jī)中的表示,Java解釋器得到字節(jié)碼后.對(duì)它進(jìn)行轉(zhuǎn)換.使之能夠在不問的平臺(tái)運(yùn)行。</p><p><b> 7)可移植性</b></p><p> 與平臺(tái)無關(guān)的特性使Java程序可以方便地被移植到網(wǎng)
39、絡(luò)上的不同機(jī)器。同時(shí),Java的類庫(kù)中也實(shí)現(xiàn)了與不同平臺(tái)的接口,使這些類庫(kù)可以從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái)。另外,Java編譯器是由Java語言實(shí)現(xiàn)的,Java運(yùn)行時(shí)系統(tǒng)由標(biāo)準(zhǔn)c實(shí)現(xiàn),這使得Java系統(tǒng)本身也具有可移植性。</p><p> JSP目前在國(guó)外已經(jīng)得到廣泛的應(yīng)用,在國(guó)內(nèi),因?yàn)镴ava語言普及性不夠,所以尚未得到重用,但是越來越多的公司和個(gè)人開始關(guān)注JSP的應(yīng)用前景,國(guó)內(nèi)也已經(jīng)出現(xiàn)了許多JSP做的網(wǎng)頁
40、和網(wǎng)站,JSP正日益火瀑、大有取代其他網(wǎng)頁編程語言的趨勢(shì)。</p><p> JSP規(guī)范是web服務(wù)器、應(yīng)用服務(wù)器開發(fā)者、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商等各方廣泛合作的結(jié)果。其特點(diǎn)是:</p><p> ● 能運(yùn)行在任何web或應(yīng)用程序服務(wù)器上。</p><p> ● 能分離應(yīng)用程序的邏輯和頁面顯示。</p><p> ● 能快速
41、地開發(fā)和測(cè)試</p><p> ● 能簡(jiǎn)化開發(fā)基于Web的交互式應(yīng)用程序的過程。</p><p> JSP相對(duì)于目前流行的其他網(wǎng)頁制作技術(shù)(如:ASP)相比較具有了很多優(yōu)越性:</p><p> 1)、JSP技術(shù)基于平臺(tái)和服務(wù)器的互相獨(dú)立,輸入支持來自廣泛的,專門的,各種工具包,服務(wù)器的組件和數(shù)據(jù)庫(kù)產(chǎn)品開發(fā)商所提供。相比之下,ASP技術(shù)主要依賴微軟的技術(shù)支持
42、。</p><p> 2)、平臺(tái)和服務(wù)器的獨(dú)立性 JSP技術(shù)依附于一次寫入之后,可以運(yùn)行在任何具有符合JavaTM語法結(jié)構(gòu)的環(huán)境。取而代之過去依附于單一平臺(tái)或開發(fā)商,JSP技術(shù)能夠運(yùn)行在任何WEB服務(wù)器上并且支持來自多家開發(fā)商提供的各種各樣工具包。</p><p> 3)、開放的開發(fā)過程,開放的原代碼,SUN應(yīng)用JAVA社團(tuán)性過程開發(fā)JSP技術(shù),使得JSP更具有友好性。而ASP技術(shù)僅依
43、靠微軟本身的推動(dòng),其發(fā)展是建立在獨(dú)占的,封閉的開發(fā)過程基礎(chǔ)之上。</p><p> 4)、從開發(fā)人員的角度來看:ASP和JSP技術(shù)都能使開發(fā)者實(shí)現(xiàn)通過點(diǎn)擊網(wǎng)頁中的組件制作交互式的,動(dòng)態(tài)的內(nèi)容和應(yīng)用程序的WEB站點(diǎn)。ASP僅支持組件對(duì)象模型COM,而JSP技術(shù)提供的組件都是基于JavabeansTM技術(shù)或JSP標(biāo)簽庫(kù)。并且JSP標(biāo)簽可擴(kuò)充,其跨越平臺(tái)的可重用性強(qiáng)。</p><p> 5)
44、、在企業(yè)級(jí)JAVABEANS技術(shù)支持下,JSP網(wǎng)頁通過運(yùn)用高級(jí)的,對(duì)象映射的方式訪問數(shù)據(jù)庫(kù),使對(duì)數(shù)據(jù)庫(kù)的訪問更有效。</p><p> 因此此系統(tǒng)中,選擇利用JSP技術(shù)和Servlets、JavaBean、JavaScript進(jìn)行新聞管理系統(tǒng)的開發(fā),更能體現(xiàn)現(xiàn)代技術(shù)的優(yōu)越性。</p><p> JSP技術(shù)能讓W(xué)eb開發(fā)員和網(wǎng)頁設(shè)計(jì)員快速地開發(fā)容易維護(hù)的動(dòng)態(tài)Web主頁。用JSP開發(fā)的We
45、b應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源(例如JavaBesns)的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 JSP技術(shù)是Servlet技術(shù)的擴(kuò)展。Servlet
46、是平臺(tái)無關(guān)的,100%純Java的Java服務(wù)端組件。</p><p> 通過JSP來進(jìn)行數(shù)據(jù)庫(kù)訪問不需要太多的引導(dǎo)。問題是如何使開發(fā)者能夠接受Web程序的數(shù)據(jù)庫(kù)訪問比傳統(tǒng)的本地OLAP系統(tǒng)的數(shù)據(jù)庫(kù)訪問更加具有吸引力,并且使他們認(rèn)識(shí)到,整潔和簡(jiǎn)要的數(shù)據(jù)訪問方法才是關(guān)鍵的。在這一點(diǎn)上,JSP可以很好地解決,因?yàn)樗軌蚺cJava Database Connectivity API (JDBC)很好的兼容。你可以將J
47、DBC包含在JSP代碼中,并且JDBC能夠傳遞聲明執(zhí)行類似數(shù)據(jù)庫(kù)的命令,只要你能夠正確地使用JDBC驅(qū)動(dòng)程序。</p><p> JDBC API不會(huì)直接地與數(shù)據(jù)庫(kù)進(jìn)行交流。其中的驅(qū)動(dòng)程序完成的實(shí)際的連接,你可以在賣方的Web站點(diǎn)上下載這些驅(qū)動(dòng)程序。除此之外,還有四種JDBC的驅(qū)動(dòng)程序類型,如果你決定使用JDBC,你需要正確地選擇最為適合你需要的那種類型。你將使用一個(gè)DriverManager類來處理基于驅(qū)動(dòng)程
48、序的連接。</p><p> 你可以使用一個(gè)名為getConnection的DriverManager方法來建立你的數(shù)據(jù)庫(kù)連接。你還可以使用它的URL參數(shù)來識(shí)別數(shù)據(jù)庫(kù):</p><p> public static Connection getConnection(jdbc:odbc:nameOfDatabase)</p><p> 現(xiàn)在,告訴DriverMa
49、nager有關(guān)驅(qū)動(dòng)程序的信息(應(yīng)該在你的classpath中):</p><p> Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);</p><p> 你已經(jīng)將數(shù)據(jù)庫(kù)連接到JSP程序,但你仍然不能夠執(zhí)行一個(gè)數(shù)據(jù)庫(kù)命令。解決這一點(diǎn),你可以在JSP代碼中生成聲明以建立數(shù)據(jù)庫(kù)命令,如下所示:</p><p> publ
50、ic Statement createStatement(intresultSetType, intresultSetConcurrency)</p><p> 其中的參數(shù)能夠讓你控制從數(shù)據(jù)庫(kù)查詢得到的結(jié)果。當(dāng)使用第一個(gè)參數(shù)時(shí),可以在程序中看到結(jié)果;當(dāng)使用第二個(gè)參數(shù)時(shí),你可以通過查詢來更新數(shù)值。</p><p> 聲明(Statement)就是SQL命令。PreparedStateme
51、nt就是SQL的聲明,你可以通過其中的參數(shù)來控制程序的過程。CallableStatement是用于訪問SQL存儲(chǔ)程序。 </p><p> 你以上的聲明接口使你可以使用一些方法來執(zhí)行SQL聲明。ResultSet所做的就是訪問從查詢得到的數(shù)據(jù),所以你可以在JSP程序中使用這些數(shù)據(jù)。 </p><p> 通過將JSP程序分解成單一的、功能明顯的頁面,以及在任何給定頁面中執(zhí)行一個(gè)單一的數(shù)
52、據(jù)庫(kù)操作,可以很大程度地簡(jiǎn)化你的數(shù)據(jù)庫(kù)操作,以及建立可以用于以后程序開發(fā)的頁面,即使你將SQL嵌入到這些頁面的JDBC中。為了使得你的JSP數(shù)據(jù)庫(kù)訪問更加整潔和容易維護(hù),在JSP代碼中嵌入JDBC,以及通過發(fā)送SQL命令與數(shù)據(jù)庫(kù)通訊,但是,它要求在不能增加代碼復(fù)雜程度下,建立通過接口的SQL命令的程序。當(dāng)你的SQL處理需要提高靈活性的時(shí)候,你可以進(jìn)一步地分離你的數(shù)據(jù)庫(kù)接口代碼,以清潔你的JSP程序。</p><p&g
53、t; §3.2 模塊設(shè)計(jì)方案</p><p> 各個(gè)模塊的功能實(shí)現(xiàn)都是在詳細(xì)設(shè)計(jì)中實(shí)現(xiàn)的,這里只是提出了實(shí)現(xiàn)的大體方案,各個(gè)模塊的實(shí)現(xiàn)方案都是經(jīng)過與以前的系統(tǒng)比較后,作了優(yōu)化得出的。</p><p><b> 系統(tǒng)的功能模塊圖:</b></p><p> 圖3.1 新聞管理系統(tǒng)的功能模塊圖</p><p&g
54、t; §3.2.1 用戶登錄</p><p> 用戶登錄時(shí)所用的用戶名以及密碼都是存放在數(shù)據(jù)庫(kù)中的users、user_roles兩個(gè)表中的,當(dāng)用戶輸入用戶名和密碼后,點(diǎn)“登入”按鈕,程序?qū)⒆詣?dòng)檢查數(shù)據(jù)庫(kù)中的數(shù)據(jù),以判斷用戶是否合法,合法則進(jìn)入新聞管理系統(tǒng)的主界面,實(shí)現(xiàn)此功能要通過對(duì)server.xml文件進(jìn)行安全域的配置,還要對(duì)web.xml進(jìn)行權(quán)限的設(shè)置。對(duì)于根據(jù)登錄者的身份(user_role
55、s)不同,所進(jìn)入的界面以及所要的操作,除了管理員身份有新聞審核、通知審核和權(quán)限管理頁面外,其他的角色登錄后只有新聞發(fā)布、通知發(fā)布、新聞/通知查詢、新聞/通知顯示4個(gè)頁面。且在查看詳細(xì)信息的時(shí)候,管理員身份可以進(jìn)行修改、刪除新聞或者通知。</p><p> 關(guān)于此功能的實(shí)現(xiàn)還有一種方案可以實(shí)現(xiàn)。在web.xml的安全域設(shè)置中把新聞審核和通知審核進(jìn)行安全域的控制,只能有管理員身份的登錄者才能進(jìn)入,當(dāng)其他身份點(diǎn)擊此兩
56、個(gè)頁面的時(shí)候,將會(huì)出現(xiàn)出錯(cuò)頁面提示“你沒有權(quán)限”。</p><p> 圖3.2 用戶的ER圖</p><p> §3.2.2 新聞管理</p><p> 此模塊包括了新聞發(fā)布、新聞審核、新聞查詢、新聞顯示幾大模塊。主要完成的功能是對(duì)新聞信息進(jìn)行編輯、發(fā)布,發(fā)布的信息通過新聞審核頁面進(jìn)行新聞審核通過后會(huì)出現(xiàn)在新聞查詢頁面的“已審核”的新聞信息中和新
57、聞顯示的頁面中。新聞查詢可分日期查詢、發(fā)送方查詢、標(biāo)題查詢、審核性查詢。通過某一條件進(jìn)行查詢可以所需的信息。在查詢頁面、審核頁面中也可以進(jìn)行新聞的詳細(xì)信息查詢。具體的功能模塊圖如下:</p><p> 圖3.3 新聞管理功能模塊圖</p><p> 圖3.4 新聞管理模塊E-R圖</p><p> §3.2.3 通知管理</p>&
58、lt;p> 此模塊包括了通知發(fā)布、通知審核、通知查詢、通知顯示幾大模塊。主要完成的功能是對(duì)通知信息進(jìn)行編輯、發(fā)布,發(fā)布的信息通過通知審核頁面進(jìn)行通知審核通過后會(huì)出現(xiàn)在通知查詢頁面的“已審核”的通知信息中和通知顯示的頁面中。通知查詢可分日期查詢、發(fā)送方查詢、標(biāo)題查詢、審核性查詢。通過某一條件進(jìn)行查詢可以所需的信息。在查詢頁面、審核頁面中也可以進(jìn)行通知的詳細(xì)信息查詢。具體的功能模塊圖如下:</p><p>
59、 圖3.5 通知管理功能模塊圖</p><p> 圖3.6 通知管理模塊E-R圖</p><p> §3.2.4權(quán)限修改</p><p> 此模塊要主要要完成的功能有用戶信息查詢、用戶權(quán)限修改、以及添加用戶。用戶信息查詢,會(huì)在頁面上顯示用戶的用戶名、用戶的角色等信息;添加是通過頁面的添加用戶名、用戶角色、用戶密碼等信息,添加成功后,將在數(shù)據(jù)庫(kù)中
60、存在該用戶。功能模塊圖如下:</p><p> 圖3.7 權(quán)限管理功能模塊圖</p><p> 注:因?yàn)樵谇懊嬉呀?jīng)對(duì)密碼修改部分進(jìn)行了功能闡述,此模塊的功能單一,因此在此不作過多闡述了,具體實(shí)現(xiàn)將在下章進(jìn)行詳細(xì)功能設(shè)計(jì)。</p><p> §3.4 系統(tǒng)示圖</p><p> 在一個(gè)系統(tǒng)中,數(shù)據(jù)的流向是很重要的,因此此
61、系統(tǒng)采用了數(shù)據(jù)流圖來描述整個(gè)新聞管理系統(tǒng)的數(shù)據(jù)流向。</p><p> 數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的情況。</p><p> 數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的基本工具。一個(gè)數(shù)據(jù)流圖確定了系統(tǒng)的轉(zhuǎn)化過程、系統(tǒng)所操縱的數(shù)據(jù)或物質(zhì)的收集(存儲(chǔ)),還有過程、存儲(chǔ)、外部世界之間的數(shù)據(jù)流或物質(zhì)流。數(shù)據(jù)流模型把層次分解方法運(yùn)用到系統(tǒng)分析上,這
62、種方法很適用于事務(wù)處理系統(tǒng)和其它功能密集型應(yīng)用程序。</p><p> 新聞和通知發(fā)布與新聞/通知審核、新聞/通知查詢、新聞/通知顯示模塊間的數(shù)據(jù)流圖如下:</p><p> 圖3.8 新聞管理系統(tǒng)的數(shù)據(jù)流圖</p><p> 圖3.9 新聞通知/管理系統(tǒng)的總體E-R圖</p><p> §3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)</p
63、><p> 該新聞管理系統(tǒng)涉及到了數(shù)據(jù)庫(kù)的建立,數(shù)據(jù)庫(kù)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),是用于查詢的大量數(shù)據(jù)的存儲(chǔ)區(qū)域。使用數(shù)據(jù)庫(kù)可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫(kù)技術(shù)還為用戶提供了非常簡(jiǎn)便的使用手段,使用戶易于編寫有關(guān)數(shù)據(jù)庫(kù)應(yīng)用程序。特別是近年來推出的計(jì)算機(jī)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),操作直觀,使用靈活,編程方便,功能強(qiáng)大,環(huán)境適應(yīng)廣
64、泛,數(shù)據(jù)處理能力極強(qiáng)。</p><p> 一般數(shù)據(jù)庫(kù)設(shè)計(jì)方法有兩種,即屬性主導(dǎo)型和實(shí)體主導(dǎo)型。屬性主導(dǎo)型從歸納數(shù)據(jù)庫(kù)應(yīng)用的屬性出發(fā),在歸并屬性集合(實(shí)體)時(shí)維持屬性間的函數(shù)依賴關(guān)系。實(shí)體主導(dǎo)型則先從尋找對(duì)數(shù)據(jù)庫(kù)應(yīng)用有意義的實(shí)體入手,然后通過定義屬性來定義實(shí)體。一般現(xiàn)實(shí)世界的實(shí)體數(shù)在屬性數(shù) 1/10 以下時(shí),宜使用實(shí)體主導(dǎo)型設(shè)計(jì)方法。面向?qū)ο蟮臄?shù)據(jù)庫(kù)設(shè)計(jì)是從對(duì)象模型出發(fā)的,屬于實(shí)體主導(dǎo)型設(shè)計(jì)。</p>
65、<p> 數(shù)據(jù)庫(kù)的開發(fā)步驟:</p><p> 1)、設(shè)計(jì)應(yīng)用系統(tǒng)結(jié)構(gòu);2)、選擇便于將應(yīng)用程序與 DBMS 結(jié)合的DBMS體系結(jié)構(gòu),如RDBMS;3)、根據(jù)應(yīng)用程序使用的環(huán)境平臺(tái),選擇適宜的DBMS(MYSQL)和開發(fā)工具(Navicat或者mysql control center、mysql administrator);4)、設(shè)計(jì)數(shù)據(jù)庫(kù),編寫定義數(shù)據(jù)庫(kù)模式的SQL程序;5)、編寫
66、確保數(shù)據(jù)正確錄入數(shù)據(jù)庫(kù)的用戶接口應(yīng)用程序;6)、錄入數(shù)據(jù)庫(kù)數(shù)據(jù);</p><p> 該系統(tǒng)采用了MYSQL作為數(shù)據(jù)庫(kù),它是目前較為流行的、快速、開放原代碼的數(shù)據(jù)庫(kù)系統(tǒng),具有很大的功能。</p><p> 新聞管理系統(tǒng)主要用到了3張表,新聞信息表news、通知信息表notice、附件表adnexa 。</p><p> 新聞信息表詳細(xì)字段如下:</p&g
67、t;<p> 表3.1 新聞信息表</p><p> 通知信息表詳細(xì)字段如下:</p><p> 表3.2 通知信息表</p><p><b> 附件信息表詳細(xì)字段</b></p><p> 表3.3 附件信息表</p><p> 各數(shù)據(jù)表間的關(guān)系圖:</p>
68、;<p> AdnexaID AdnexaID</p><p> 圖3.10 各數(shù)據(jù)表中間關(guān)系圖</p><p> 為了保障數(shù)據(jù)庫(kù)不被人隨意修改,在使用數(shù)據(jù)庫(kù)工具的時(shí)候,可以用工具給所建的數(shù)據(jù)庫(kù)進(jìn)行密碼設(shè)置。因?yàn)樵陧撁嬷幸部梢赃M(jìn)行對(duì)數(shù)據(jù)庫(kù)的操作,因此在系統(tǒng)中的權(quán)限設(shè)置是必要的,在JSP文件中,這一設(shè)置是在server.xml和web.x
69、ml中進(jìn)行安全域的設(shè)置,達(dá)到了權(quán)限訪問的效果。此系統(tǒng)采用管理員表示和鑒定的方法實(shí)現(xiàn)數(shù)據(jù)庫(kù)的安全,此安全管理措施并不在前臺(tái)開發(fā)工具中實(shí)現(xiàn),而是在后臺(tái)數(shù)據(jù)庫(kù)中實(shí)現(xiàn)。在登錄數(shù)據(jù)庫(kù)時(shí),系統(tǒng)讓管理員表示自己的身份,不同的管理員權(quán)限不同,系統(tǒng)進(jìn)行核實(shí),鑒別此管理員是否為合法用戶,若是,系統(tǒng)進(jìn)一步核實(shí)用戶,通常要求用戶輸入口令,系統(tǒng)和對(duì)用戶口令以鑒別用戶身份。服務(wù)器的安全也是通過用戶在登錄服務(wù)器時(shí)輸入合法的用戶名和密碼來實(shí)現(xiàn)的。這是一種簡(jiǎn)單可行的方法
70、,實(shí)現(xiàn)起來比較方便。采用安全管理措施主要是為了防止沒有修改權(quán)限的用戶無意間修改了數(shù)據(jù),因此采用用戶標(biāo)識(shí)和鑒定的安全管理措施就能夠保障數(shù)據(jù)庫(kù)的安全性。</p><p> 第四章 新聞管理系統(tǒng)詳細(xì)設(shè)計(jì)</p><p> 詳細(xì)設(shè)計(jì)階段確定具體實(shí)現(xiàn)目標(biāo)系統(tǒng)功能的方法,其目標(biāo)不僅僅是邏輯上正確的實(shí)現(xiàn)每個(gè)模塊的功能,更重要的是設(shè)計(jì)出的處理過程應(yīng)該簡(jiǎn)明。</p><p>
71、<b> §4.1 目的</b></p><p> 在經(jīng)過前面對(duì)新聞管理系統(tǒng)進(jìn)行了全面的需求分析過程和詳細(xì)的功能模塊分析后,在詳細(xì)設(shè)計(jì)階段將討論如何具體實(shí)現(xiàn)系統(tǒng)中的每個(gè)功能模塊,以及實(shí)現(xiàn)各個(gè)具體功能的方法及其思想。</p><p> §4.2 服務(wù)器的配置</p><p> 此系統(tǒng)采用了Tomcat 5.0作為服
72、務(wù)器。Tomcat 是Jakarta 的旗艦產(chǎn)品。Jakarta 的目標(biāo)是提供一個(gè)基于Java 平臺(tái)的商業(yè)標(biāo)準(zhǔn)的服務(wù)器。作為旗艦產(chǎn)品,Tomcat 嚴(yán)格遵守Java Servlet 2.4 和JavaServer Pages 2.0 規(guī)范。</p><p> Jakarta Tomcat的日益流行是無可爭(zhēng)辯的,它不但是Sun公司Servlet和JSP規(guī)范的參考實(shí)現(xiàn),也是世界上使用最為廣泛的Servlet和JSP
73、容器。它正被應(yīng)用在成百上千的Web站點(diǎn),不管是個(gè)人網(wǎng)站、非贏利組織網(wǎng)站,還是商務(wù)網(wǎng)站,它的表現(xiàn)都非常出色。</p><p> 安裝Tomcat首先要安裝JDK。安裝好了Tomcat就要對(duì)它進(jìn)行配置,環(huán)境變量的配置是在“我的電腦——屬性——高級(jí)——環(huán)境變量中,添加如下:TOMCAT_HOME C:\Tomcat 5.0;</p><p> path c:\j2sdk1.4.2\bi
74、n;JAVA_HOME c:\j2sdk1.4.2;</p><p> CLASSPATH c:\j2sdk1.4.2\lib\tools.jar</p><p> 設(shè)置好了后,打開http://localhost 看能不能正確顯示主頁,如果能,則證明安裝配置成功了。</p><p> §4.3 數(shù)據(jù)庫(kù)的安裝和配置</p><
75、p> MySQL是是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。MysQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)實(shí)現(xiàn)其功能的,它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫(kù)組成。SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲(chǔ)、更新和存取信息更容易。MySQL主要特點(diǎn)是快速、健壯和易用。</p><p> MySQL的優(yōu)點(diǎn)主要有:</p><p> 1).它使用的核心線程是完全多線程,支持
76、多處理器。 </p><p> 2.有多種列類型:1、2、3、4、和8字節(jié)長(zhǎng)度自有符號(hào)/無符號(hào)整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、和ENUM類型。 </p><p> 3).它通過一個(gè)高度優(yōu)化的類庫(kù)實(shí)現(xiàn)SQL函數(shù)庫(kù)并像他們能達(dá)到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。
77、沒有內(nèi)存漏洞。 </p><p> 4).全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查詢中混來自不同數(shù)據(jù)庫(kù)的表。 </p><p> 5).支持ANSI SQL的LEFT 0UTER JOIN和ODBC。 </p><
78、p> 6).所有列都有缺省值。你可以用INSERT插入一個(gè)表列的子集,那些沒用明確給定值的列設(shè)置為他們的決省值。</p><p> 7). MySQL可以工作在不同的平臺(tái)上。支持C、C++、Java、Perl、PHP、Python和TCL API。</p><p> 安裝數(shù)據(jù)庫(kù):把mysql-5.0.1-alpha-snapshot-win-noinstall.zip解壓縮后將
79、文件夾中的所有文件拷貝到c:\mysql目錄下,然后進(jìn)入命令提示符窗口,再到c:\mysql\bin目錄下輸入命令:mysqld-nt -install此時(shí)如果提示安裝成功,則證明mysql安裝成功。</p><p> 安裝成功后,就要啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)。進(jìn)入管理工具中的服務(wù)看看mysql是否在服務(wù)項(xiàng)目中,如果在則啟動(dòng)mysql服務(wù),如果在啟動(dòng)的過程中出現(xiàn)了mysql 1067錯(cuò)誤,服務(wù)被中斷,此時(shí)檢查計(jì)算機(jī)的防
80、火墻是否開著,如果開著則關(guān)掉防火墻,在從新啟動(dòng)mysql服務(wù),就可以啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)了。還有種方法也可以啟動(dòng)服務(wù):在命令提示窗口中,c:\mysql\bin目錄下輸入 net mysql start同樣也可以啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)。</p><p> 服務(wù)啟動(dòng)成功后,就可以建立連接了,則打開MySQL Control Center 或者用Navicat工具,然后新建一個(gè)數(shù)據(jù)庫(kù)服務(wù),選中file菜單中的new,然后在對(duì)話框
81、中輸入相應(yīng)的信息,數(shù)據(jù)庫(kù)服務(wù)建議按照如下填寫:Name :隨便填寫,Host Name : localhost User Name : root Password 不填,其余都采用默認(rèn)端口。最后按Apply按鈕,接著建路數(shù)據(jù)庫(kù),右鍵點(diǎn)擊Databases后選擇New Database 接著在對(duì)話框中輸入lz建立新聞管理系統(tǒng)的數(shù)據(jù)庫(kù)。</p><p> 數(shù)據(jù)庫(kù)的導(dǎo)入、導(dǎo)出是分別通過在命令提示窗口中c:\
82、mysql\bin目錄下輸入命令mysql lz<lz.sql和mysqldump lz>lz.sql。這里的lz只是一個(gè)示例。當(dāng)然也可以通過命令導(dǎo)入到處數(shù)據(jù)庫(kù)lz中的一個(gè)表或者幾個(gè)表mysql lz news<news.sql這里的.sql文件都必須在c:\mysql\bin目錄下的。</p><p> 要使數(shù)據(jù)庫(kù)與系統(tǒng)搭上連接必須把數(shù)據(jù)庫(kù)驅(qū)動(dòng)mysql-connector-java-3.1
83、.4-beta-bin.jar或者commons-collections-3.1.jar拷貝到 C:\Tomcat 5.0\common\lib目錄下。在進(jìn)行系統(tǒng)配置的時(shí)候就要把其中的配置文件以及程序中把驅(qū)動(dòng)寫為 com. mysql .jdbc.Driver。以便能調(diào)用驅(qū)動(dòng)程序。</p><p> §4.4功能模塊詳細(xì)設(shè)計(jì)</p><p> 在需求分析階段提到過,把新聞管理
84、系統(tǒng)分為了用戶的合法性、新聞管理、通知管理等基本功能模塊?,F(xiàn)在來對(duì)每個(gè)模塊的實(shí)現(xiàn)作詳細(xì)的分析。</p><p> §4.4.1 用戶登錄</p><p> 此模塊要實(shí)現(xiàn)的基本功能在需求分析階段已作了介紹,再此就不多作闡明。用戶登錄模塊的設(shè)計(jì),分為了頁面設(shè)計(jì)、文件的配置。</p><p> 頁面設(shè)計(jì),主要運(yùn)用了JSP制作動(dòng)態(tài)頁面,其頁面包含了用戶名、密
85、碼文本框,當(dāng)用戶登入時(shí),需要進(jìn)行用戶名、密碼的核對(duì)。核對(duì)通過用戶進(jìn)入,否則出現(xiàn)錯(cuò)誤頁面,錯(cuò)誤頁面的也是在配置文件中定義的。</p><p> 要實(shí)現(xiàn)此功能,首先需要在Tomcat配置文件server.xml中設(shè)置安全域,基本設(shè)置代碼如下:</p><p><b> 首先要定義源</b></p><p> <Resource name
86、="jdbc/XWauthority" type="javax.sql.DataSource"/></p><p> 然后是對(duì)參數(shù)的設(shè)置,</p><p> <ResourceParams name="jdbc/XWauthority"></p><p> 名字定為XWauthori
87、ty,因此localhost里的xinwentongzhi.xml文件也要做相應(yīng)的配置。因?yàn)樾侣勏到y(tǒng)使用的是lz數(shù)據(jù)庫(kù)中的數(shù)據(jù),因此應(yīng)做以下參數(shù)設(shè)置</p><p> <parameter></p><p> <name>url</name></p><p> <value>jdbc:mysql://localh
88、ost:3306/lz?autoconnect=true</value></p><p> </parameter></p><p> 關(guān)于server.xml文件的其他設(shè)置這里就不多作介紹了。</p><p> xinwentongzhi.xml應(yīng)如此設(shè)置,以便能正確鏈接數(shù)據(jù)庫(kù)和實(shí)現(xiàn)權(quán)限管理。</p><p>
89、 <Context docBase="xinwentongzhi" path="/xinwentongzhi" reloadable="true" workDir="work\Catalina\localhost\xinwentongzhi"></p><p><b> <Realm </b>
90、;</p><p> className="org.apache.catalina.realm.DataSourceRealm"dataSourceName="jdbc/XWauthority"debug="99"roleNameCol="Urole" userCredCol="Upass" userNameCo
91、l="Uname" userRoleTable="user_roles" userTable="users"/></p><p> <Resource auth="Container" name="jdbc/lz" type="javax.sql.DataSource"/>&
92、lt;/p><p> <ResourceParams name="jdbc/lz"></p><p> 進(jìn)行以上配置設(shè)置后,web.xml中就可以實(shí)現(xiàn)權(quán)限訪問的控制了。</p><p> <login-config></p><p> <auth-method>FORM</au
93、th-method></p><p> <realm-name>coa realm</realm-name></p><p> <form-login-config></p><p> <form-login-page>/usercheck.jsp</form-login-page></p
94、><p> <form-error-page>/err/usercheckerror.jsp</form-error-page></p><p> </form-login-config></p><p> </login-config></p><p> 這里設(shè)置了,出錯(cuò)登錄時(shí)的頁面和出錯(cuò)
95、時(shí)的頁面地址。</p><p><b> 安全域的設(shè)置如下:</b></p><p> <security-constraint></p><p> <web-resource-collection></p><p> <web-resource-name></web-r
96、esource-name></p><p> <!--Define the context-relative URL(s) to be protected --></p><p> <url-pattern>/yuanban/xinxijiaoliu/tongzhishenhe.jsp</url-pattern></p><
97、p> <url-pattern>/delmessage</url-pattern></p><p> <url-pattern>/yuanban/xinxijiaoliu/xinwenshenhe.jsp</url-pattern></p><p> <url-pattern>/delmessage</url-p
98、attern></p><p> </web-resource-collection></p><p> <auth-constraint></p><p> <!-- Anyone with one of the listed roles may access this area --></p><
99、;p> <role-name>admin</role-name></p><p> </auth-constraint></p><p> </security-constraint></p><p> 定義了哪些頁面只有具有什么身份的人才可以進(jìn)入。</p><p> §
100、;4.4.2 新聞管理模塊設(shè)計(jì)</p><p> 新聞管理模塊包括了新聞發(fā)布、新聞審核、新聞查詢、新聞顯示等小模塊。新聞發(fā)布要涉及有個(gè)完整的輸入界面的設(shè)計(jì),用戶輸入新聞的標(biāo)題、發(fā)送方、附件(圖片),及其新聞內(nèi)容。輸入后的數(shù)據(jù)通過JavaBean對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新,把內(nèi)容添加到數(shù)據(jù)庫(kù)中。然后通過新聞審核頁面進(jìn)行對(duì)新聞進(jìn)行審核通過、修改、刪除操作,經(jīng)過審核的新聞信息在數(shù)據(jù)庫(kù)中的BoolAud的值會(huì)變,如果BoolAu
101、d不為空,則表示新聞通過審核了,通過審核的信息可以直接顯示在新聞顯示頁面中,而沒有通過的則不回出現(xiàn)在新聞顯示頁面中。新聞查詢頁面主要是實(shí)現(xiàn)新聞的模糊查詢,按照日期、發(fā)送方、審核性、標(biāo)題進(jìn)行查詢,同樣也可以點(diǎn)擊詳細(xì)來查看新聞的具體內(nèi)容。</p><p> 具體實(shí)現(xiàn)上述功能的代碼及其說明如下:</p><p> 在Bean文件中對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接是通過DBCom.class來實(shí)現(xiàn)的,其中實(shí)現(xiàn)
102、的主要函數(shù):</p><p> public DBCom() {</p><p><b> try {</b></p><p> Class.forName(sDBDriver);</p><p> ctx = new InitialContext();</p><p> ds = (D
103、ataSource)ctx.lookup("java:comp/env/jdbc/lz");conn = ds.getConnection();</p><p> ("jdbc:mysql://192.168.3.209/os","root", "") ;</p><p><b> }</b
104、></p><p> catch (Exception e) {</p><p> date=new java.util.Date();</p><p> System.err.println("getconnecterror " +date+ e.getMessage()) ;</p><p><b&g
105、t; }</b></p><p><b> }</b></p><p><b> //查詢</b></p><p> public ResultSet executeQuery(String sql) {</p><p> rs = null ;</p><
106、p><b> try {</b></p><p> pstmt = conn.prepareStatement(sql) ;</p><p> rs = pstmt.executeQuery(sql) ;</p><p><b> }</b></p><p> catch (Exce
107、ption ex)</p><p><b> {</b></p><p> date=new java.util.Date();</p><p> System.err.println("executeQuery"+date+ ex.getMessage()) ;</p><p> Syste
108、m.err.println("aq.executeQuerystrSQL: " + sql) ;</p><p><b> }</b></p><p> return rs ;</p><p><b> }</b></p><p> 在messageBean.java中新
109、聞的更新是函數(shù)public int updateNews(String user,int NewsID,String NewsTopic,String ContrContent)實(shí)現(xiàn)的,,實(shí)現(xiàn)新聞的查詢函數(shù)public ResultSet selectNews();對(duì)新聞信息進(jìn)行刪除操作的函數(shù)public int delNews(int id,String user);</p><p> 在JSP文件中首先要載
110、入JavaBean文件才能調(diào)用Bean文件中的函數(shù),載入的方法如:<jsp:useBean id="dbcom" scope="page" class="tools.DBCom"/></p><p> 調(diào)用DBCom類,作用范圍是“page”,定義對(duì)象dbcom。在JSP文件中通過dbcom就可以調(diào)用DBCom中的函數(shù)來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。
111、</p><p> 新聞發(fā)布功能的具體實(shí)現(xiàn):新聞發(fā)布頁面主要要完成的功能是對(duì)判斷用戶輸入的信息完整否,如果輸入信息不完整,將有提示用戶某些信息還沒填好。如果有圖片附件的將進(jìn)行圖片粘貼,信息完整后,進(jìn)行發(fā)布,發(fā)布成功將有成功提示。</p><p> 完成判斷功能的是通過在JSP中使用JavaScript完成的,調(diào)用的是Script中的check_all函數(shù):</p><
112、;p><b> <script></b></p><p> function check_all()</p><p><b> {</b></p><p><b> }</b></p><p><b> </script><
113、;/b></p><p> 函數(shù)的具體實(shí)現(xiàn)這里不作詳細(xì)介紹,因?yàn)榭紤]到論文的表面美觀,這里以及以后涉及到代碼的部分,都只用代碼的主要函數(shù)和部分重要代碼作說明。</p><p> 粘貼附件功能是同過判斷xinwenfabu.jsp中的參數(shù)值(是否有附件)傳到xinwenfujian.jsp,通過xinwenfujian.jsp實(shí)現(xiàn)的附件粘貼功能。新聞發(fā)送是通過if(send !=
114、null && !send.equals(""))判斷,執(zhí)行的的新聞發(fā)送,如果信息完整,則有成功發(fā)送提示。</p><p> response.sendRedirect("SendNewsResult.jsp");</p><p> 新聞審核功能的具體實(shí)現(xiàn):在此模塊中你可以看到學(xué)院各個(gè)辦公室發(fā)布的,需要審核的新聞列表,對(duì)審核框進(jìn)行
115、選擇,然后你通過點(diǎn)擊“同意”來通過你想發(fā)布的新聞,通過點(diǎn)擊“刪除”來清除你不想發(fā)布的新聞。通過點(diǎn)擊“詳細(xì)”查看新聞的具體內(nèi)容。</p><p> 審核是通過改變數(shù)據(jù)庫(kù)中的BoolAud是否為空,來判斷是否通過審核,對(duì)數(shù)據(jù)庫(kù)的訪問是通過</p><p> <form action="../../delmessage?method=newsexam&toURL=xi
116、nwenshenhe.jsp</p><p> " method="POST" name="form1"></p><p> <td width="133"><input type="submit" name="newsagree" value=&quo
117、t;同意" onClick="return checkAll(form1);"></td></p><p> <td width="89"><input type="submit" name="newsdel" value="刪除" onClick="ret
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---新聞管理設(shè)計(jì)案例
- 畢業(yè)設(shè)計(jì)---校園新聞管理系統(tǒng)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----新聞發(fā)布及管理系統(tǒng)
- 《新聞發(fā)布系統(tǒng)》畢業(yè)設(shè)計(jì)
- 新聞發(fā)布系統(tǒng)畢業(yè)設(shè)計(jì)
- 新聞發(fā)布系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)—新聞發(fā)布系統(tǒng)
- 新聞網(wǎng)站畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--新聞發(fā)布系統(tǒng)的設(shè)計(jì)
- 施工組織案例畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于php的新聞管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 新聞發(fā)布系統(tǒng)-畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---新聞網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----新聞自動(dòng)提取系統(tǒng)
- jsp新聞發(fā)布系統(tǒng) 畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文 畢業(yè)設(shè)計(jì)管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì) 畢業(yè)設(shè)計(jì)(論文)管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--畢業(yè)設(shè)計(jì)選題管理系統(tǒng)
- [畢業(yè)設(shè)計(jì)資料]caxa案例訓(xùn)練
- 畢業(yè)設(shè)計(jì)--畢業(yè)設(shè)計(jì)選題管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論