基于WEB的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于WEB的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于WEB的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于WEB的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于WEB的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、長(zhǎng)江師范學(xué)院本科畢業(yè)設(shè)計(jì)基于WEB的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 頁(yè)目錄TOC o 1-4 h u HYPERLINK l _Toc6760 第1章前言 PAGEREF _Toc6760 1 HYPERLINK l _Toc1411 第2章系統(tǒng)概述 PAGEREF _Toc1411 1 HYPERLINK l _Toc28071 2.1 設(shè)計(jì)模式 PAGEREF _Toc28071 1 HYPERLINK l _Toc11659 2.1.1 MVC模式基本原理 PAGEREF _Toc11659 2 HYPERLINK l _Toc26337 2.2.2 MVC Model1 PAGEREF _T

2、oc26337 3 HYPERLINK l _Toc27一五0 2.2.3 MVC Model2 PAGEREF _Toc27一五0 3 HYPERLINK l _Toc17517 2.3 小結(jié) PAGEREF _Toc17517 4 HYPERLINK l _Toc30028 第3章系統(tǒng)設(shè)計(jì) PAGEREF _Toc30028 4 HYPERLINK l _Toc8111 3.1 系統(tǒng)總體設(shè)計(jì) PAGEREF _Toc8111 4 HYPERLINK l _Toc12981 3.1.1 系統(tǒng)構(gòu)架 PAGEREF _Toc12981 4 HYPERLINK l _Toc101一八 3.1.2系

3、統(tǒng)類設(shè)計(jì) PAGEREF _Toc101一八5 HYPERLINK l _Toc21011 3.2 視圖層設(shè)計(jì) PAGEREF _Toc21011 6 HYPERLINK l _Toc16217 3.2.1 前臺(tái)設(shè)計(jì) PAGEREF _Toc16217 6 HYPERLINK l _Toc22771 3.2.2 后臺(tái)設(shè)計(jì) PAGEREF _Toc22771 6 HYPERLINK l _Toc12116 3.3 模型層設(shè)計(jì) PAGEREF _Toc12116 7 HYPERLINK l _Toc1一三48 3.3.1 前臺(tái)顯示和用戶登錄 PAGEREF _Toc1一三48 7 HYPERLIN

4、K l _Toc14297 3.3.2 新聞管理 PAGEREF _Toc14297 7 HYPERLINK l _Toc17647 3.3.3 欄目管理 PAGEREF _Toc17647 8 HYPERLINK l _Toc10544 3.4 控制層設(shè)計(jì) PAGEREF _Toc10544 8 HYPERLINK l _Toc19087 3.4.1 用戶登錄 PAGEREF _Toc19087 8 HYPERLINK l _Toc27一三1 3.4.2 新聞管理 PAGEREF _Toc27一三1 8 HYPERLINK l _Toc30545 3.4.3 欄目管理 PAGEREF _To

5、c30545 8 HYPERLINK l _Toc27124 3.5 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc27124 8 HYPERLINK l _Toc27079 3.5.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì) PAGEREF _Toc27079 8 HYPERLINK l _Toc11270 3.5.2 數(shù)據(jù)庫(kù)表設(shè)計(jì) PAGEREF _Toc11270 9 HYPERLINK l _Toc一三64 3.6 數(shù)據(jù)庫(kù)連接設(shè)計(jì) PAGEREF _Toc一三64 10 HYPERLINK l _Toc10685 3.6.1 傳統(tǒng)的數(shù)據(jù)庫(kù)連接 PAGEREF _Toc10685 10 HYPERLINK l _Toc1

6、4902 3.7 小結(jié) PAGEREF _Toc14902 一三 HYPERLINK l _Toc91一八 第4章系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc91一八一三 HYPERLINK l _Toc6940 4.1 視圖層實(shí)現(xiàn) PAGEREF _Toc6940 一三 HYPERLINK l _Toc19695 4.1.1 公共頁(yè)面 PAGEREF _Toc19695 一三 HYPERLINK l _Toc5一八3 4.1.2 前臺(tái)實(shí)現(xiàn) PAGEREF _Toc5一八3 一五 HYPERLINK l _Toc30441 4.1.3 后臺(tái)實(shí)現(xiàn) PAGEREF _Toc30441 16 HYPERLIN

7、K l _Toc30795 4.2 模型層實(shí)現(xiàn) PAGEREF _Toc30795 一八 HYPERLINK l _Toc一五993 4.2.1 新聞顯示 PAGEREF _Toc一五993 一八 HYPERLINK l _Toc31140 4.2.2 新聞管理 PAGEREF _Toc31140 19 HYPERLINK l _Toc6385 4.2.3 欄目管理 PAGEREF _Toc6385 19 HYPERLINK l _Toc6863 4.3 控制層實(shí)現(xiàn) PAGEREF _Toc6863 19 HYPERLINK l _Toc162一八 4.3.1 用戶登錄 PAGEREF _To

8、c162一八20 HYPERLINK l _Toc14073 4.3.2 新聞管理 PAGEREF _Toc14073 20 HYPERLINK l _Toc一三641 4.3.3 欄目管理 PAGEREF _Toc一三641 21 HYPERLINK l _Toc3069 4.4 小結(jié) PAGEREF _Toc3069 21 HYPERLINK l _Toc20324 第5章系統(tǒng)運(yùn)行測(cè)試 PAGEREF _Toc20324 21 HYPERLINK l _Toc14681 5.1 系統(tǒng)測(cè)試環(huán)境 PAGEREF _Toc14681 21 HYPERLINK l _Toc32500 5.1.1

9、系統(tǒng)測(cè)試硬件環(huán)境 PAGEREF _Toc32500 21 HYPERLINK l _Toc996 5.1.2 系統(tǒng)測(cè)試軟件環(huán)境 PAGEREF _Toc996 21 HYPERLINK l _Toc4927 5.2 系統(tǒng)測(cè)試 PAGEREF _Toc4927 22 HYPERLINK l _Toc27735 總結(jié) PAGEREF _Toc27735 23 HYPERLINK l _Toc26242 參考文獻(xiàn) PAGEREF _Toc26242 24 HYPERLINK l _Toc22235 致謝 PAGEREF _Toc22235 25 HYPERLINK l _Toc23474 附錄 P

