




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
新聞管理設(shè)計案例第一章緒論 2§1.1意義 2§1.2目標(biāo) 2§1.3背景和現(xiàn)實狀況 2第二章新聞管理系統(tǒng)問題描述 3§2.1問題提出 3§2.2研究工作基礎(chǔ)前提 3§2.2.1軟件體系結(jié)構(gòu)及環(huán)境 3§2.2.2B/S瀏覽器/服務(wù)器結(jié)構(gòu)介紹 3§2.3 系統(tǒng)需求 4§2.4性能需求 6§2.5接口需求 6第三章新聞管理系統(tǒng)概要設(shè)計 6§3.1設(shè)計思想 6§3.2模塊設(shè)計方案 9§3.2.1用戶登錄 9§3.2.2新聞管理 10§3.2.3通知管理 11§3.2.4權(quán)限修改 12§3.4系統(tǒng)示圖 13§3.5數(shù)據(jù)庫設(shè)計 15第四章新聞管理系統(tǒng)具體設(shè)計 18§4.1目標(biāo) 18§4.2服務(wù)器配置 18§4.3數(shù)據(jù)庫安裝和配置 18§4.4功效模塊具體設(shè)計 19§4.4.1用戶登錄 19§4.4.2新聞管理模塊設(shè)計 21§4.4.3通知管理模塊設(shè)計 23§4.4.4用戶密碼修改 25§4.4.5權(quán)限管理 26§4.5程序步驟圖 27第五章新聞管理系統(tǒng)測試 30§5.1測試環(huán)境 30§5.2測試標(biāo)準(zhǔn) 30§5.3測試方案 30§5.3.1系統(tǒng)功效測試 30§5.3.2系統(tǒng)性能測試 31§5.4測試結(jié)果 31結(jié)論 31附錄 32第一章緒論§1.1意義在Internet飛速發(fā)展今天,互聯(lián)網(wǎng)成為大家快速獲取、公布和傳輸信息關(guān)鍵渠道,它在大家政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著關(guān)鍵作用。Internet上公布信息關(guān)鍵是經(jīng)過網(wǎng)站來實現(xiàn),獲取信息也是要在Internet“海洋”中根據(jù)一定檢索方法將所需要信息從網(wǎng)站上下載下來。所以網(wǎng)站建設(shè)在Internet應(yīng)用上地位顯而易見,它已成為政府、企機(jī)關(guān)信息化建設(shè)中關(guān)鍵組成部分,從而倍受大家重視。為了愈加好、有效率進(jìn)行學(xué)院新聞、通知公布和管理,特提出了學(xué)院新聞管理系統(tǒng)建設(shè)。§1.2目標(biāo)在學(xué)院日常辦公事務(wù)中,建立起有一個新聞管理系統(tǒng)。經(jīng)過此系統(tǒng),學(xué)院能夠地公布、審核、更新新聞和通知,師生可方便利地瀏覽,而且能對用戶信息進(jìn)行修改、添加、刪除操作來對用戶進(jìn)行有效、快捷管理。此系統(tǒng)建立后,用戶(一般用戶、管理員)能夠進(jìn)行以上操作,對學(xué)院新聞、通知信息進(jìn)行管理,而且管理員還含有對登陸用戶信息進(jìn)行修改、添加刪除等操作?!?.3背景和現(xiàn)實狀況為了學(xué)院工作順利進(jìn)行,信息快速公布,通知立即傳達(dá)提出了新聞管理系統(tǒng)建設(shè)。在現(xiàn)有管理系統(tǒng)大全部采取了含有很好安全性、移植性JSP網(wǎng)絡(luò)編程技術(shù)進(jìn)行編碼實現(xiàn)。第二章新聞管理系統(tǒng)問題描述§2.1問題提出 伴隨現(xiàn)在學(xué)院管理機(jī)制完善,學(xué)院經(jīng)過網(wǎng)站能夠展示學(xué)院風(fēng)采,公布最新動態(tài)信息,和學(xué)生、老師進(jìn)行信息交流和溝通,和其它學(xué)院建立聯(lián)絡(luò)等。其中新聞管理系統(tǒng)是組成學(xué)院網(wǎng)站一個關(guān)鍵組成部分,能夠用來動態(tài)公布相關(guān)學(xué)院新工作安排,有利于學(xué)院工作開展;還能夠公布對本學(xué)院學(xué)生有益相關(guān)新聞信息和學(xué)院風(fēng)采展現(xiàn)。§2.2研究工作基礎(chǔ)前提§2.2.1軟件體系結(jié)構(gòu)及環(huán)境對實現(xiàn)目標(biāo)系統(tǒng)所利用技術(shù)構(gòu)架描述:該系統(tǒng)采取Browser/Server(B/S)瀏覽器/服務(wù)器結(jié)構(gòu)為軟件體系結(jié)構(gòu)。這種結(jié)構(gòu)最大優(yōu)點是:用戶機(jī)統(tǒng)一采取瀏覽器,這不僅讓用戶使用方便,而且使得用戶機(jī)端不存在維護(hù)問題。當(dāng)然,軟件開公布和維護(hù)工作不是自動消失了,而是轉(zhuǎn)移到了Web服務(wù)器端。在Web服務(wù)器端,程序員要編寫響應(yīng)頁面。比如用JSP語言查詢數(shù)據(jù)庫,將結(jié)果保留在Web頁面中,再由瀏覽器顯示出來。運行環(huán)境:Tomcat服務(wù)器數(shù)據(jù)庫: MySQL軟件環(huán)境:Windowsprofessional、DreamweaverMX、JBuilder.硬件環(huán)境:PC機(jī)§2.2.2B/S瀏覽器/服務(wù)器結(jié)構(gòu)介紹B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是伴隨Internet技術(shù)興起,對C/S結(jié)構(gòu)一個改變或改善結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全經(jīng)過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),不過關(guān)鍵事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu),關(guān)鍵是利用了不停成熟WWW瀏覽器技術(shù),結(jié)合瀏覽器多個Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)強大功效,并節(jié)省了開發(fā)成本,是一個全新軟件系統(tǒng)結(jié)構(gòu)技術(shù)。伴隨Windows98/Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)C/S結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮筮M(jìn)步。
B/S結(jié)構(gòu)采取星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。前者特點是安全、快捷、正確。后者則含有節(jié)省投資、跨地域廣優(yōu)點。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部經(jīng)過防火墻接入Internet,再整個網(wǎng)絡(luò)采取TCP/IP協(xié)議。網(wǎng)絡(luò)結(jié)構(gòu)圖6所表示:圖2.1B/S網(wǎng)絡(luò)結(jié)構(gòu)圖§2.3 系統(tǒng)需求依據(jù)用戶具體要求,決定了此系統(tǒng)功效模塊,和功效特點。新聞管理系統(tǒng)功效特點:(1)操作簡單、界面友好:完全控件式頁面布局,使得新聞/通知錄入工作更簡便;很多選項包含新聞/通知類別、起源部門等只需關(guān)鍵點擊鼠標(biāo)就能夠完成;另外,跟蹤出現(xiàn)提醒信息也讓用戶隨時清楚自己操作情況。
(2)即時可見:對新聞/通知處理(包含錄入、修改、刪除)將立即在主頁對應(yīng)欄目顯示出來,達(dá)成"即時公布、即時見效"功效。(3)功效完善:包含常見網(wǎng)站新聞/通知管理各個方面:新聞/通知公布、瀏覽、刪除、修改、檢索等各個方面,完整地實現(xiàn)了網(wǎng)站對即時新聞管理要求。
(4)方便移植:針對不一樣單位,只需要稍作修改就能夠開發(fā)出適合本企業(yè)特點網(wǎng)站新聞管理系統(tǒng)!根據(jù)系統(tǒng)開發(fā)基礎(chǔ)見解對系統(tǒng)進(jìn)行分解,從內(nèi)容上可對網(wǎng)站作以下劃分:系統(tǒng)登錄:該模塊負(fù)責(zé)將用戶分為一般用戶和注冊用戶來實現(xiàn)用戶權(quán)限管理。(1)、新聞管理:新聞公布:該模塊是登陸者進(jìn)行新聞編輯,包含標(biāo)題、類型、起源部門字段及公布日期等信息,然后出現(xiàn)在新聞審核頁面上。
新聞審核:該模塊負(fù)責(zé)列出全部未經(jīng)過新聞信息,包含標(biāo)題、類型、起源部門字段及公布日期,每條新聞標(biāo)題被做成一個超鏈接,點擊它們就能跳轉(zhuǎn)頁面進(jìn)行新聞閱讀,有權(quán)限登陸者能夠?qū)ζ溥M(jìn)行經(jīng)過審核、刪除等功效。
新聞閱讀:在其它頁面中點擊標(biāo)題鏈接即進(jìn)入新聞閱讀頁面,此時,每條新聞具體信息將被取出,包含內(nèi)容、標(biāo)題、關(guān)鍵字等,并按攝影對固定格式放置在頁面不一樣區(qū)域,全部新聞使用大致相同頁面布局,只是各字段對應(yīng)內(nèi)容不一樣而已,另外,頁面其它位置,能夠動態(tài)放置其它元件,如網(wǎng)站標(biāo)志logo、頁面廣告banner等鏈接圖片,這么能夠很輕易地實現(xiàn)圖文并茂閱讀效果。而且有權(quán)限人能夠經(jīng)過此界面進(jìn)行新聞修改。 新聞查詢:該模塊提供了新聞查詢功效,輸入待查找內(nèi)容及選定分類信息能夠快速地找到符合條件新聞,并輸出查詢結(jié)果。新聞顯示:該模塊是顯示在頁面上會自動流動顯示新聞題目,根據(jù)時間來排列次序。點擊標(biāo)題后,會出現(xiàn)新聞全部信息。 (2)、通知管理 通知公布:該模塊是登陸者進(jìn)行通知編輯,包含標(biāo)題、類型、起源部門字段及公布日期等信息,然后出現(xiàn)在通知審核頁面上。
通知審核:該模塊負(fù)責(zé)列出全部未經(jīng)過通知信息,包含標(biāo)題、附件、類型、起源部門字段及公布日期,每條通知標(biāo)題被做成一個超鏈接,點擊它們就能跳轉(zhuǎn)頁面進(jìn)行通知閱讀,有權(quán)限登陸者能夠?qū)ζ溥M(jìn)行經(jīng)過審核、刪除等功效。
通知閱讀:在其它頁面中點擊標(biāo)題鏈接即進(jìn)入通知閱讀頁面,此時,每條通知具體信息將被取出,包含內(nèi)容、附件、標(biāo)題、關(guān)鍵字等,并按攝影對固定格式放置在頁面不一樣區(qū)域,全部通知使用大致相同頁面布局,只是各字段對應(yīng)內(nèi)容不一樣而已,另外,頁面其它位置,能夠動態(tài)放置其它元件,如網(wǎng)站標(biāo)志logo、頁面廣告banner等鏈接圖片,這么能夠很輕易地實現(xiàn)圖文并茂閱讀效果。而且有權(quán)限人能夠經(jīng)過此界面進(jìn)行通知修改。 通知查詢:該模塊提供了通知查詢功效,輸入待查找內(nèi)容及選定分類信息能夠快速地找到符合條件通知,并輸出查詢結(jié)果。通知顯示:該模塊是顯示在頁面上會自動流動顯示通知題目,根據(jù)時間來排列次序。點擊標(biāo)題后,會出現(xiàn)通知全部信息。(3)、用戶密碼修改此模塊關(guān)鍵要滿足登陸用戶修改自己密碼。首先用戶要查對本身原有密碼,假如查對經(jīng)過則會在用戶數(shù)據(jù)庫中密碼改為輸入新密碼。(4)、權(quán)限管理 此模塊只針對于含有管理員身份登陸者,關(guān)鍵要完成功效有用戶信息查詢、用戶權(quán)限修改、和添加用戶。用戶信息查詢,會在頁面上顯示用戶用戶名、用戶角色等信息;添加是經(jīng)過頁面添加用戶名、用戶角色、用戶密碼等信息,添加成功后,將在數(shù)據(jù)庫中存在該用戶。新聞管理系統(tǒng)功效結(jié)構(gòu)圖以下:用戶登錄判定權(quán)限用戶登錄判定權(quán)限新聞/通知公布新聞/通知閱讀新聞/通知查詢新聞/通知修改新聞/通知刪除權(quán)限管理密碼修改 圖2.2新聞管理系統(tǒng)功效結(jié)構(gòu)圖§2.4性能需求見《軟件專業(yè)試驗》課程指導(dǎo)書§2.5接口需求用戶接口:
本系統(tǒng)用戶通常需要經(jīng)過終端進(jìn)行操作,進(jìn)入主界面后點擊對應(yīng)窗口,分別進(jìn)入相對應(yīng)界面(如:輸入界面、輸出界面),使用方便、直觀。軟件接口:windowsprofessional第三章新聞管理系統(tǒng)概要設(shè)計該部分要說明新聞管理系統(tǒng)實現(xiàn)基礎(chǔ)方案。依據(jù)以上需求分析和用戶要求,該系統(tǒng)要實現(xiàn)用戶登錄時要進(jìn)行查對用戶正當(dāng)性、新聞管理、通知管理等基礎(chǔ)功效模塊§3.1設(shè)計思想本系統(tǒng)采取了面向?qū)ο缶幊陶Z言(java)進(jìn)行基層編程,頁面編程采取了JSP技術(shù)。系統(tǒng)采取跨平臺性能很好Java編程語言,采取JSP、Servlet、JavaBean、JavaScript技術(shù)。使用JSP、Servlet、JavaScript負(fù)責(zé)瀏覽器表現(xiàn)層實現(xiàn);JSP實現(xiàn)查詢、數(shù)據(jù)翻頁顯示等簡單邏輯操作;Servlet實現(xiàn)數(shù)據(jù)添加、刪除、修改等復(fù)雜邏輯操作;JavaBean負(fù)責(zé)數(shù)據(jù)庫操作、Web頁面漢字顯示等可重用操作實現(xiàn)。Java是一個由sun企業(yè)開發(fā)編程語言。使用它可在各式各樣不一樣種機(jī)器、不一樣種操作平臺下網(wǎng)絡(luò)環(huán)境中開發(fā)軟件,不管使用是哪一個www瀏覽器、哪一個計算機(jī)、哪一個操作系統(tǒng).只要www瀏覽器注明“支持java語言“就能夠看到生動頁面。java正在逐步成為Internet應(yīng)用關(guān)鍵開發(fā)語言。它根本改變了應(yīng)用軟件開發(fā)模式、帶來了Pc機(jī)一次技術(shù)革命,為快速發(fā)展信息世界增添了新活力。使用java語言關(guān)鍵有以下特點:1)、簡單性Java語言是一個面向?qū)ο笳Z言,它經(jīng)過提供最基礎(chǔ)方法來完成指定任務(wù),只需了解部分基礎(chǔ)概念,就能夠用它編寫出適合于多種情況應(yīng)用程序。Java略去了運算符重載、多重繼承等模糊概念、而且經(jīng)過實現(xiàn)自動垃圾搜集.大大簡化了程序設(shè)計者內(nèi)存管理。2)、面向?qū)ο筇卣鱆ava話言設(shè)計集中于對象及其接口上,它提供了簡單類機(jī)制和動態(tài)接口模型。對象中封裝了它狀態(tài)變量和對應(yīng)方法,實現(xiàn)了模塊化和信息隱藏;而類則提供了一類對象原型,而且經(jīng)過繼承機(jī)制,子類能夠使用父類所提供方法,實現(xiàn)了代碼復(fù)用。3)、分布性處理Java是面向網(wǎng)絡(luò)語言。經(jīng)過Java提供基礎(chǔ)類庫能夠處理TCP/IP協(xié)議.用戶能夠經(jīng)過URL地址在網(wǎng)絡(luò)上很方便地訪問其它對象。4)健壯性Java在編譯和運行程序時、全部要對可能出現(xiàn)問題進(jìn)行檢驗,以消除錯誤產(chǎn)生。它提供自動垃圾搜集來進(jìn)行內(nèi)存管理,預(yù)防程序員在管理內(nèi)存時產(chǎn)生錯誤。使用集成面向?qū)ο罄馓幚頇C(jī)制,在編譯時,Java會提醒可能出現(xiàn)但末被處理例外,幫助程序員正確地進(jìn)行選擇以預(yù)防系統(tǒng)崩消。另外,Java在編譯時還可捕捉類型申明中很多常見錯誤,預(yù)防動態(tài)運行時不匹配問題出現(xiàn)。5)、安全性用于網(wǎng)絡(luò)、分布式計算環(huán)境下Java必需要能夠預(yù)防病毒入侵。Java不支持指針、一切對內(nèi)存訪問全部必需經(jīng)過對象實例變量來實現(xiàn),這么就預(yù)防程序員使用欺騙手段訪問對象私有組員,同時也避免了指針操作中輕易產(chǎn)生錯誤。6)、體系結(jié)構(gòu)中立Java解釋器生成和體系結(jié)構(gòu)無關(guān)字節(jié)碼指令,只要安裝了Java運行時系統(tǒng),Java程序就可在任意處理器上運行這些字節(jié)碼指令對應(yīng)于Java虛擬機(jī)中表示,Java解釋器得到字節(jié)碼后.對它進(jìn)行轉(zhuǎn)換.使之能夠在不問平臺運行。7)可移植性和平臺無關(guān)特征使Java程序能夠方便地被移植到網(wǎng)絡(luò)上不一樣機(jī)器。同時,Java類庫中也實現(xiàn)了和不一樣平臺接口,使這些類庫能夠從一個平臺移植到另一個平臺。另外,Java編譯器是由Java語言實現(xiàn),Java運行時系統(tǒng)由標(biāo)準(zhǔn)c實現(xiàn),這使得Java系統(tǒng)本身也含有可移植性。JSP現(xiàn)在在國外已經(jīng)得到廣泛應(yīng)用,在中國,因為Java語言普及性不夠,所以還未得到重用,不過越來越多企業(yè)和個人開始關(guān)注JSP應(yīng)用前景,中國也已經(jīng)出現(xiàn)了很多JSP做網(wǎng)頁和網(wǎng)站,JSP正日益火瀑、大有替換其它網(wǎng)頁編程語言趨勢。 JSP規(guī)范是web服務(wù)器、應(yīng)用服務(wù)器開發(fā)者、交易系統(tǒng)、和開發(fā)工具供給商等各方廣泛合作結(jié)果。其特點是: ●能運行在任何web或應(yīng)用程序服務(wù)器上。●能分離應(yīng)用程序邏輯和頁面顯示。●能快速地開發(fā)和測試●能簡化開發(fā)基于Web交互式應(yīng)用程序過程。JSP相對于現(xiàn)在流行其它網(wǎng)頁制作技術(shù)(如:ASP)相比較含有了很多優(yōu)越性:1)、JSP技術(shù)基于平臺和服務(wù)器相互獨立,輸入支持來自廣泛,專門,多種工具包,服務(wù)器組件和數(shù)據(jù)庫產(chǎn)品開發(fā)商所提供。相比之下,ASP技術(shù)關(guān)鍵依靠微軟技術(shù)支持。2)、平臺和服務(wù)器獨立性JSP技術(shù)依附于一次寫入以后,能夠運行在任何含有符合JavaTM語法結(jié)構(gòu)環(huán)境。取而代之過去依附于單一平臺或開發(fā)商,JSP技術(shù)能夠運行在任何WEB服務(wù)器上而且支持來自多家開發(fā)商提供多種多樣工具包。3)、開放開發(fā)過程,開放原代碼,SUN應(yīng)用JAVA社團(tuán)性過程開發(fā)JSP技術(shù),使得JSP更含有友好性。而ASP技術(shù)僅依靠微軟本身推進(jìn),其發(fā)展是建立在獨占,封閉開發(fā)過程基礎(chǔ)之上。4)、從開發(fā)人員角度來看:ASP和JSP技術(shù)全部能使開發(fā)者實現(xiàn)經(jīng)過點擊網(wǎng)頁中組件制作交互式,動態(tài)內(nèi)容和應(yīng)用程序WEB站點。ASP僅支持組件對象模型COM,而JSP技術(shù)提供組件全部是基于JavabeansTM技術(shù)或JSP標(biāo)簽庫。而且JSP標(biāo)簽可擴(kuò)充,其跨越平臺可重用性強。5)、在企業(yè)級JAVABEANS技術(shù)支持下,JSP網(wǎng)頁經(jīng)過利用高級,對象映射方法訪問數(shù)據(jù)庫,使對數(shù)據(jù)庫訪問更有效。所以此系統(tǒng)中,選擇利用JSP技術(shù)和Servlets、JavaBean、JavaScript進(jìn)行新聞管理系統(tǒng)開發(fā),更能表現(xiàn)現(xiàn)代技術(shù)優(yōu)越性。JSP技術(shù)能讓W(xué)eb開發(fā)員和網(wǎng)頁設(shè)計員快速地開發(fā)輕易維護(hù)動態(tài)Web主頁。用JSP開發(fā)Web應(yīng)用是跨平臺,即能在Linux下運行,也能在其它操作系統(tǒng)上運行。JSP技術(shù)使用Java編程語言編寫類XMLtags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁處理邏輯。網(wǎng)頁還能經(jīng)過tags和scriptlets訪問存在于服務(wù)端資源(比如JavaBesns)應(yīng)用邏輯。JSP將網(wǎng)頁邏輯和網(wǎng)頁設(shè)計和顯示分離,支持可重用基于組件設(shè)計,使基于Web應(yīng)用程序開發(fā)變得快速和輕易。JSP技術(shù)是Servlet技術(shù)擴(kuò)展。Servlet是平臺無關(guān),100%純JavaJava服務(wù)端組件。經(jīng)過JSP來進(jìn)行數(shù)據(jù)庫訪問不需要太多引導(dǎo)。問題是怎樣使開發(fā)者能夠接收Web程序數(shù)據(jù)庫訪問比傳統(tǒng)當(dāng)?shù)豋LAP系統(tǒng)數(shù)據(jù)庫訪問愈加含有吸引力,而且使她們認(rèn)識到,整齊和簡明數(shù)據(jù)訪問方法才是關(guān)鍵。在這一點上,JSP能夠很好地處理,因為它能夠和JavaDatabaseConnectivityAPI(JDBC)很好兼容。你能夠?qū)DBC包含在JSP代碼中,而且JDBC能夠傳輸申明實施類似數(shù)據(jù)庫命令,只要你能夠正確地使用JDBC驅(qū)動程序。JDBCAPI不會直接地和數(shù)據(jù)庫進(jìn)行交流。其中驅(qū)動程序完成實際連接,你能夠在賣方Web站點上下載這些驅(qū)動程序。除此之外,還有四種JDBC驅(qū)動程序類型,假如你決定使用JDBC,你需要正確地選擇最為適合你需要那種類型。你將使用一個DriverManager類來處理基于驅(qū)動程序連接。你能夠使用一個名為getConnectionDriverManager方法來建立你數(shù)據(jù)庫連接。你還能夠使用它URL參數(shù)來識別數(shù)據(jù)庫:publicstaticConnectiongetConnection(jdbc:odbc:nameOfDatabase)現(xiàn)在,告訴DriverManager相關(guān)驅(qū)動程序信息(應(yīng)該在你classpath中):Class.forName(“OfJDBCDriver”);你已經(jīng)將數(shù)據(jù)庫連接到JSP程序,但你仍然不能夠?qū)嵤┮粋€數(shù)據(jù)庫命令。處理這一點,你能夠在JSP代碼中生成申明以建立數(shù)據(jù)庫命令,以下所表示:publicStatementcreateStatement(intresultSetType,intresultSetConcurrency)其中參數(shù)能夠讓你控制從數(shù)據(jù)庫查詢得到結(jié)果。當(dāng)使用第一個參數(shù)時,能夠在程序中看到結(jié)果;當(dāng)使用第二個參數(shù)時,你能夠經(jīng)過查詢來更新數(shù)值。申明(Statement)就是SQL命令。PreparedStatement就是SQL申明,你能夠經(jīng)過其中參數(shù)來控制程序過程。CallableStatement是用于訪問SQL存放程序。你以上申明接口使你能夠使用部分方法來實施SQL申明。ResultSet所做就是訪問從查詢得到數(shù)據(jù),所以你能夠在JSP程序中使用這些數(shù)據(jù)。經(jīng)過將JSP程序分解成單一、功效顯著頁面,和在任何給定頁面中實施一個單一數(shù)據(jù)庫操作,能夠很大程度地簡化你數(shù)據(jù)庫操作,和建立能夠用于以后程序開發(fā)頁面,即使你將SQL嵌入到這些頁面JDBC中。為了使得你JSP數(shù)據(jù)庫訪問愈加整齊和輕易維護(hù),在JSP代碼中嵌入JDBC,和經(jīng)過發(fā)送SQL命令和數(shù)據(jù)庫通訊,不過,它要求在不能增加代碼復(fù)雜程度下,建立經(jīng)過接口SQL命令程序。當(dāng)你SQL處理需要提升靈活性時候,你能夠深入地分離你數(shù)據(jù)庫接口代碼,以清潔你JSP程序?!?.2模塊設(shè)計方案各個模塊功效實現(xiàn)全部是在具體設(shè)計中實現(xiàn),這里只是提出了實現(xiàn)大致方案,各個模塊實現(xiàn)方案全部是經(jīng)過和以前系統(tǒng)比較后,作了優(yōu)化得出。系統(tǒng)功效模塊圖:新聞管理系統(tǒng)新聞管理系統(tǒng) 圖3.1新聞管理系統(tǒng)功效模塊圖§3.2.1用戶登錄用戶登錄時所用用戶名和密碼全部是存放在數(shù)據(jù)庫中users、user_roles兩個表中,當(dāng)用戶輸入用戶名和密碼后,點“登入”按鈕,程序?qū)⒆詣訖z驗數(shù)據(jù)庫中數(shù)據(jù),以判定用戶是否正當(dāng),正當(dāng)則進(jìn)入新聞管理系統(tǒng)主界面,實現(xiàn)此功效要經(jīng)過對server.xml文件進(jìn)行安全域配置,還要對web.xml進(jìn)行權(quán)限設(shè)置。對于依據(jù)登錄者身份(user_roles)不一樣,所進(jìn)入界面和所要操作,除了管理員身份有新聞審核、通知審核和權(quán)限管理頁面外,其它角色登錄后只有新聞公布、通知公布、新聞/通知查詢、新聞/通知顯示4個頁面。且在查看具體信息時候,管理員身份能夠進(jìn)行修改、刪除新聞或通知。相關(guān)此功效實現(xiàn)還有一個方案能夠?qū)崿F(xiàn)。在web.xml安全域設(shè)置中把新聞審核和通知審核進(jìn)行安全域控制,只能有管理員身份登錄者才能進(jìn)入,當(dāng)其它身份點擊此兩個頁面時候,將會出現(xiàn)犯錯頁面提醒“你沒有權(quán)限”。用戶密碼用戶密碼角色 圖3.2用戶ER圖§3.2.2新聞管理 此模塊包含了新聞公布、新聞審核、新聞查詢、新聞顯示幾大模塊。關(guān)鍵完成功效是對新聞信息進(jìn)行編輯、公布,公布信息經(jīng)過新聞審核頁面進(jìn)行新聞審核經(jīng)過后會出現(xiàn)在新聞查詢頁面“已審核”新聞信息中和新聞顯示頁面中。新聞查詢可分日期查詢、發(fā)送方查詢、標(biāo)題查詢、審核性查詢。經(jīng)過某一條件進(jìn)行查詢能夠所需信息。在查詢頁面、審核頁面中也能夠進(jìn)行新聞具體信息查詢。具體功效模塊圖以下:新聞管理模塊新聞管理模塊 圖3.3新聞管理功效模塊圖新聞信息備注新聞信息備注審核人姓名屬性附件編號投稿內(nèi)容投稿時間投稿人姓名序號標(biāo)題圖3.4新聞管理模塊E-R圖§3.2.3通知管理 此模塊包含了通知公布、通知審核、通知查詢、通知顯示幾大模塊。關(guān)鍵完成功效是對通知信息進(jìn)行編輯、公布,公布信息經(jīng)過通知審核頁面進(jìn)行通知審核經(jīng)過后會出現(xiàn)在通知查詢頁面“已審核”通知信息中和通知顯示頁面中。通知查詢可分日期查詢、發(fā)送方查詢、標(biāo)題查詢、審核性查詢。經(jīng)過某一條件進(jìn)行查詢能夠所需信息。在查詢頁面、審核頁面中也能夠進(jìn)行通知具體信息查詢。具體功效模塊圖以下:通知管理模塊通知管理模塊 圖3.5通知管理功效模塊圖通知信息備注通知信息備注投稿時間內(nèi)容投稿人姓名發(fā)送單位發(fā)送時間類別標(biāo)題附件編號審核人姓名 圖3.6通知管理模塊E-R圖§3.2.4權(quán)限修改 此模塊要關(guān)鍵要完成功效有用戶信息查詢、用戶權(quán)限修改、和添加用戶。用戶信息查詢,會在頁面上顯示用戶用戶名、用戶角色等信息;添加是經(jīng)過頁面添加用戶名、用戶角色、用戶密碼等信息,添加成功后,將在數(shù)據(jù)庫中存在該用戶。功效模塊圖以下:權(quán)限管理權(quán)限管理 圖3.7權(quán)限管理功效模塊圖注:因為在前面已經(jīng)對密碼修改部分進(jìn)行了功效敘述,此模塊功效單一,所以在此不作過多敘述了,具體實現(xiàn)將在下章進(jìn)行具體功效設(shè)計。§3.4系統(tǒng)示圖在一個系統(tǒng)中,數(shù)據(jù)流向是很關(guān)鍵,所以此系統(tǒng)采取了數(shù)據(jù)流圖來描述整個新聞管理系統(tǒng)數(shù)據(jù)流向。數(shù)據(jù)流圖描繪系統(tǒng)邏輯模型,圖中沒有任何具體物理元素,只是描繪信息數(shù)據(jù)在系統(tǒng)中流動和處理情況。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析基礎(chǔ)工具。一個數(shù)據(jù)流圖確定了系統(tǒng)轉(zhuǎn)化過程、系統(tǒng)所操縱數(shù)據(jù)或物質(zhì)搜集(存放),還有過程、存放、外部世界之間數(shù)據(jù)流或物質(zhì)流。數(shù)據(jù)流模型把層次分解方法利用到系統(tǒng)分析上,這種方法很適適用于事務(wù)處理系統(tǒng)和其它功效密集型應(yīng)用程序。新聞和通知公布和新聞/通知審核、新聞/通知查詢、新聞/通知顯示模塊間數(shù)據(jù)流圖以下:登陸者新聞登陸者新聞/通知公布新聞/通知信息表審核新聞/通知信息審核過信息表新聞通知查詢新聞通知顯示頁面 圖3.8新聞管理系統(tǒng)數(shù)據(jù)流圖登陸者新聞公布登陸者新聞公布通知公布待審核新聞信息新聞審核通知審核待審核通知信息已審核新聞信息已審核通知信息新聞/通知顯示從數(shù)據(jù)庫提取并顯示信息新聞/通知查詢1NNN1NNNNNNNNN 圖3.9新聞通知/管理系統(tǒng)總體E-R圖§3.5數(shù)據(jù)庫設(shè)計 該新聞管理系統(tǒng)包含到了數(shù)據(jù)庫建立,數(shù)據(jù)庫是根據(jù)數(shù)據(jù)結(jié)構(gòu)來組織、存放和管理數(shù)據(jù)倉庫,是用于查詢大量數(shù)據(jù)存放區(qū)域。使用數(shù)據(jù)庫能夠帶來很多好處:如降低了數(shù)據(jù)冗余度,從而大大地節(jié)省了數(shù)據(jù)存放空間,實現(xiàn)數(shù)據(jù)資源充足共享等等。另外,數(shù)據(jù)庫技術(shù)還為用戶提供了很簡便使用手段,使用戶易于編寫相關(guān)數(shù)據(jù)庫應(yīng)用程序。尤其是多年來推出計算機(jī)關(guān)系數(shù)據(jù)庫管理系統(tǒng),操作直觀,使用靈活,編程方便,功效強大,環(huán)境適應(yīng)廣泛,數(shù)據(jù)處理能力極強。通常數(shù)據(jù)庫設(shè)計方法有兩種,即屬性主導(dǎo)型和實體主導(dǎo)型。屬性主導(dǎo)型從歸納數(shù)據(jù)庫應(yīng)用屬性出發(fā),在歸并屬性集合(實體)時維持屬性間函數(shù)依靠關(guān)系。實體主導(dǎo)型則先從尋求對數(shù)據(jù)庫應(yīng)用有意義實體入手,然后經(jīng)過定義屬性來定義實體。通?,F(xiàn)實世界實體數(shù)在屬性數(shù)1/10以下時,宜使用實體主導(dǎo)型設(shè)計方法。面向?qū)ο髷?shù)據(jù)庫設(shè)計是從對象模型出發(fā),屬于實體主導(dǎo)型設(shè)計。數(shù)據(jù)庫開發(fā)步驟: 1)、設(shè)計應(yīng)用系統(tǒng)結(jié)構(gòu);
2)、選擇便于將應(yīng)用程序和DBMS結(jié)合DBMS體系結(jié)構(gòu),如RDBMS;
3)、依據(jù)應(yīng)用程序使用環(huán)境平臺,選擇適宜DBMS(MYSQL)和開發(fā)工具(Navicat或mysqlcontrolcenter、mysqladministrator);
4)、設(shè)計數(shù)據(jù)庫,編寫定義數(shù)據(jù)庫模式SQL程序;
5)、編寫確保數(shù)據(jù)正確錄入數(shù)據(jù)庫用戶接口應(yīng)用程序;
6)、錄入數(shù)據(jù)庫數(shù)據(jù);該系統(tǒng)采取了MYSQL作為數(shù)據(jù)庫,它是現(xiàn)在較為流行、快速、開放原代碼數(shù)據(jù)庫系統(tǒng),含有很大功效。新聞管理系統(tǒng)關(guān)鍵用到了3張表,新聞信息表news、通知信息表notice、附件表adnexa。新聞信息表具體字段以下:字段名稱英文類型長度許可空編號IDint5標(biāo)題NewsTopicvarchar30投稿時間ContrTimedatetime投稿人姓名ContrIDvarchar10投稿內(nèi)容Newscontentvarchar255審核人姓名BoolAudBool附件編號AdnexaIDvarchar15屬性typevarchar10備注Remarkvarchar50√ 表3.1新聞信息表 通知信息表具體字段以下: 字段名稱英文類型長度許可空編號IDint5投稿人姓名ContrNamevarchar15內(nèi)容Contentvarchar255投稿時間ContrTimedatetime審核人姓名BoolAudBool附件編號AdnexaIDvarchar30標(biāo)題NoticeTopicvarchar30類別Noticetypevarchar30發(fā)送時間SendTimedatetime發(fā)送單位SendUnitvarchar15備注Remarkvarchar50 表3.2通知信息表附件信息表具體字段字段名稱英文類型長度許可空附件編號int5附件IDAdnexaIDint20附件名AdnexaNamevarchar20附件大小AdnexaSizeint5附件地址Addressvarchar255附件屬性AdnexaBelongvarchar10附件類型AdnexaTypevarchar30上傳時間UoloadTimedatetime表3.3附件信息表 各數(shù)據(jù)表間關(guān)系圖: TablenewsinfoTablenewsinfoTablenoticeTableadnexa AdnexaIDAdnexaID 圖3.10各數(shù)據(jù)表中間關(guān)系圖為了保障數(shù)據(jù)庫不被人隨意修改,在使用數(shù)據(jù)庫工具時候,能夠用工具給所建數(shù)據(jù)庫進(jìn)行密碼設(shè)置。因為在頁面中也能夠進(jìn)行對數(shù)據(jù)庫操作,所以在系統(tǒng)中權(quán)限設(shè)置是必需,在JSP文件中,這一設(shè)置是在server.xml和web.xml中進(jìn)行安全域設(shè)置,達(dá)成了權(quán)限訪問效果。此系統(tǒng)采取管理員表示和判定方法實現(xiàn)數(shù)據(jù)庫安全,此安全管理方法并不在前臺開發(fā)工具中實現(xiàn),而是在后臺數(shù)據(jù)庫中實現(xiàn)。在登錄數(shù)據(jù)庫時,系統(tǒng)讓管理員表示自己身份,不一樣管理員權(quán)限不一樣,系統(tǒng)進(jìn)行核實,判別此管理員是否為正當(dāng)用戶,若是,系統(tǒng)深入核實用戶,通常要求用戶輸入口令,系統(tǒng)和對用戶口令以判別用戶身份。服務(wù)器安全也是經(jīng)過用戶在登錄服務(wù)器時輸入正當(dāng)用戶名和密碼來實現(xiàn)。這是一個簡單可行方法,實現(xiàn)起來比較方便。采取安全管理方法關(guān)鍵是為了預(yù)防沒有修改權(quán)限用戶無意間修改了數(shù)據(jù),所以采取用戶標(biāo)識和判定安全管理方法就能夠保障數(shù)據(jù)庫安全性。 第四章新聞管理系統(tǒng)具體設(shè)計 具體設(shè)計階段確定具體實現(xiàn)目標(biāo)系統(tǒng)功效方法,其目標(biāo)不僅僅是邏輯上正確實現(xiàn)每個模塊功效,更關(guān)鍵是設(shè)計出處理過程應(yīng)該簡明。§4.1目標(biāo) 在經(jīng)過前面對新聞管理系統(tǒng)進(jìn)行了全方面需求分析過程和具體功效模塊分析后,在具體設(shè)計階段將討論怎樣具體實現(xiàn)系統(tǒng)中每個功效模塊,和實現(xiàn)各個具體功效方法及其思想。§4.2服務(wù)器配置此系統(tǒng)采取了Tomcat5.0作為服務(wù)器。Tomcat是Jakarta旗艦產(chǎn)品。Jakarta目標(biāo)是提供一個基于Java平臺商業(yè)標(biāo)準(zhǔn)服務(wù)器。作為旗艦產(chǎn)品,Tomcat嚴(yán)格遵守JavaServlet2.4和JavaServerPages2.0規(guī)范。JakartaTomcat日益流行是無可爭辯,它不不過Sun企業(yè)Servlet和JSP規(guī)范參考實現(xiàn),也是世界上使用最為廣泛Servlet和JSP容器。它正被應(yīng)用在成百上千Web站點,不管是個人網(wǎng)站、非贏利組織網(wǎng)站,還是商務(wù)網(wǎng)站,它表現(xiàn)全部很出色。安裝Tomcat首先要安裝JDK。安裝好了Tomcat就要對它進(jìn)行配置,環(huán)境變量配置是在“我電腦——屬性——高級——環(huán)境變量中,添加以下:TOMCAT_HOMEC:\Tomcat5.0;pathc:\j2sdk1.4.2\bin;JAVA_HOMEc:\j2sdk1.4.2;CLASSPATHc:\j2sdk1.4.2\lib\tools.jar 設(shè)置好了后,打開http://localhost看能不能正確顯示主頁,假如能,則證實安裝配置成功了?!?.3數(shù)據(jù)庫安裝和配置MySQL是是一個真正多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。MysQL是以一個用戶機(jī)/服務(wù)器結(jié)構(gòu)實現(xiàn)其功效,它由一個服務(wù)器守護(hù)程序mysqld和很多不一樣用戶程序和庫組成。SQL是一個標(biāo)準(zhǔn)化語言,它使得存放、更新和存取信息更輕易。MySQL關(guān)鍵特點是快速、健壯和易用。MySQL優(yōu)點關(guān)鍵有:1).它使用關(guān)鍵線程是完全多線程,支持多處理器。2.有多個列類型:1、2、3、4、和8字節(jié)長度自有符號/無符號整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、和ENUM類型。3).它經(jīng)過一個高度優(yōu)化類庫實現(xiàn)SQL函數(shù)庫并像她們能達(dá)成一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。沒有內(nèi)存漏洞。4).全方面支持SQLGROUPBY和ORDERBY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你能夠在同一查詢中混來自不一樣數(shù)據(jù)庫表。5).支持ANSISQLLEFT0UTERJOIN和ODBC。6).全部列全部有缺省值。你能夠用INSERT插入一個表列子集,那些沒用明確給定值列設(shè)置為她們決省值。7).MySQL能夠工作在不一樣平臺上。支持C、C++、Java、Perl、PHP、Python和TCLAPI。安裝數(shù)據(jù)庫:把mysql-5.0.1-alpha-snapshot-win-noinstall.zip解壓縮后將文件夾中全部文件拷貝到c:\mysql目錄下,然后進(jìn)入命令提醒符窗口,再到c:\mysql\bin目錄下輸入命令:mysqld-nt-install此時假如提醒安裝成功,則證實mysql安裝成功。安裝成功后,就要開啟數(shù)據(jù)庫服務(wù)。進(jìn)入管理工具中服務(wù)看看mysql是否在服務(wù)項目中,假如在則開啟mysql服務(wù),假如在開啟過程中出現(xiàn)了mysql1067錯誤,服務(wù)被中止,此時檢驗計算機(jī)防火墻是否開著,假如開著則關(guān)掉防火墻,在從新開啟mysql服務(wù),就能夠開啟數(shù)據(jù)庫服務(wù)了。還有種方法也能夠開啟服務(wù):在命令提醒窗口中,c:\mysql\bin目錄下輸入netmysqlstart一樣也能夠開啟數(shù)據(jù)庫服務(wù)。服務(wù)開啟成功后,就能夠建立連接了,則打開MySQLControlCenter或用Navicat工具,然后新建一個數(shù)據(jù)庫服務(wù),選中file菜單中new,然后在對話框中輸入對應(yīng)信息,數(shù)據(jù)庫服務(wù)提議根據(jù)以下填寫:Name:隨便填寫,HostName:localhostUserName:rootPassword不填,其它全部采取默認(rèn)端口。最終按Apply按鈕,接著建路數(shù)據(jù)庫,右鍵點擊Databases后選擇NewDatabase接著在對話框中輸入lz建立新聞管理系統(tǒng)數(shù)據(jù)庫。數(shù)據(jù)庫導(dǎo)入、導(dǎo)出是分別經(jīng)過在命令提醒窗口中c:\mysql\bin目錄下輸入命令mysqllz<lz.sql和mysqldumplz>lz.sql。這里lz只是一個示例。當(dāng)然也能夠經(jīng)過命令導(dǎo)入四處數(shù)據(jù)庫lz中一個表或多個表mysqllznews<news.sql這里.sql文件全部必需在c:\mysql\bin目錄下。要使數(shù)據(jù)庫和系統(tǒng)搭上連接必需把數(shù)據(jù)庫驅(qū)動mysql-connector-java-3.1.4-beta-bin.jar或commons-collections-3.1.jar拷貝到C:\Tomcat5.0\common\lib目錄下。在進(jìn)行系統(tǒng)配置時候就要把其中配置文件和程序中把驅(qū)動寫為com.mysql.jdbc.Driver。方便能調(diào)用驅(qū)動程序?!?.4功效模塊具體設(shè)計 在需求分析階段提到過,把新聞管理系統(tǒng)分為了用戶正當(dāng)性、新聞管理、通知管理等基礎(chǔ)功效模塊?,F(xiàn)在來對每個模塊實現(xiàn)作具體分析。 §4.4.1用戶登錄 此模塊要實現(xiàn)基礎(chǔ)功效在需求分析階段已作了介紹,再此就不多作說明。用戶登錄模塊設(shè)計,分為了頁面設(shè)計、文件配置。 頁面設(shè)計,關(guān)鍵利用了JSP制作動態(tài)頁面,其頁面包含了用戶名、密碼文本框,當(dāng)用戶登入時,需要進(jìn)行用戶名、密碼查對。查對經(jīng)過用戶進(jìn)入,不然出現(xiàn)錯誤頁面,錯誤頁面也是在配置文件中定義。 要實現(xiàn)此功效,首先需要在Tomcat配置文件server.xml中設(shè)置安全域,基礎(chǔ)設(shè)置代碼以下: 首先要定義源<Resourcename="jdbc/XWauthority"type="javax.sql.DataSource"/>然后是對參數(shù)設(shè)置,<ResourceParamsname="jdbc/XWauthority">名字定為XWauthority,所以localhost里xinwentongzhi.xml文件也要做對應(yīng)配置。因為新聞系統(tǒng)使用是lz數(shù)據(jù)庫中數(shù)據(jù),所以應(yīng)做以下參數(shù)設(shè)置<parameter> <name>url</name><value>jdbc:mysql://localhost:3306/lz?autoconnect=true</value></parameter>相關(guān)server.xml文件其它設(shè)置這里就不多作介紹了。xinwentongzhi.xml應(yīng)如此設(shè)置,方便能正確鏈接數(shù)據(jù)庫和實現(xiàn)權(quán)限管理。<ContextdocBase="xinwentongzhi"path="/xinwentongzhi"reloadable="true"workDir="work\Catalina\localhost\xinwentongzhi"><RealmclassName="org.apache.catalina.realm.DataSourceRealm"dataSourceName="jdbc/XWauthority"debug="99"roleNameCol="Urole"userCredCol="Upass"userNameCol="Uname"userRoleTable="user_roles"userTable="users"/><Resourceauth="Container"name="jdbc/lz"type="javax.sql.DataSource"/><ResourceParamsname="jdbc/lz">進(jìn)行以上配置設(shè)置后,web.xml中就能夠?qū)崿F(xiàn)權(quán)限訪問控制了。<login-config> <auth-method>FORM</auth-method> <realm-name>coarealm</realm-name> <form-login-config> <form-login>/usercheck.jsp</form-login> <form-error>/err/usercheckerror.jsp</form-error> </form-login-config> </login-config>這里設(shè)置了,犯錯登錄時頁面和犯錯時頁面地址。 安全域設(shè)置以下:<security-constraint> <web-resource-collection> <web-resource-name></web-resource-name> <!--Definethecontext-relativeURL(s)tobeprotected--><url-pattern>/yuanban/xinxijiaoliu/tongzhishenhe.jsp</url-pattern> <url-pattern>/delmessage</url-pattern> <url-pattern>/yuanban/xinxijiaoliu/xinwenshenhe.jsp</url-pattern> <url-pattern>/delmessage</url-pattern> </web-resource-collection> <auth-constraint> <!--Anyonewithoneofthelistedrolesmayaccessthisarea--> <role-name>admin</role-name> </auth-constraint></security-constraint> 定義了哪些頁面只有含有什么身份人才能夠進(jìn)入?!?.4.2新聞管理模塊設(shè)計 新聞管理模塊包含了新聞公布、新聞審核、新聞查詢、新聞顯示等小模塊。新聞公布要包含有個完整輸入界面設(shè)計,用戶輸入新聞標(biāo)題、發(fā)送方、附件(圖片),及其新聞內(nèi)容。輸入后數(shù)據(jù)經(jīng)過JavaBean對數(shù)據(jù)庫進(jìn)行更新,把內(nèi)容添加到數(shù)據(jù)庫中。然后經(jīng)過新聞審核頁面進(jìn)行對新聞進(jìn)行審核經(jīng)過、修改、刪除操作,經(jīng)過審核新聞信息在數(shù)據(jù)庫中BoolAud值會變,假如BoolAud不為空,則表示新聞經(jīng)過審核了,經(jīng)過審核信息能夠直接顯示在新聞顯示頁面中,而沒有經(jīng)過則不回出現(xiàn)在新聞顯示頁面中。新聞查詢頁面關(guān)鍵是實現(xiàn)新聞模糊查詢,根據(jù)日期、發(fā)送方、審核性、標(biāo)題進(jìn)行查詢,一樣也能夠點擊具體來查看新聞具體內(nèi)容。具體實現(xiàn)上述功效代碼及其說明以下:在Bean文件中對數(shù)據(jù)庫進(jìn)行連接是經(jīng)過DBCom.class來實現(xiàn),其中實現(xiàn)關(guān)鍵函數(shù):publicDBCom(){try{Class.forName(sDBDriver); ctx=newInitialContext(); ds=(DataSource)ctx.lookup("java:comp/env/jdbc/lz");conn=ds.getConnection();("jdbc:mysql://09/os","root","");}catch(Exceptione){ date=newjava.util.Date();System.err.println("getconnecterror"+date+e.getMessage());}}//查詢publicResultSetexecuteQuery(Stringsql){rs=null;try{pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery(sql); }catch(Exceptionex) { date=newjava.util.Date();System.err.println("executeQuery"+date+ex.getMessage()); System.err.println("aq.executeQuerystrSQL:"+sql); }returnrs;}在messageBean.java中新聞更新是函數(shù)publicintupdateNews(Stringuser,intNewsID,StringNewsTopic,StringContrContent)實現(xiàn),,實現(xiàn)新聞查詢函數(shù)publicResultSetselectNews();對新聞信息進(jìn)行刪除操作函數(shù)publicintdelNews(intid,Stringuser);在JSP文件中首先要載入JavaBean文件才能調(diào)用Bean文件中函數(shù),載入方法如:<jsp:useBeanid="dbcom"scope="page"class="tools.DBCom"/>調(diào)用DBCom類,作用范圍是“page”,定義對象dbcom。在JSP文件中經(jīng)過dbcom就能夠調(diào)用DBCom中函數(shù)來實現(xiàn)對數(shù)據(jù)庫操作。 新聞公布功效具體實現(xiàn):新聞公布頁面關(guān)鍵要完成功效是對判定用戶輸入信息完整否,假如輸入信息不完整,將有提醒用戶一些信息還沒填好。假如有圖片附件將進(jìn)行圖片粘貼,信息完整后,進(jìn)行公布,公布成功將有成功提醒。 完成判定功效是經(jīng)過在JSP中使用JavaScript完成,調(diào)用是Script中check_all函數(shù): <script>functioncheck_all(){}</script>函數(shù)具體實現(xiàn)這里不作具體介紹,因為考慮到論文表面美觀,這里和以后包含到代碼部分,全部只用代碼關(guān)鍵函數(shù)和部分關(guān)鍵代碼作說明。粘貼附件功效是同過判定xinwenfabu.jsp中參數(shù)值(是否有附件)傳到xinwenfujian.jsp,經(jīng)過xinwenfujian.jsp實現(xiàn)附件粘貼功效。新聞發(fā)送是經(jīng)過if(send!=null&&!send.equals(""))判定,實施新聞發(fā)送,假如信息完整,則有成功發(fā)送提醒。response.sendRedirect("SendNewsResult.jsp");新聞審核功效具體實現(xiàn):在此模塊中你能夠看到學(xué)院各個辦公室公布,需要審核新聞列表,對審核框進(jìn)行選擇,然后你經(jīng)過點擊“同意”來經(jīng)過你想公布新聞,經(jīng)過點擊“刪除”來清除你不想公布新聞。經(jīng)過點擊“具體”查看新聞具體內(nèi)容。審核是經(jīng)過改變數(shù)據(jù)庫中BoolAud是否為空,來判定是否經(jīng)過審核,對數(shù)據(jù)庫訪問是經(jīng)過<formaction="../../delmessage?method=newsexam&toURL=xinwenshenhe.jsp"method="POST"name="form1"><tdwidth="133"><inputtype="submit"name="newsagree"value="同意"onClick="returncheckAll(form1);"></td><tdwidth="89"><inputtype="submit"name="newsdel"value="刪除"onClick="returncheckAll(form1);"></td></form>調(diào)用了delmessage完成,delmessage是一個Servlet,經(jīng)過它能夠?qū)?shù)據(jù)庫進(jìn)行對應(yīng)修改。在審核模塊中,能夠經(jīng)過“具體”按鈕查看新聞具體信息<ahref="viewNews.jsp?id=<%=rs.getInt("newsid")%>&aud=""">具體</a></td>具體信息是在viewNews.jsp實現(xiàn)。§4.4.3通知管理模塊設(shè)計 通知管理模塊包含了通知公布、通知審核、通知查詢、通知顯示等小模塊。通知公布要包含有個完整輸入界面設(shè)計,用戶輸入通知標(biāo)題、發(fā)送方、附件(有文件格式要求),及其通知內(nèi)容。輸入后數(shù)據(jù)經(jīng)過JavaBean對數(shù)據(jù)庫進(jìn)行更新,把內(nèi)容添加到數(shù)據(jù)庫中。然后經(jīng)過通知審核頁面進(jìn)行對通知進(jìn)行審核經(jīng)過、修改、刪除操作,經(jīng)過審核通知信息在數(shù)據(jù)庫中BoolAud值會變,假如BoolAud不為空,則表示通知經(jīng)過審核了,經(jīng)過審核信息能夠直接顯示在通知顯示頁面中,而沒有經(jīng)過則不回出現(xiàn)在通知顯示頁面中。通知查詢頁面關(guān)鍵是實現(xiàn)通知模糊查詢,根據(jù)日期、發(fā)送方、審核性、標(biāo)題進(jìn)行查詢,一樣也能夠點擊具體來查看通知具體內(nèi)容,在查看具體通知信息時,有附件還能夠點擊附件下載。 在messageBean.java中通知更新是函數(shù)publicintupdateNotice(Stringuser,intid,StringNoticeTopic,StringContent)實現(xiàn),實現(xiàn)通知查詢函數(shù)publicResultSetselectNotice();對通知信息進(jìn)行刪除操作函數(shù)publicintdelNotice(intid,Stringuser); 在通知具體信息顯示時候要尤其注意附件處理,當(dāng)通知或新聞全部有上傳附件時候,附件首先是分別保留在xinxijiaoliu\xinwenfujian和xinxijiaoliu\tongzhifujian兩個文件夾中,所以要進(jìn)行附件下載時候,JSP文件中要正確找到路徑地址才能正常實現(xiàn)附件下載功效。 通知公布功效具體實現(xiàn):通知公布和新聞公布大致思想是相同,信息完整性判定也是在tongzhifabu.jsp中調(diào)用Script中check_all函數(shù): <script>functioncheck_all(){}</script>附件粘貼功效是經(jīng)過zhantiefujian.jsp判定有附件沒,在這個文件中還有對send值進(jìn)行判定,是否發(fā)送。<formaction="zhantiefujian.jsp"method="post"><tdwidth="294"><inputtype="submit"name="send"value="公布"onClick="returncheck_all()"></td><tdwidth="170"><inputtype="reset"name="reset"value="重置"></td></tr></form>通知審核功效具體實現(xiàn):在此模塊中你能夠看到學(xué)院各個辦公室公布,需要審核通知列表,對審核框進(jìn)行選擇,然后你經(jīng)過點擊“同意”來經(jīng)過你想公布新聞,經(jīng)過點擊“刪除”來清除你不想公布新聞。經(jīng)過點擊“具體”查看新聞具體內(nèi)容。經(jīng)過“下載”來下載附件信息。審核是經(jīng)過改變數(shù)據(jù)庫中BoolAud是否為空,來判定是否經(jīng)過審核,對數(shù)據(jù)庫訪問是經(jīng)過,<formaction="../../delmessage?method=noticexam&toURL=tongzhishenhe.jsp&action=notice"method="POST"name="form1">調(diào)用delmessage中當(dāng)method=noticexam時實施程序。通知具體信息是經(jīng)過viewnotice.jsp,而附件下載是經(jīng)過<td><ahref="/xinwentongzhi<%=rm.getString("Address")%><%=rm.getString("AdnexaID")%>.<%=rm.getString("AdnexaType")%>">下載</a></td>實現(xiàn)。原理是找到附件地址路徑,依據(jù)在數(shù)據(jù)庫中通知其它信息<%=rm.getString("Address")%><%=rm.getString("AdnexaID")%>.<%=rm.getString("AdnexaType")%>"來找到對應(yīng)通知附件,得到附件ID,下載附件。通知查詢功效具體實現(xiàn):在此頁面中,用戶可經(jīng)過日期查詢、發(fā)送方查詢、標(biāo)題查詢、審核性查詢。經(jīng)過某一條件進(jìn)行查詢能夠所需信息。在查詢頁面、審核頁面中也能夠進(jìn)行通知具體信息查詢,有附件也能夠點擊下載,進(jìn)行附件下載。下載原理和上面功效模塊中是一致。 模糊查詢功效實現(xiàn)是判定對應(yīng)值,經(jīng)過Bean文件進(jìn)行對數(shù)據(jù)庫數(shù)據(jù)查詢,找出對應(yīng)信息。如:if(aud!=null){out.println("<td>已審核</td>");}else{out.println("<td>未審核</td>");}是JSP頁面對參數(shù)值判定,然后和messageBean.java中if(type.equals("1")){ if(pass.equals("0")){sql="select*fromnewsinfowhereBoolAud=''orboolaudisnull";System.out.println("sql:"+sql);}else{sql="select*fromnewsinfowhereBoolAud<>''";System.out.println("sql:"+sql);}相對應(yīng),來對數(shù)據(jù)庫進(jìn)行查詢。其它功效原理相同。通知顯示功效具體實現(xiàn):通知顯示能顯示經(jīng)過審核新聞標(biāo)題,經(jīng)過標(biāo)題能查看到通知全部信息。具體實現(xiàn)是經(jīng)過以下代碼實現(xiàn):if(rm!=null){ Stringaud=String.valueOf(session.getAttribute("user"));while(rm.next()){ Stringad=null,al=null; ad=rm.getString("adnexaid"); aud=rm.getString("boolaud"); if(ad==null||ad.equals(""))al="N"; else al="Y";if(j<4){//rm.absolute(1);%><fontsize="2"><ahref="viewNotice2.jsp?id=<%=rm.getInt("noticeid")%>&aud=<%=aud%>&ad=<%=al%>"target="_blank"><%=code.GBtoUN(rm.getString("noticetopic"))%></a><fontcolor="#FF0000">(<%=rm.getDate("sendtime")%>)</font></font><br><%}j=j+1;}rm.close();}%> 在新聞顯示頁面中只有幾條信息,假如想查看更多信息,則經(jīng)過morenotice.jsp能夠查看更多信息,設(shè)計原理和上面代碼是一致。注:考慮到新聞顯示和通知顯示和查詢功效實現(xiàn)全部是同一原理,所以在上面就沒對新聞查詢和顯示功效多作羅嗦了。§4.4.4用戶密碼修改 此模塊包含到數(shù)據(jù)不多,為了實現(xiàn)登陸用戶修改自己密碼目標(biāo),在此系統(tǒng)中,經(jīng)過獲取登陸用戶名和用戶密碼,得到將要對數(shù)據(jù)庫中進(jìn)行信息。查對修改密碼時輸入舊密碼和數(shù)據(jù)庫中是否相同,不相同則不能成功實現(xiàn)密碼修改,這么確保了用戶數(shù)據(jù)安全。然后經(jīng)過mimaServlet.java對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行修改,具體實現(xiàn)以下:if(method.equals("mimaxiugai")) { DBComdbcom=newDBCom(); Stringupdate=request.getParameter("Submit"); Stringname=request.getRemoteUser(); Stringnewpass=request.getParameter("password"); Stringoldpass=request.getParameter("oldpass"); System.out.println(""+name); if(update!=null) {Stringsql="updateuserssetUpass='"+newpass+"'whereUname='"+name+"'";System.out.println("aaaaaaaaaaaaais"+sql);dbcom.executeUpdate(sql);}dbcom.close();response.sendRedirect(url); } 頁面中數(shù)據(jù)驗證是同過在JSP文件中使用javaScript實現(xiàn),實現(xiàn)函數(shù)為checkdata();§4.4.5權(quán)限管理 此功效模塊使含有特定身份(管理員)人含有對數(shù)據(jù)庫中users表和user_roles表中數(shù)據(jù)進(jìn)行修改權(quán)利。含有功效關(guān)鍵有,添加用戶、刪除用戶、修改用戶權(quán)限等功效。添加用戶是經(jīng)過在數(shù)據(jù)表中添加用戶名、用戶身份(角色)、用戶密碼實現(xiàn),修改用戶是修改user_roles中Urole值實現(xiàn),在頁面上,提供了兩個角色選項admin、common,修改時候經(jīng)過checkbox值來判定選擇是哪個角色。刪除用戶是經(jīng)過判定checkbox中值和刪除按鈕值來調(diào)用Sverlet,對數(shù)據(jù)庫進(jìn)行操作。 上面所用到對數(shù)據(jù)庫進(jìn)行操作函數(shù)全部全部集成在mimaServlet.java中。實現(xiàn)添加功效具體代碼以下:if(method.equals("quanxiantianjia")) {DBComdbcom=newDBCom();Stringuname=request.getParameter("uname");Stringurole=request.getParameter("urole"); Stringupass=request.getParameter("upass");Stringsql="insertintouser_roles(Uname,Urole)values('"+uname+"','"+urole+"')";System.out.println(sql);inta=dbcom.executeUpdate(sql); Stringsq="insertintousers(Uname,Upass)values('"+uname+"','"+upass+"')";System.out.println("sql="+sq); intb=dbcom.executeUpdate(sq);dbcom.closeDBS();response.sendRedirect(url);} 實現(xiàn)刪除和修改方法和以上類似,分別經(jīng)過了if(method.equals("quanxiandelete")){}和if(method.equals("quanxianxiugaisure")){}來實現(xiàn)。§4.5程序步驟圖一個項目能讓人清楚了解系統(tǒng)步驟,程序步驟圖是必不可少。 commonUsercommonUseruncheckedecheckededadmininputView,Check,modify,delpassView,Check,modify,delsendView 圖4.1系統(tǒng)部分時序圖開始輸入新聞開始輸入新聞/通知信息公布新聞/通知信息是否公布成功失敗保留信息到數(shù)據(jù)庫中審核新聞/通知信息是否經(jīng)過審核已審核信息未審核信息查詢信息顯示信息結(jié)束YNYN用戶登錄判定失敗YN修改信息圖11、新聞管理系統(tǒng)程序步驟圖程序步驟圖是將系統(tǒng)設(shè)計具體步驟,經(jīng)過圖示符號表示出來,它直觀地反應(yīng)了程序設(shè)計構(gòu)思過程,表現(xiàn)了整個程序運行思緒,是程序設(shè)計關(guān)鍵一步,直接決定著程序設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐廳臨時出租協(xié)議書
- 針灸推拿醫(yī)生協(xié)議書
- 裝修公司學(xué)徒協(xié)議書
- 營運車輛入股協(xié)議書
- 銀行貸款免還協(xié)議書
- 餐廳經(jīng)營轉(zhuǎn)讓協(xié)議書
- 食品貨車司機(jī)協(xié)議書
- 閑置水廠合作協(xié)議書
- 音樂機(jī)構(gòu)入股協(xié)議書
- 酒店投資合伙協(xié)議書
- 《不朽的貝尼尼雕塑》課件
- 《如何閱讀文獻(xiàn)》課件
- 建筑工程抗浮技術(shù)標(biāo)準(zhǔn)JGJ476-2019
- 云計算標(biāo)準(zhǔn)體系研究報告
- 《林業(yè)科普知識》課件
- 生產(chǎn)線技改后效果對比
- 故事技巧敘事性非虛構(gòu)寫作
- 五年級美國大聯(lián)盟計算和幾何專題講義教師版(含題目翻譯答案解析)
- 《小學(xué)生C++創(chuàng)意編程》第3單元課件 選擇結(jié)構(gòu)
- 學(xué)院本科教學(xué)工作審核評估支撐材料目錄
- KROHNE 轉(zhuǎn)子流量計產(chǎn)品介紹 2022
評論
0/150
提交評論