10、AGEREF _Toc23474 26伴隨著網(wǎng)絡(luò)的出現(xiàn),網(wǎng)頁(yè)逐漸融入人們的生活。快速及時(shí)的新聞瀏覽,五彩繽紛的網(wǎng)上信息,使網(wǎng)絡(luò)與人們的生活息息相關(guān),于是世界上出現(xiàn)了第三媒體Internet。它打破了地域限制,真正使信息得以共享,改變了人們的工作和生活方式。人們對(duì)信息的需求有了更新,更高的要求,而網(wǎng)頁(yè)由于本身所具有的信息量大,傳遞快速,沒有時(shí)空限制等特點(diǎn)恰好滿足這種要求。也正是由于網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)站的數(shù)據(jù)信息能夠進(jìn)行實(shí)時(shí)交互,保證網(wǎng)站數(shù)據(jù)的實(shí)時(shí)性。隨著Internet信息技術(shù)的高速發(fā)展,越來越多的企業(yè)想將自己企業(yè)的信息通過網(wǎng)絡(luò)與全世界分享并最終實(shí)現(xiàn)電子商務(wù),所以它們已經(jīng)建立或計(jì)劃建立自己的網(wǎng)站。但是,

11、如果為了建立和維護(hù)自己的網(wǎng)站而聘請(qǐng)專職的網(wǎng)絡(luò)技術(shù)人員,其成本對(duì)于一個(gè)中小型企業(yè)來說實(shí)在是太高了。對(duì)于上面這類企業(yè)來說,他們最需要的就是一個(gè)現(xiàn)成的可以自動(dòng)發(fā)布信息的新聞發(fā)布系統(tǒng),這樣只要會(huì)打字,會(huì)上網(wǎng)就能利用新聞發(fā)布系統(tǒng)快速簡(jiǎn)潔地發(fā)布企業(yè)信息。然而傳統(tǒng)的信息發(fā)布方式已經(jīng)不適應(yīng)這個(gè)快速變化的信息時(shí)代,需要一個(gè)更高效,更簡(jiǎn)潔的方式進(jìn)行信息發(fā)布。內(nèi)容管理系統(tǒng)正是基于這樣一個(gè)目的而誕生的,它是企業(yè)信息化建設(shè)和電子政務(wù)的新寵。它的基本思想是分離信息內(nèi)容和表現(xiàn)形式,內(nèi)容存儲(chǔ)在數(shù)據(jù)庫(kù)或獨(dú)立的文件中,而表現(xiàn)形式存儲(chǔ)在模版里。當(dāng)用戶請(qǐng)求頁(yè)面時(shí),各部分聯(lián)合生成一個(gè)標(biāo)準(zhǔn)的HTML頁(yè)面;當(dāng)信息修改時(shí),用戶只需在一個(gè)可視

12、化的界面對(duì)信息內(nèi)容進(jìn)行修改。大大縮短了信息的更新時(shí)間,提高了效率,并且簡(jiǎn)化了操作。本設(shè)計(jì)便是基于內(nèi)容管理思想的一個(gè)新聞發(fā)布系統(tǒng),以下各章從系統(tǒng)概述、需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)運(yùn)行測(cè)試和系統(tǒng)評(píng)價(jià)與改進(jìn)依次展現(xiàn)系統(tǒng)開發(fā)過程。本章主要介紹在系統(tǒng)開發(fā)過程中所采用系統(tǒng)設(shè)計(jì)模式。2.1 設(shè)計(jì)模式隨著Web技術(shù)的發(fā)展,Web內(nèi)容從一些靜態(tài)頁(yè)面發(fā)展到內(nèi)容豐富的動(dòng)態(tài)頁(yè)面。目前,用于生成動(dòng)態(tài)網(wǎng)頁(yè)較為流行的技術(shù)有Microsoft的ASP、Tex的PHP和Sun的JSP。ASP只能工作在微軟的IIS(Internet Information Server)和PWS(Personal Web Server)上

13、及PHP模式,一些天生缺陷使得它們的使用受到了一定的制約。而JSP是一種完全與平臺(tái)無關(guān)的開發(fā)新技術(shù),它集極高的運(yùn)行效率,較短的開發(fā)周期,超強(qiáng)的擴(kuò)展能力,完全開放的技術(shù)標(biāo)準(zhǔn),自由的開發(fā)方式等眾多完美特性于一身。JSP+JavaBean+Servlet+JDBC是一套能夠?qū)崿F(xiàn)動(dòng)態(tài)網(wǎng)站的開發(fā)和維護(hù)的技術(shù)。JDBC用于連接數(shù)據(jù)庫(kù)并對(duì)數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),Servlet用于處理過程控制,JavaBean用于封裝業(yè)務(wù)邏輯,JSP用于頁(yè)面顯示部分。而MVC正是這種設(shè)計(jì)模式代表。2.1.1 MVC模式基本原理MVC (Model-View-Controller),即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model,

14、View, Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層模型層、視圖層、控制層,其三層之間的關(guān)系和功能如圖2-1“MVC組件類型關(guān)系和功能圖”。圖2-1MVC組件類型關(guān)系和功能圖MVC設(shè)計(jì)模式的典型流程4為:首先Controller接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)Model來進(jìn)行處理,然后Model用業(yè)務(wù)邏輯來處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后Controller用相應(yīng)的View格式化Model返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶??刂茖?Controller)可以理解為從用戶接收請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴我們,它就是一

15、個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)鏈接,控制層接受請(qǐng)求后,并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型。模型層(Model)就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是MVC最主要的核心,必須能夠滿足大多數(shù)客戶的需求,包括保證應(yīng)用程序各組件的事務(wù)整合、維護(hù)并快速獲取應(yīng)用數(shù)據(jù),支持事務(wù)工作流的協(xié)調(diào)以及在

16、已有應(yīng)用程序中集成新的應(yīng)用組件等。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴我們應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。視圖層(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML,XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。2.2.2 MVC Model1在MVC模式的Model1體系中,JSP頁(yè)面獨(dú)立響應(yīng)請(qǐng)求并將出理結(jié)果返回客戶,所

17、有的數(shù)據(jù)存取都是由JavaBean來完成。Model1體系十分適合簡(jiǎn)單應(yīng)用需要,卻不能滿足復(fù)雜的大型應(yīng)用程序的實(shí)現(xiàn)。MVC Model1的體系結(jié)構(gòu)如圖2-2所示。圖2-2MVC Model1體系結(jié)構(gòu)圖2.2.3 MVC Model2MVC模式的Model2體系結(jié)構(gòu)是一種把JSP與Servlet聯(lián)合起來實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容服務(wù)的方法。它吸取了兩種技術(shù)的優(yōu)點(diǎn),用JSP生成表達(dá)層的內(nèi)容,讓Servlet完成深層次的處理任務(wù)。這是一種有代表性的方法,它清晰地分離了表達(dá)和內(nèi)容,明確了角色的定義及開發(fā)者與網(wǎng)頁(yè)設(shè)計(jì)者的分工。本系統(tǒng)的設(shè)計(jì)模式選擇的便是Model2。MVC Model2的體系結(jié)構(gòu)如圖2-3所示。圖2-

18、3MVC Model2體系結(jié)構(gòu)圖2.3 小結(jié)本章對(duì)MVC設(shè)計(jì)模式基本原理進(jìn)行了詳細(xì)闡述,并介紹了MVC的兩種不同的模式Model1和Model2,并確定本系統(tǒng)的設(shè)計(jì)模式便是MVC Model2。根據(jù)上一章的需求用例分析,本章從先總體構(gòu)架的角度對(duì)系統(tǒng)進(jìn)行總體設(shè)計(jì),然后根據(jù)MVC三層模式對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),最后對(duì)系統(tǒng)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)連接池進(jìn)行了設(shè)計(jì)。3.1 系統(tǒng)總體設(shè)計(jì)3.1.1系統(tǒng)構(gòu)架系統(tǒng)基于MVC Model2設(shè)計(jì)模式,設(shè)計(jì)出本系統(tǒng)自己的設(shè)計(jì)模式,在MVC Model2基礎(chǔ)上加入數(shù)據(jù)庫(kù)連接池模塊層對(duì)數(shù)據(jù)庫(kù)操作進(jìn)行封裝。具體模式圖如圖3-1。圖3-1系統(tǒng)設(shè)計(jì)模式圖對(duì)于MVC設(shè)計(jì)模式,在本系統(tǒng)中具體

19、實(shí)現(xiàn)方式是:Model由JavaBean完成,View由JSP完成,Controller由Servlet完成,再加上數(shù)據(jù)庫(kù)連接池專門負(fù)責(zé)數(shù)據(jù)庫(kù)連接和管理。本系統(tǒng)具體構(gòu)架如圖3-2。圖3-2系統(tǒng)構(gòu)架圖3.1.2系統(tǒng)類設(shè)計(jì)在本系統(tǒng)中,根據(jù)對(duì)系統(tǒng)需求的分析,可以總結(jié)出如下的需求集: (1)系統(tǒng)應(yīng)該分為前臺(tái)和后臺(tái);(2)系統(tǒng)前臺(tái)應(yīng)該可以顯示新聞欄目和新聞以及用于管理員登錄系統(tǒng)后臺(tái)的登錄界面;(3)一般用戶應(yīng)該可以在前臺(tái)自由瀏覽新聞,包括選擇性地瀏覽新聞即先選擇新聞欄目再瀏覽新聞欄目下的新聞條目;(4)注冊(cè)用戶可以發(fā)表相關(guān)新聞的評(píng)論;(4)系統(tǒng)管理員應(yīng)該可以登錄到系統(tǒng)后臺(tái);(5)系統(tǒng)管理員應(yīng)該可以對(duì)新聞

20、欄目和新聞進(jìn)行查看、修改、刪除和添加操作,也可以對(duì)注冊(cè)用戶管理,同時(shí)還可以對(duì)相關(guān)新聞的評(píng)論進(jìn)行管理。由以上需求集進(jìn)一步分析可知:(1)“新聞欄目”和“新聞”為系統(tǒng)的兩個(gè)主要內(nèi)容,所以應(yīng)該分別作為一個(gè)類,而新聞欄目和新聞的顯示需要管理類進(jìn)行管理,系統(tǒng)管理員要對(duì)欄目和新聞進(jìn)行查看、添加、修改和刪除,也需要相應(yīng)的管理類進(jìn)行管理,所以,系統(tǒng)對(duì)于新聞欄目和新聞分別需要“欄目管理類”和“新聞管理類”;(2)系統(tǒng)中應(yīng)該要有超級(jí)管理員、管理員、注冊(cè)用戶等角色,超級(jí)管理員是最高權(quán)限的,管理員是超級(jí)管理員發(fā)放的,注冊(cè)用戶是前臺(tái)注冊(cè)產(chǎn)生的。(3)系統(tǒng)要保存信息,必須用到數(shù)據(jù)庫(kù),所以需要一個(gè)數(shù)據(jù)庫(kù)連接的類;(4)要將

21、系統(tǒng)的各個(gè)功能執(zhí)行成功,少不了相應(yīng)的控制類。因此,識(shí)別出系統(tǒng)主要的類:新聞管理類(NewsJdbc),欄目管理類(NewclaJdbc),用戶管理類(RoleJdbc),評(píng)論管理類(Pingl)數(shù)據(jù)庫(kù)連接的連接對(duì)象類(JdbcConn)以及各個(gè)Servlet類。3.2 視圖層設(shè)計(jì)3.2.1前臺(tái)設(shè)計(jì)當(dāng)一個(gè)用戶瀏覽新聞系統(tǒng)時(shí),首先進(jìn)入系統(tǒng)前臺(tái)界面。如果把一個(gè)系統(tǒng)比作一個(gè)人,那么前臺(tái)界面則是這個(gè)人的臉,因此系統(tǒng)的前臺(tái)界面的設(shè)計(jì)是比較重要的,并且,前臺(tái)界面應(yīng)該被設(shè)計(jì)得比較簡(jiǎn)潔,方便。首先,在本系統(tǒng)的前臺(tái)界面的頂部用戶可以看到一個(gè)專為注冊(cè)用戶提供的登錄入口,為用戶提供了方便。而對(duì)于一般用戶來說,他們也不

22、會(huì)感覺這有何不妥,因?yàn)榇说卿浗缑姹容^簡(jiǎn)潔,并不會(huì)影響用戶正常地閱讀新聞。其次,在登錄界面的下方是新聞欄目的顯示,顯示系統(tǒng)新聞欄目數(shù)據(jù)庫(kù)中已有的新聞欄目,一目了然,用戶可以方便地找到自己喜歡和關(guān)心的新聞所在的欄目。再次,在新聞欄目的下方則是新聞條目的顯示,默認(rèn)的新聞條目的顯示方式是以表格的形式將系統(tǒng)新聞數(shù)據(jù)表中的新聞按發(fā)布時(shí)間進(jìn)行列表(發(fā)布較早的新聞被放在列表的后面,而發(fā)布較遲的新聞被放在列表的前面,體現(xiàn)了新聞的“新”,即“時(shí)效性”)。新聞列表中僅顯示新聞的標(biāo)題,發(fā)布時(shí)間和新聞作者,如果想瀏覽整篇新聞,用戶可以點(diǎn)擊新聞標(biāo)題(超鏈接)。然后,用戶可以對(duì)自己比較關(guān)心和感興趣的新聞進(jìn)行有選擇性地瀏覽,

23、這時(shí)新聞欄目便起作用了。當(dāng)用戶點(diǎn)擊新聞所在的欄目時(shí),系統(tǒng)在新聞列表中只顯示本欄目的新聞條目。用戶可以在此瀏覽自己關(guān)心和感興趣的新聞。3.2.2后臺(tái)設(shè)計(jì) 后臺(tái)主頁(yè)面設(shè)計(jì)當(dāng)用戶登錄到系統(tǒng)后臺(tái)時(shí),他便成為系統(tǒng)管理員,可以執(zhí)行對(duì)新聞和欄目的查看、修改、刪除和添加。此界面主要是面向管理員的,界面要設(shè)計(jì)得簡(jiǎn)潔方便,使得系統(tǒng)管理員在管理系統(tǒng)時(shí)容易操作。當(dāng)管理員用戶登錄到系統(tǒng)后臺(tái)時(shí),呈現(xiàn)到他眼前的是系統(tǒng)后臺(tái)管理的主頁(yè)面:首先,系統(tǒng)后臺(tái)主頁(yè)面左上角是歡迎詞(歡迎+用戶級(jí)別+管理員名),對(duì)于管理員,他可以感覺到系統(tǒng)的人性化;對(duì)于系統(tǒng)本身,系統(tǒng)可以識(shí)別此時(shí)登錄的是哪個(gè)管理員,可以分配管理員的權(quán)限。其次,歡迎詞下方是

24、系統(tǒng)管理的功能選擇,一目了然,管理員可以在此選擇要操作的模塊進(jìn)入,然后執(zhí)行相應(yīng)的操作。再次,再往下就是系統(tǒng)新聞列表,與前臺(tái)新聞顯示類似,只是多了對(duì)新聞的操作(修改和刪除)。管理員可以在此對(duì)系統(tǒng)已有的新聞進(jìn)行修改和刪除操作。 添加新聞設(shè)計(jì)如果系統(tǒng)管理員在系統(tǒng)后臺(tái)主頁(yè)面中選擇“添加新聞”,管理員會(huì)進(jìn)入下圖這樣一個(gè)頁(yè)面進(jìn)行新聞的添加,添加完新聞標(biāo)題和新聞?wù)膬?nèi)容后,還必須選擇所添加新聞所屬的新聞欄目。確認(rèn)所有內(nèi)容均已填好,點(diǎn)擊“發(fā)表”按鈕,新聞發(fā)布工作完成,如果點(diǎn)擊“清除”按鈕,則系統(tǒng)清除管理員剛才的所有輸入,讓管理員重新填寫新聞的各項(xiàng)內(nèi)容。管理員可以在系統(tǒng)后臺(tái)主頁(yè)面中看到剛剛發(fā)表的新聞,可以對(duì)其進(jìn)

25、行相關(guān)操作。 欄目管理設(shè)計(jì)如果系統(tǒng)管理員在系統(tǒng)后臺(tái)主頁(yè)面中選擇“欄目管理”,系統(tǒng)將鏈接到新聞欄目管理頁(yè)面。欄目管理頁(yè)面上有一些鏈接按鈕,可以讓管理員鏈接到其他頁(yè)面。鏈接按鈕下面是系統(tǒng)已有新聞欄目的列表,在此,管理員可以對(duì)新聞發(fā)布系統(tǒng)的欄目進(jìn)行操作(編輯和刪除欄目)。如果管理員想要添加新聞欄目,只需點(diǎn)擊“添加欄目”,就可以被鏈接到添加新聞欄目頁(yè)面,添加欄目完成后,管理員可以在欄目管理主頁(yè)面的欄目列表中找到新添加的欄目,并對(duì)其進(jìn)行相關(guān)操作。3.3 模型層設(shè)計(jì)本系統(tǒng)模型層由JavaBean完成,模型層設(shè)計(jì)主要設(shè)計(jì)出完成各個(gè)功能模塊中模型層的JavaBean類。模型層的類主要新聞管理類NewsJdbc

26、以及欄目管理類NewclaJdbc。3.3.1前臺(tái)顯示和用戶登錄在前臺(tái)顯示和用戶登錄模塊中,充當(dāng)模型層的是News和Newcla根據(jù)系統(tǒng)分析中的系統(tǒng)前臺(tái)需求用例分析和上述的前臺(tái)界面功能描述,對(duì)系統(tǒng)的前臺(tái)的每一個(gè)流程、每一個(gè)模塊進(jìn)行詳細(xì)功能設(shè)計(jì)。3.3.2新聞管理管理員在系統(tǒng)后臺(tái)主界面中可以對(duì)已有新聞進(jìn)行管理(修改、刪除和添加),新聞管理模塊中充當(dāng)模型層的仍然是News和Newcla。3.3.3欄目管理欄目管理中可以對(duì)已有欄目的編輯、刪除以及添加新欄目。3.4 控制層設(shè)計(jì)3.4.1用戶登錄當(dāng)用戶通過系統(tǒng)前臺(tái)提供的登錄入口登錄后臺(tái)系統(tǒng)時(shí),系統(tǒng)將用戶的登錄信息提交給登錄控制層處理。所以登錄控制器必須

27、對(duì)用戶登錄信息進(jìn)行識(shí)別,判斷其是否有權(quán)限登錄到后臺(tái)系統(tǒng)。用戶登錄控制器由LoginServlet完成。3.4.2新聞管理新聞管理中主要涉及到新聞信息的添加、刪除和修改,所以其控制層由NewsServlet完成。3.4.3欄目管理欄目管理模塊主要對(duì)新聞欄目進(jìn)行修改、刪除和添加,此功能模塊控制層由NewclaServlet完成。3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)3.5.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)根據(jù)上面的數(shù)據(jù)庫(kù)需求分析,就可以構(gòu)造出各種實(shí)體,以及并根據(jù)它們的關(guān)系繪制出實(shí)體間的E-R圖,為以后的邏輯設(shè)計(jì)打下基礎(chǔ)。如圖3-1為本新聞發(fā)布系統(tǒng)實(shí)體間的E-R圖。圖3-3實(shí)體之間關(guān)系的E-R圖3.5.2數(shù)據(jù)庫(kù)表設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)完畢

28、后,現(xiàn)在可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)庫(kù)模型。本系統(tǒng)使用Mysql數(shù)據(jù)庫(kù)。新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫(kù)中各表的設(shè)計(jì)結(jié)果如下面幾個(gè)表所示。圖3-4新聞欄目表圖3-5新聞表圖3-6用戶表圖3-7評(píng)論表3.6 數(shù)據(jù)庫(kù)連接設(shè)計(jì)3.6.1傳統(tǒng)的數(shù)據(jù)庫(kù)連接傳統(tǒng)的數(shù)據(jù)庫(kù)連接模式基本上是按以下步驟進(jìn)行:在主程序(如Servlet、Beans)中建立數(shù)據(jù)庫(kù)連接;進(jìn)行SQL操作,取出數(shù)據(jù);斷開數(shù)據(jù)庫(kù)連接。本系統(tǒng)也是才用此鏈接方式,連接類JbdcConn.Java代碼如下:package com.newsinfo.db;import java.sql.Connection;import ja

29、va.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcConn private JdbcConn()statictry /1.加載數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)Class.forName(com.mysql.jdbc.Driver); catch (ClassNotFoundException e) e.printStackTrace();public static Connection getConn()/2.創(chuàng)建數(shù)據(jù)庫(kù)的連接

30、Connection conn = null;try conn = DriverManager.getConnection(jdbc:mysql:/:3306/data,root,123);System.out.println(連接數(shù)據(jù)庫(kù)成功!); catch (SQLException e) e.printStackTrace();return conn;/釋放資源public static void free(Statement st , ResultSet rs , Connection conn)try if(rs != null)rs.close();rs = null; catch

31、 (SQLException e) e.printStackTrace();finally try if(st != null)st.close();st = null; catch (SQLException e) e.printStackTrace();finallytry if (conn != null)conn.close();conn = null; catch (SQLException e) e.printStackTrace();3.7 小結(jié)本章首先進(jìn)行了系統(tǒng)總體設(shè)計(jì),接著按照MVC設(shè)計(jì)模式的三層結(jié)構(gòu)根據(jù)系統(tǒng)需求用例對(duì)新聞發(fā)布系統(tǒng)功能進(jìn)行設(shè)計(jì),最后設(shè)計(jì)出系統(tǒng)的數(shù)據(jù)庫(kù)并對(duì)數(shù)據(jù)庫(kù)

32、連接進(jìn)行了相應(yīng)的設(shè)計(jì)。通過本章,系統(tǒng)設(shè)計(jì)出了用來完成系統(tǒng)用例的業(yè)務(wù)功能模型以及完成各個(gè)用例的類。根據(jù)上一章的設(shè)計(jì)思路設(shè)計(jì)用來完成系統(tǒng)用例的業(yè)務(wù)功能,整個(gè)系統(tǒng)按照MVC模式的三個(gè)部分以及數(shù)據(jù)庫(kù)連接池進(jìn)行編碼實(shí)現(xiàn),分為視圖層、控制層、模型層和數(shù)據(jù)庫(kù)連接池。由于系統(tǒng)實(shí)現(xiàn)的代碼量較大限于篇幅,文中僅顯示部分代碼。4.1 視圖層實(shí)現(xiàn)在系統(tǒng)其它視圖層部分實(shí)現(xiàn)之前,先對(duì)那些常用的公共頁(yè)面模塊部分實(shí)現(xiàn)。4.1.1公共頁(yè)面top.jsp中包含了其它頁(yè)面常用到的頁(yè)面頭部的設(shè)計(jì)。具體代碼如下:歡迎進(jìn)入長(zhǎng)江師范學(xué)院新聞網(wǎng)設(shè)為主頁(yè)加入收藏 首頁(yè) % NewclaJdbc nj=new NewclaJdbc(); Lis

33、t cla=nj.selcetFenlei(); for(Newcla one:cla) % a href=news.jsp?cla= 會(huì)員注冊(cè)footer.jsp中包含了其它頁(yè)面常用到的頁(yè)面尾部的設(shè)計(jì)。具體代碼如下: xxzkmy2010 x:曾曉龍 管理入口 聯(lián)系地址:長(zhǎng)江師范學(xué)院郵編:408100 QQ:359257073 本系統(tǒng)的CSS設(shè)計(jì)了兩個(gè)CSS樣式表(css.css、sc.css)它主要設(shè)置頁(yè)面中顯示的Body結(jié)構(gòu)的樣式、超鏈接A的樣式、頁(yè)面中表格Table樣式等的設(shè)置。CSS樣式表可以使系統(tǒng)整體風(fēng)格一致。4.1.2前臺(tái)實(shí)現(xiàn)系統(tǒng)前臺(tái)視圖層由index.jsp實(shí)現(xiàn)。index.j

34、sp僅負(fù)責(zé)顯示新聞欄目和系統(tǒng)已有新聞以及為管理員用戶提供一個(gè)登錄入口。index.jsp頁(yè)面顯示截圖如圖4-1。圖4-1index.jsp頁(yè)面實(shí)現(xiàn)截圖4.1.3后臺(tái)實(shí)現(xiàn)系統(tǒng)后臺(tái)視圖層主要由admin_news.jsp、admin_newsinsert.jsp、admin_newcla.jsp、admin_newclainsert.jsp、admin_role.jsp和admin_roleinsert.jsp組成。admin_news.jsp是系統(tǒng)后臺(tái)主頁(yè)面。其實(shí)現(xiàn)顯示截圖如圖4-2。圖4-2admin_news.jsp實(shí)現(xiàn)截圖admin_newsinsert.jsp實(shí)現(xiàn)新聞的添加。當(dāng)用戶在后臺(tái)

35、主頁(yè)面中選擇添加新聞按鈕時(shí),管理員便進(jìn)入此頁(yè)面。其實(shí)現(xiàn)截圖如圖4-3。圖4-3admin_newsinsert.jsp實(shí)現(xiàn)截圖admin_newcla.jsp實(shí)現(xiàn)新聞欄目的管理,管理員可以在此對(duì)進(jìn)行新聞欄目的相關(guān)操作。其實(shí)現(xiàn)截圖如圖4-4。圖4-4admin_newcla.jsp實(shí)現(xiàn)截圖admin_newclainsert.jsp它實(shí)現(xiàn)欄目的添加功能。其實(shí)現(xiàn)截圖如圖4-5。圖4-5admin_newclainsert.jsp實(shí)現(xiàn)截圖admin_role.jsp實(shí)現(xiàn)的是對(duì)本系統(tǒng)用戶的管理,其實(shí)現(xiàn)截圖如圖4-6。圖4-6admin_role.jsp實(shí)現(xiàn)截圖admin_roleinsert.jsp它

36、實(shí)現(xiàn)管理員的添加功能,其實(shí)現(xiàn)截圖如圖4-7。圖4-7admin_roleinsert.jsp實(shí)現(xiàn)截圖4.2 模型層實(shí)現(xiàn)模型層實(shí)現(xiàn)中主要給出了實(shí)現(xiàn)功能模塊中的各類的功能函數(shù),具體代碼見附件。4.2.1新聞顯示在前臺(tái)頁(yè)面中顯示系統(tǒng)已有新聞,需要新聞?lì)怤ewsJdbc和新聞管理類NewclaJdbc。在此模塊中主要實(shí)現(xiàn)將新聞數(shù)據(jù)庫(kù)中的新聞顯示到前臺(tái)頁(yè)面中。實(shí)現(xiàn)新聞顯示的功能函數(shù)如下:public List selectByNewcla(int newcla) /2.根據(jù)新聞?lì)悇e顯示新聞信息public List selectone(int id) /5.根據(jù)ID查詢單個(gè)新聞。public List

37、selectAll()/6.查詢所有新聞public List selectBySS(int newcla,int s) /7.根據(jù)條件查詢某一類別、查詢多少條新聞public List selecthits(int s) /8.根據(jù)點(diǎn)擊量查詢新聞public List selectNew(int s) /9.查詢最新發(fā)布的新聞public void addHits(int id,int hit) /10.點(diǎn)擊自動(dòng)加一public List selectByLike(String s) /11.模糊查詢4.2.2新聞管理新聞管理模塊是在系統(tǒng)后臺(tái)對(duì)已有新聞進(jìn)行編輯和刪除以及添加新聞。在新聞管理類

38、中如此實(shí)現(xiàn)新聞管理: public boolean createNews(Newsinfo ne) /1.添加新聞 public boolean updateNew(Newsinfo ne) /3.根據(jù)給出的條件,更新新聞信息 public int deleteNew(int id) /4.給出條件,刪除新聞4.2.3欄目管理欄目管理模塊中,主要實(shí)現(xiàn)新聞欄目的添加、編輯和刪除。欄目管理類NewclaJdbc如下實(shí)現(xiàn)欄目管理功能: public List selcetFenlei()/查詢所有新聞分類 public int deletecla(int id) /根據(jù)ID刪除新聞分類 public

39、 boolean insertcla(Newcla cla) /添加新聞分類 public List selcetById(int id) /根據(jù)ID查詢新聞分類 public boolean updateUserById(Newcla cla) /更新新聞分類4.3 控制層實(shí)現(xiàn)本系統(tǒng)的控制層由Servlet實(shí)現(xiàn)。這些作為控制層的Servlet接收用戶的請(qǐng)求,并調(diào)用作為Model的JavaBean來進(jìn)行處理,然后Model用業(yè)務(wù)邏輯來處理用戶請(qǐng)求并返回?cái)?shù)據(jù),最后Servlet用相應(yīng)的View來格式化Model返回的數(shù)據(jù),通過表示層呈現(xiàn)給用戶。在實(shí)現(xiàn)Servlet之前,首先要在Tomcat中配置

40、好Servlet運(yùn)行的環(huán)境,并配置本應(yīng)用程序的web.xml配置文件,其Servlet在web.xml配置的基本格式如下: XXServlet ClassPath.XXServlet XXServlet /XXServlet 在使用Servlet之前都必須在web.xml中定義好Servlet才可以正常使用。下面具體實(shí)現(xiàn)每個(gè)Servlet。4.3.1用戶登錄在此用戶登錄功能中,最重要的就是LoginServlet的實(shí)現(xiàn)。它不僅調(diào)用數(shù)據(jù)庫(kù)數(shù)據(jù),還控制頁(yè)面流向。當(dāng)用戶在前臺(tái)中提供的登錄入口輸入用戶名和密碼時(shí),index.jsp通過Form將信息提交給LoginServlet,LoginServle

41、t獲得此信息,調(diào)用數(shù)據(jù)庫(kù)連接池組件查找數(shù)據(jù)庫(kù)對(duì)照看是否有與LoginServlet收集到的信息匹配記錄,如果有則成功登錄到系統(tǒng)后臺(tái)(admin_index.jsp),如果沒有與之匹配的記錄則將頁(yè)面定位到登錄錯(cuò)誤頁(yè)面(error.jsp)重新登錄。同樣也會(huì)用到LoginServlet對(duì)登錄信息進(jìn)行判斷。(LoginServlet代碼見附件)4.3.2新聞管理新聞管理功能模塊中主要實(shí)現(xiàn)新聞的添加、修改和刪除,在控制層中是由NewsSevlet實(shí)現(xiàn)。添加新聞、刪除新聞和修改新聞控制層是由NewsServlet中的insertservlet、delservlet和upservlet方法實(shí)現(xiàn)。管理員在處

42、理新聞頁(yè)面需要填寫的內(nèi)容點(diǎn)擊“確定”按鈕時(shí),將內(nèi)容通過Post方法提交給NewsServlet,NewsServlet調(diào)用對(duì)應(yīng)的方法,方法調(diào)用JavaBeanNewsJdbc對(duì)新聞信息進(jìn)行處理,然后將新聞信息保存到新聞數(shù)據(jù)表。4.3.3欄目管理新聞欄目管理和新聞管理大同小異,只是頁(yè)面和調(diào)用的方法不同,整個(gè)處理的流程和新聞管理是一樣的,這里不做詳細(xì)說明。4.4 小結(jié)本章從MVC三層模式入手,通過代碼的編寫,基本實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)中所設(shè)計(jì)的業(yè)務(wù)功能,從而完成了系統(tǒng)用例所要求的功能。5.1 系統(tǒng)測(cè)試環(huán)境系統(tǒng)測(cè)試需要相應(yīng)的環(huán)境,所以在系統(tǒng)測(cè)試之前,進(jìn)行系統(tǒng)硬件和軟件環(huán)境的配置。5.1.1系統(tǒng)測(cè)試硬件環(huán)境因

43、為本系統(tǒng)僅在本機(jī)上運(yùn)行,所以需要一臺(tái)PC機(jī)即可。為了系統(tǒng)可以正常運(yùn)行,PC機(jī)配置最低配置:CPU 1.5GHz,內(nèi)存256M,硬盤40G。5.1.2系統(tǒng)測(cè)試軟件環(huán)境PC機(jī)操作系統(tǒng)為Windows XP或Windows Server 2003均可。PC機(jī)上必須安裝并配置java運(yùn)行環(huán)境JDK,本人用的JDK是jdk1.6.0_07。PC機(jī)上必須安裝并可以運(yùn)行JSP應(yīng)用程序web服務(wù)器。本人用的web服務(wù)器是apache-tomcat-6.0.一八。5.2 系統(tǒng)測(cè)試因?yàn)橄到y(tǒng)比較簡(jiǎn)單,所以本人采用黑盒測(cè)試法對(duì)系統(tǒng)各個(gè)功能模塊需求進(jìn)行測(cè)試。在IE瀏覽器中輸入 HYPERLINK x:8080/zxli

44、nfo x:8080/zxlinfo。具體測(cè)試見表5.1。測(cè)試用例ID輸入預(yù)期結(jié)果實(shí)際結(jié)果測(cè)試結(jié)論OA-1進(jìn)入系統(tǒng)前臺(tái)主頁(yè)瀏覽新聞若成功,則顯示新聞列表顯示新聞列表,并可以閱讀新聞成功OA-2選擇新聞欄目應(yīng)該列出該新聞欄目的所有新聞,若沒有則提示選擇有新聞的欄目,可以看到新聞列表,沒有新聞的欄目,顯示“該欄目沒有任何新聞”成功OA-3在注冊(cè)用戶登錄入口輸入用戶名和密碼若輸入正確的用戶名和密碼,則登錄成功,否則進(jìn)入登錄錯(cuò)誤頁(yè)面輸入“000,000”進(jìn)入系統(tǒng),輸入其它,進(jìn)入登錄錯(cuò)誤頁(yè)面,提示重新登錄成功OA-4點(diǎn)擊“個(gè)人信息查看”可以進(jìn)入個(gè)人信息面板實(shí)現(xiàn)預(yù)期結(jié)果成功OA-5點(diǎn)擊個(gè)人信息面板中的“修

45、改”可以對(duì)個(gè)人信息進(jìn)行修改實(shí)現(xiàn)預(yù)期結(jié)果成功OA-6進(jìn)入某個(gè)新聞頁(yè)面,在發(fā)表評(píng)論的文本框中輸入任意字符并提交可以發(fā)表評(píng)論實(shí)現(xiàn)預(yù)期結(jié)果成功OA-7在后臺(tái)登錄入口輸入用戶名和密碼若輸入正確的用戶名和密碼,則進(jìn)入后臺(tái)系統(tǒng),否則進(jìn)入登錄錯(cuò)誤頁(yè)面輸入“admin,admin”進(jìn)入后臺(tái)系統(tǒng),輸入其它,進(jìn)入登錄錯(cuò)誤頁(yè)面,提示重新登錄成功OA-8進(jìn)入后臺(tái)瀏覽新聞若成功,在瀏覽期間可以修改和刪除新聞,返回更新后的新聞信息實(shí)現(xiàn)預(yù)期結(jié)果成功OA-9點(diǎn)擊“添加新聞”可以進(jìn)行新聞信息的錄入,完成后在新聞列表可以看到新添加的新聞實(shí)現(xiàn)預(yù)期結(jié)果成功OA-10點(diǎn)擊“欄目管理”可以添加、修改和刪除欄目實(shí)現(xiàn)預(yù)期結(jié)果成功OA-11點(diǎn)擊

46、“用戶管理”可以修改和刪除用戶實(shí)現(xiàn)預(yù)期結(jié)果成功OA-12點(diǎn)擊“添加管理員”可以添加管理員實(shí)現(xiàn)預(yù)期結(jié)果成功表5-1測(cè)試用例表本文通過采用MVC三層設(shè)計(jì)模式,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)新聞發(fā)布系統(tǒng)。本新聞發(fā)布系統(tǒng)主要實(shí)現(xiàn)了新聞的后臺(tái)管理,例如新聞的添加、修改和刪除等功能;同時(shí)也實(shí)現(xiàn)了新聞欄目的管理,例如欄目的添加、修改和刪除等功能。通過系統(tǒng)測(cè)試用例分析,達(dá)到了既定的系統(tǒng)設(shè)計(jì)目標(biāo)。但由于時(shí)間關(guān)系和個(gè)人各方面因素,系統(tǒng)仍存在一定缺陷,并且有一些Java開發(fā)的新技術(shù)和思想沒有加入到本系統(tǒng)開發(fā)中,希望在今后的學(xué)習(xí)和工作中,提高系統(tǒng)開發(fā)能力,做出更好的系統(tǒng)。1孫衛(wèi)琴,李洪成.Tomcat 與 JSP Web 開發(fā)技術(shù)

47、詳解M.電子工業(yè)出版社,2003.2計(jì)磊,李里,周偉.J2EE整合應(yīng)用案例M.北京:人民郵電出版社,2007.3耿祥義,張躍平.JAVA2實(shí)用教程(第二版)M.北京:清華大學(xué)出版社,2004.4王夕寧,王曉平JSP通用模塊及典型系統(tǒng)開發(fā)實(shí)例導(dǎo)航M北京:人民郵電出版社,20065孫衛(wèi)琴精通Struts:基于MVC的Java Web設(shè)計(jì)與開發(fā)M北京:電子工業(yè)出版社,20046畢建信基于MVC設(shè)計(jì)模式的Web應(yīng)用研究與實(shí)現(xiàn)M武漢:武漢理工大學(xué),20067耿祥義,張躍平.Java2實(shí)用教程(3版)M.北京:清華大學(xué)出版社,2006. 8鄭人杰,殷人昆,陶永雷.實(shí)用 HYPERLINK xmyeducs

48、x/shejixiazai/ 軟件工程M.清華大學(xué)出版社,2005.9王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論(4版)M.北京.高等教育出版社,2006.10宣小平. HYPERLINK xxmyeducsx/chaxun/JSP/index.htm JSP數(shù)據(jù)庫(kù)系統(tǒng)開發(fā) HYPERLINK xxmyeducsx/mianfeilunwen/More.html 導(dǎo)航M.人民郵電出版社, 2003.11張海藩.軟件工程導(dǎo)論(第5版)M.北京.清華大學(xué)出版社,2008.212(美)格羅夫著,章小莉等譯. SQL完全手冊(cè)(第二版)M北京:電子工業(yè)出版社,2006本文是我在洪剛老師的悉心指導(dǎo)下完成的,從論文的選題

49、、系統(tǒng)的開發(fā)到論文的撰寫都得到了洪老師極大的幫助。他所具有的精湛的學(xué)術(shù)造詣、勤懇的工作作風(fēng)和對(duì)學(xué)生認(rèn)真負(fù)責(zé)的態(tài)度使我深受感動(dòng),終生難忘。在此向洪老師表示深深的敬意和衷心的感謝。同時(shí),非常感謝學(xué)校、學(xué)院各位老師和領(lǐng)導(dǎo)對(duì)我各方面的關(guān)心與支持。感謝我的室友們對(duì)我的幫助和指點(diǎn),感謝他們與我交流經(jīng)驗(yàn),解決一道道心理上和技術(shù)上的難關(guān)。感謝我親人和朋友對(duì)我的理解、支持和幫助。盡管與他們?yōu)槲腋冻龅囊磺邢啾?,所有的語(yǔ)言都顯得蒼白無力,我仍要真誠(chéng)地說一聲:謝謝!NewsinfoJdbc.java:package com.newsinfo.mag;import java.sql.Connection;import

50、java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import com.newsinfo.db.JdbcConn;import com.newsinfo.vo.Newsinfo;public class NewsJdbc ResultSet rs=null;/1.添加新聞public boolean createNews(Newsin

51、fo ne)Connection conn = JdbcConn.getConn();boolean flag = false;String sql = insert into newsinfo(newcla,title,author,content,intime) values(+ne.getNewcla()+,+ne.getTitle()+,+ne.getAuthor()+,+ne.getContent()+,+ne.getIntime()+);System.out.println(sql);try Statement st = conn.createStatement();int i =

52、 st.executeUpdate(sql);JdbcConn.free(st, rs, conn);if(i0)flag = true; catch (SQLException e) e.printStackTrace();return flag;/2.根據(jù)新聞?lì)悇e顯示新聞信息public List selectByNewcla(int newcla)Newsinfo ne = null;List list = new ArrayList();String sql = select * from newsinfo where newcla=+newcla+ order by id desc;

53、System.out.println(sql);Connection conn = JdbcConn.getConn();try Statement st = conn.createStatement();ResultSet rs = st.executeQuery(sql);while(rs.next()ne = new Newsinfo();ne.setId(rs.getInt(id);ne.setNewcla(rs.getInt(newcla);ne.setTitle(rs.getString(title);ne.setAuthor(rs.getString(author);ne.set

54、Content(rs.getString(content);ne.setHits(rs.getInt(hits);ne.setIntime(rs.getTimestamp(intime);list.add(ne);JdbcConn.free(st, rs, conn); catch (SQLException e) e.printStackTrace();return list;/3.根據(jù)給出的條件,更新新聞信息public boolean updateNew(Newsinfo ne)boolean flag = false;String sql = update newsinfo set n

55、ewcla = ?, title = ?, author = ?, content = ?, intime = ? where id = ?;Connection conn = JdbcConn.getConn();try PreparedStatement pst = conn.prepareStatement(sql);pst.setInt(1, ne.getNewcla();pst.setString(2,ne.getTitle();pst.setString(3, ne.getAuthor();pst.setString(4,ne.getContent();pst.setTimesta

56、mp(5, ne.getIntime();pst.setInt(6, ne.getId();int id = pst.executeUpdate();JdbcConn.free(pst, rs, conn);if(id0)flag = true; catch (SQLException e) e.printStackTrace();return flag;/4.給出條件,刪除新聞public int deleteNew(int id)int i = 0 ;String sql = delete from newsinfo where id = ?;Connection conn = JdbcC

57、onn.getConn();try PreparedStatement st = conn.prepareStatement(sql);st.setInt(1, id);i = st.executeUpdate();JdbcConn.free(st, rs, conn); catch (SQLException e) e.printStackTrace();return i;/5.根據(jù)ID查詢單個(gè)新聞。public List selectone(int id)Newsinfo ne = null;List list = new ArrayList();String sql = select *

58、 from newsinfo where id=+id;Connection conn = JdbcConn.getConn();try Statement st = conn.createStatement();ResultSet rs = st.executeQuery(sql);while(rs.next()ne = new Newsinfo();ne.setId(rs.getInt(id);ne.setNewcla(rs.getInt(newcla);ne.setTitle(rs.getString(title);ne.setAuthor(rs.getString(author);ne

59、.setContent(rs.getString(content);ne.setHits(rs.getInt(hits);ne.setIntime(rs.getTimestamp(intime);list.add(ne);JdbcConn.free(st, rs, conn); catch (SQLException e) e.printStackTrace();return list;/6.查詢所有新聞public List selectAll()Newsinfo ne =null;List list = new ArrayList();String sql=select * from ne

60、wsinfo order by intime desc;Connection conn = JdbcConn.getConn();Statement st;try st = conn.createStatement();ResultSet rs = st.executeQuery(sql);while(rs.next()ne = new Newsinfo();ne.setId(rs.getInt(id);ne.setNewcla(rs.getInt(newcla);ne.setTitle(rs.getString(title);ne.setAuthor(rs.getString(author)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論