2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p><b>  第一章 緒論2</b></p><p>  1.1 開(kāi)發(fā)背景2</p><p>  1.2 開(kāi)發(fā)工具的選用及介紹2</p><p

2、>  1.2.1 Hibernate2</p><p>  1.2.2 Dreamweaver簡(jiǎn)介3</p><p>  1.2.3 Microsoft SQL Server 2000簡(jiǎn)介3</p><p>  1.2.4 Struts標(biāo)簽庫(kù)4</p><p>  第二章 系統(tǒng)分析5</p><p> 

3、 2.1 系統(tǒng)目標(biāo)5</p><p>  2.2 功能需求5</p><p>  2.2.1 功能劃分5</p><p>  2.2.2 系統(tǒng)功能結(jié)構(gòu)圖6</p><p>  2.3 性能需求7</p><p>  2.3.1 數(shù)據(jù)精確度7</p><p>  2.3.2 時(shí)間特性

4、7</p><p>  2.3.3 適應(yīng)性7</p><p>  2.4 軟件屬性需求7</p><p>  2.4.1 正確性7</p><p>  2.4.2 可靠性7</p><p>  2.4.3 效率7</p><p>  2.4.5 完整性7</p><

5、;p>  2.4.6 易使用性7</p><p>  2.4.7 可維護(hù)性8</p><p>  2.4.8 可測(cè)試性8</p><p>  2.4.9 復(fù)用性8</p><p>  2.4.10 安全保密性8</p><p>  2.5 外部接口需求8</p><p>  2

6、.5.1 用戶界面8</p><p>  2.5.2 硬件接口9</p><p>  2.5.3 軟件接口9</p><p>  2.5.4 通信接口9</p><p>  2.5.5 故障處理9</p><p>  第三章 系統(tǒng)設(shè)計(jì)10</p><p>  3.1 前臺(tái)系統(tǒng)架構(gòu)1

7、0</p><p>  3.2 數(shù)據(jù)庫(kù)表設(shè)計(jì)10</p><p>  3.3 公共模塊設(shè)計(jì)11</p><p>  3.3.1 編寫(xiě)獲取系統(tǒng)時(shí)間操作類11</p><p>  3.3.2 編寫(xiě)字符串自動(dòng)處理類12</p><p>  3.3.3 編寫(xiě)文件刪除類12</p><p>  

8、3.3.4 編寫(xiě)Hibernate數(shù)據(jù)庫(kù)配置文件13</p><p>  3.3.5 編寫(xiě)數(shù)據(jù)持久化類14</p><p>  3.4 新聞查詢功能模塊15</p><p>  3.4.1 新聞查詢功能模塊總體架構(gòu)15</p><p>  3.4.2 新聞功能模塊的ActionForm類與配置文件15</p><

9、p>  3.4.3 首頁(yè)面新聞查詢實(shí)現(xiàn)過(guò)程18</p><p>  3.4.4 新聞關(guān)鍵字查詢實(shí)現(xiàn)過(guò)程18</p><p>  3.4.5 新聞詳細(xì)查詢實(shí)現(xiàn)過(guò)程19</p><p>  3.5 后臺(tái)系統(tǒng)架構(gòu)19</p><p>  3.5.1 后臺(tái)首頁(yè)面架構(gòu)19</p><p>  3.6 管理員模塊管

10、理20</p><p>  3.6.1 管理員模塊總體架構(gòu)20</p><p>  3.6.2 管理員登錄的實(shí)現(xiàn)過(guò)程21</p><p>  3.7 新聞管理模塊22</p><p>  3.7.1 新聞管理模塊總體架構(gòu)22</p><p>  3.7.2新聞?lì)悇e的實(shí)現(xiàn)類22</p><

11、p>  3.7.3 新聞?lì)悇e查詢的實(shí)現(xiàn)過(guò)程23</p><p>  3.7.4 新聞?lì)悇e添加的實(shí)現(xiàn)過(guò)程24</p><p>  3.7.5 新聞查詢的實(shí)現(xiàn)過(guò)程26</p><p>  3.7.6 新聞添加的實(shí)現(xiàn)過(guò)程27</p><p><b>  第四章 總結(jié)29</b></p><p

12、><b>  致 謝29</b></p><p><b>  參考文獻(xiàn)29</b></p><p><b>  摘 要</b></p><p>  隨著Internet技術(shù)的發(fā)展,人們的日常生活已經(jīng)離不開(kāi)網(wǎng)絡(luò)。未來(lái)社會(huì)人們的生活和工作將越來(lái)越依賴于數(shù)字技術(shù)的發(fā)展,越來(lái)越數(shù)字化、網(wǎng)絡(luò)化、

13、電子化、互聯(lián)網(wǎng)在中國(guó)逐步普及,人們對(duì)網(wǎng)絡(luò)的需求也日益增長(zhǎng),利用計(jì)算機(jī)實(shí)現(xiàn)信息的操作勢(shì)在必行。當(dāng)前系統(tǒng)從初步調(diào)查開(kāi)始,詳細(xì)介紹了需求分析、流程和數(shù)據(jù)分析,并進(jìn)行了系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì). 系統(tǒng)采用MyEclipse進(jìn)行項(xiàng)目開(kāi)發(fā),SQL SERVER 2000建立數(shù)據(jù)庫(kù),Dreamweaver編寫(xiě)ajax和javascript腳本程序及css樣式,從界面簡(jiǎn)潔實(shí)用的角度出發(fā),完成對(duì)新聞信息及用戶信息的增、刪、改、查等功能,盡量使之成為一

14、個(gè)實(shí)用性強(qiáng)的新聞管理系統(tǒng)。</p><p>  關(guān)鍵字: Dreamweaver,SQL Server 2000,新聞管理,網(wǎng)絡(luò)化 </p><p><b>  第一章 緒論</b></p><p>  當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開(kāi)信息處理,計(jì)算機(jī)被廣泛應(yīng)用于B/S系統(tǒng)環(huán)境。計(jì)算機(jī)的好處在于它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行

15、信息控制,提高了工作效率.</p><p>  對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。當(dāng)前系統(tǒng)就是為了管理好新聞信息而設(shè)計(jì)的。 </p><p><b>  1.1 開(kāi)發(fā)背景</b></p><p>  Internet的蓬勃發(fā)展,使新聞的傳播方式發(fā)生了巨大的變化,傳統(tǒng)

16、的信息傳播媒體電視、廣播、報(bào)紙已經(jīng)不再是人們茶余飯后的主要精神甜點(diǎn),人們更多的開(kāi)始關(guān)注網(wǎng)絡(luò)新聞。由于互聯(lián)網(wǎng)所容納的信息量大、內(nèi)容豐富、信息及時(shí)、準(zhǔn)確,更有相關(guān)信息的全面的介紹與比較,大大地方便了人們的閱讀,因此在短短幾年的時(shí)間里,互聯(lián)網(wǎng)便濟(jì)身于眾多媒體之間,并具有相當(dāng)一部分媒體人群。借此東風(fēng),新聞管理系統(tǒng)也迅速發(fā)展起來(lái),它內(nèi)容豐富,涉及到商業(yè)、工業(yè)、農(nóng)業(yè)、銀行、財(cái)政、教育、娛樂(lè)、信息等各個(gè)產(chǎn)業(yè),信息量大,不僅有實(shí)事新聞,還有相關(guān)的行業(yè)信

17、息,同時(shí)新聞管理系統(tǒng)具有互聯(lián)網(wǎng)所具備的一切特性。在全球網(wǎng)絡(luò)化、信息化的今天,新聞管理系統(tǒng)迅速發(fā)展,大大地豐富了人們的生活,不知不覺(jué)中,它已經(jīng)成為人們生活中不可或缺的重要組成部分。</p><p>  基于此,建立一個(gè)完備的新聞管理系統(tǒng),使人們對(duì)新聞信息的分類管理、查閱變得更加方便快捷勢(shì)在必行。</p><p>  1.2 開(kāi)發(fā)工具的選用及介紹</p><p>  1

18、.2.1 Hibernate</p><p>  Hibernate框架是操作數(shù)據(jù)庫(kù)的持久化框架,它的值對(duì)象本質(zhì)上是持久化對(duì)象的前身,也就是說(shuō),在Hibernate框架中,值對(duì)象就能夠表示一條數(shù)據(jù)表中的記錄。Hibernate之所以是優(yōu)秀的框架,就是在于它所用持久化類的對(duì)象其本身是一個(gè)簡(jiǎn)單Java類的值對(duì)象。這樣的有點(diǎn)是在純粹Java類的情況下,持久化累的對(duì)象直接就可以在業(yè)務(wù)邏輯層和服務(wù)器端表示層被使用,不涉及高

19、耦合的問(wèn)題,因此在業(yè)務(wù)邏輯層中只要對(duì)值對(duì)象進(jìn)行操作,然后返回這個(gè)對(duì)象即可。</p><p>  1.2.2 Dreamweaver簡(jiǎn)介</p><p>  Dreamweaver是Macromedia公司最新推出的主頁(yè)編輯工具。這是一個(gè)所見(jiàn)即所得主頁(yè)編輯器,并帶有站點(diǎn)管理功能,讓你方便地設(shè)計(jì)和管理多個(gè)站點(diǎn)。而它最棒的地方就是支持最新的DHTML和CSS標(biāo)準(zhǔn), 你可以用它設(shè)計(jì)出生動(dòng)的DHTM

20、L動(dòng)畫(huà)、多層次的頁(yè)面(layer)以及CSS樣式表。 </p><p>  1.2.3 Microsoft SQL Server 2000簡(jiǎn)介</p><p>  SQL是英文(Structured  Query Language)的縮寫(xiě),意思為結(jié)構(gòu)化查詢語(yǔ)言。SQL語(yǔ)言的主要功能就是同各種數(shù)據(jù)庫(kù)建立聯(lián)系,進(jìn)行溝通。SQL被作為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句可以用來(lái)執(zhí)

21、行各種各樣的操作,例如更新數(shù)據(jù)庫(kù)中的數(shù)據(jù),從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL語(yǔ)言標(biāo)準(zhǔn)。</p><p>  SQL語(yǔ)言有以下幾個(gè)優(yōu)點(diǎn):</p><p>  1. 非過(guò)程化語(yǔ)言 SQL是一個(gè)非過(guò)程化的語(yǔ)言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。S

22、QL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集,所有SQL 語(yǔ)句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語(yǔ)句的結(jié)果作為另一條SQL語(yǔ)句的輸入。</p><p>  SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法, 這種特性使用戶更易集中精力于要得到的結(jié)果;所有SQL語(yǔ)句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器知道存在什么索

23、引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。</p><p><b>  2. 統(tǒng)一的語(yǔ)言</b></p><p>  SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶?;镜腟QL 命令只需很少時(shí)間就能學(xué)會(huì),最高級(jí)的命令在幾天內(nèi)便可掌握。</p>&

24、lt;p>  3. 所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言</p><p>  由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶可將使用SQL的技能從一個(gè)RDBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))轉(zhuǎn)到另一個(gè),所有用SQL編寫(xiě)的程序都是可以移植的。</p><p>  1.2.4 Struts標(biāo)簽庫(kù)</p><p>  Struts框架提供了相當(dāng)強(qiáng)大的標(biāo)簽庫(kù),根據(jù)這些標(biāo)簽庫(kù)的內(nèi)容

25、,程序員在編寫(xiě)網(wǎng)頁(yè)中的代碼時(shí),可以大大的減少代碼的編寫(xiě)量,從而使網(wǎng)頁(yè)中的代碼更加簡(jiǎn)潔。Struts提供了5種標(biāo)簽庫(kù)文件,它們分別為HTML標(biāo)簽、Bean標(biāo)簽、Logic標(biāo)簽、Nested標(biāo)簽和Title標(biāo)簽。</p><p><b>  第二章 系統(tǒng)分析</b></p><p><b>  2.1 系統(tǒng)目標(biāo)</b></p><

26、p>  新聞發(fā)布系統(tǒng)網(wǎng)站實(shí)現(xiàn)的功能目標(biāo)為:</p><p>  1.展示各類別信息;</p><p>  2.提供信息搜索功能;</p><p>  3.設(shè)置信息公告查詢;</p><p>  4.設(shè)置焦點(diǎn)導(dǎo)讀查詢;</p><p>  5.為后臺(tái)管理提供管理入口;</p><p>  6

27、.通過(guò)網(wǎng)站的后臺(tái),可以對(duì)新聞的各個(gè)類別實(shí)現(xiàn)不同的操作。必要性分析:</p><p>  新聞發(fā)布系統(tǒng)后臺(tái)能夠?qū)W(wǎng)站的新聞作詳細(xì)的分類,前臺(tái)以分類形式顯示新聞的詳細(xì)信息,滿足了用戶瀏覽新聞時(shí)分類查看新聞信息的需求,同時(shí)提供新聞信息查詢功能,方便用戶快速查找相關(guān)的新聞信息,系統(tǒng)后臺(tái)通過(guò)“管理員設(shè)置”和“管理員添加”等模塊對(duì)網(wǎng)站管理員進(jìn)行管理,保證的網(wǎng)站的安全性。</p><p>&

28、lt;b>  2.2 功能需求</b></p><p>  2.2.1 功能劃分</p><p><b>  1.前臺(tái)功能模塊</b></p><p>  前臺(tái)功能模塊主要包括新聞分類、新聞詳細(xì)信息、新聞信息查詢、新聞搜索、信息公告查詢、信息導(dǎo)讀查詢及后臺(tái)登入口。</p><p><b>  

29、2.后臺(tái)模塊管理</b></p><p>  后臺(tái)管理主要包括后臺(tái)總管理員設(shè)置及密碼修改、添加管理員、管理員信息設(shè)置、新聞?lì)愋凸芾?、信息公告管理、焦點(diǎn)導(dǎo)讀管理及后臺(tái)退出等。</p><p>  2.2.2 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  圖 2-1 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  圖 2-2 后臺(tái)功能結(jié)構(gòu)圖</p&g

30、t;<p><b>  2.3 性能需求</b></p><p>  2.3.1 數(shù)據(jù)精確度</p><p>  查詢時(shí)應(yīng)保證查全率,所有相應(yīng)域包含查詢關(guān)鍵字的記錄都應(yīng)能查到。查詢時(shí)應(yīng)保證查準(zhǔn)率,查到的記錄應(yīng)與給定的單項(xiàng)或組合查詢條件完全匹配。</p><p>  2.3.2 時(shí)間特性</p><p>  

31、一般操作的響應(yīng)時(shí)間應(yīng)在1~2秒內(nèi),對(duì)軟磁盤(pán)和打印機(jī)的操作。</p><p><b>  2.3.3 適應(yīng)性</b></p><p>  滿足所有用戶使用的需求。對(duì)前面提到的運(yùn)行環(huán)境要求不應(yīng)存在困難。</p><p>  2.4 軟件屬性需求</p><p><b>  2.4.1 正確性</b>&l

32、t;/p><p>  要求發(fā)布的軟件達(dá)到用戶的預(yù)期目標(biāo),運(yùn)行時(shí)基本無(wú)錯(cuò)誤。</p><p><b>  2.4.2 可靠性</b></p><p>  在一般條件下,應(yīng)不出故障。</p><p><b>  2.4.3 效率</b></p><p>  對(duì)于查詢、增加、刪除、更新

33、和密碼設(shè)置等一般操作,要求及時(shí)響應(yīng),在1~2秒內(nèi)。</p><p><b>  2.4.5 完整性</b></p><p>  要求能在發(fā)生意外的情況下,保證不丟失數(shù)據(jù)。</p><p>  2.4.6 易使用性</p><p>  要求盡量為用戶的使用提供方便,軟件的界面符合目前流行的界面規(guī)范。</p>

34、<p>  2.4.7 可維護(hù)性</p><p>  要求本軟件在運(yùn)行中發(fā)現(xiàn)錯(cuò)誤時(shí),能快速、準(zhǔn)確對(duì)其進(jìn)行定位,診斷和修改。</p><p>  2.4.8 可測(cè)試性</p><p>  設(shè)計(jì)時(shí)盡可能減少測(cè)試本軟件的各項(xiàng)功能所需的工作量。</p><p><b>  2.4.9 復(fù)用性</b></p>

35、<p>  設(shè)計(jì)時(shí)應(yīng)采取模塊化方法進(jìn)行設(shè)計(jì),對(duì)系統(tǒng)內(nèi)各模塊接口盡可能達(dá)到高內(nèi)聚、低耦合的程度,以提高各模塊的復(fù)用性。</p><p>  2.4.10 安全保密性</p><p>  要求提供身份驗(yàn)證的用戶使用本軟件。</p><p>  2.5 外部接口需求</p><p>  2.5.1 用戶界面</p>&l

36、t;p>  采用Windows 的通用圖形界面,對(duì)用戶友好,且必須對(duì)鼠標(biāo)和鍵盤(pán)提供支持,界面的設(shè)計(jì)應(yīng)遵循如下規(guī)則:</p><p>  a. 界面友好美觀,可以通過(guò)手機(jī)下載所需要的服務(wù);</p><p>  b. 具備錯(cuò)誤處理頁(yè)面,出錯(cuò)時(shí)不會(huì)使用戶手足無(wú)措;</p><p>  c. 設(shè)計(jì)良好的聯(lián)機(jī)幫助;</p><p>  d. 提供

37、可逆反饋,用多種信息提示用戶當(dāng)前軟件運(yùn)行狀態(tài)、軟件界面元件的功能;</p><p>  e. 顯示啟動(dòng)畫(huà)面,畫(huà)面簡(jiǎn)潔明快,富有現(xiàn)代氣息。</p><p><b>  截圖如下:</b></p><p>  圖 2-3 新聞首頁(yè)</p><p>  2.5.2 硬件接口</p><p>  支持一般

38、的PentiumⅡ或更高檔微機(jī)、筆記本電腦。</p><p>  2.5.3 軟件接口</p><p>  運(yùn)行于Windows 98/200/NT/XP、且具有WIN32、 API的操作系統(tǒng)之上。</p><p>  2.5.4 通信接口</p><p>  本軟件應(yīng)提供對(duì)電子郵件、Web瀏覽器、電話撥號(hào)等的支持。</p>&

39、lt;p>  2.5.5 故障處理</p><p>  正常使用不應(yīng)出錯(cuò),若運(yùn)行時(shí)遇到不可恢復(fù)的系統(tǒng)錯(cuò)誤,也必須保證數(shù)據(jù)庫(kù)完好無(wú)損</p><p><b>  第三章 系統(tǒng)設(shè)計(jì)</b></p><p>  3.1 前臺(tái)系統(tǒng)架構(gòu)</p><p>  在新聞系統(tǒng)的前臺(tái)首頁(yè)中,用戶可以按類別、按今日新聞和按關(guān)鍵字查詢新聞

40、。除了對(duì)新聞的查看外,還可以對(duì)站內(nèi)公告和焦點(diǎn)導(dǎo)讀進(jìn)行查看。</p><p>  主要界面的各個(gè)說(shuō)明以列表的形式給出。</p><p>  表 3-1 新聞前臺(tái)首頁(yè)說(shuō)明</p><p>  3.2 數(shù)據(jù)庫(kù)表設(shè)計(jì)</p><p><b>  表 3-2 公告表</b></p><p>  表 3-3

41、焦點(diǎn)導(dǎo)讀表</p><p>  表 3-4 后臺(tái)管理員表</p><p><b>  表 3-5 新聞表</b></p><p>  表 3-6 新聞詳細(xì)類別表</p><p>  3.3 公共模塊設(shè)計(jì)</p><p>  3.3.1 編寫(xiě)獲取系統(tǒng)時(shí)間操作類</p><p>

42、;  當(dāng)前系統(tǒng)對(duì)系統(tǒng)時(shí)間操作類的名稱為:TimeShow。該類的主要作用是在后臺(tái)管理維護(hù)新聞信息時(shí),獲取系統(tǒng)時(shí)間來(lái)記錄系統(tǒng)數(shù)據(jù)的時(shí)間,并且利用系統(tǒng)時(shí)間判斷維護(hù)的信息是否是最新的數(shù)據(jù)。除了獲取系統(tǒng)時(shí)間外,TimeShow類還將系統(tǒng)的時(shí)間轉(zhuǎn)換成格林威治標(biāo)準(zhǔn)時(shí),作為維護(hù)數(shù)據(jù)的靜態(tài)頁(yè)面的名稱保存在服務(wù)器相對(duì)應(yīng)的文件夾中,在新聞前臺(tái)頁(yè)面中直接調(diào)用該文件夾中的靜態(tài)頁(yè)面就可以對(duì)新聞的詳細(xì)內(nèi)容進(jìn)行查詢,TimeShow類文件的關(guān)鍵代碼如下:</p

43、><p>  package com.tools;</p><p>  import java.text.DateFormat;</p><p>  import java.util.Date;</p><p>  public class TimeShow {</p><p>  public static String

44、 cuttentMonthDate() {</p><p>  Date date = new Date();</p><p>  DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);</p><p>  return dateFormat.format(date);</p&g

45、t;<p><b>  }</b></p><p>  public static String autoNumber(){</p><p>  Date date= new Date();</p><p>  String autonumber=String.valueOf(date.getTime());</p>

46、<p>  return autonumber+".html";</p><p><b>  }</b></p><p><b>  } </b></p><p>  3.3.2 編寫(xiě)字符串自動(dòng)處理類</p><p>  當(dāng)前系統(tǒng)使用的字符串自動(dòng)處理類的名稱為Self

47、RequestProcessor,該類繼承了Struts框架中的RequestProcessor類,實(shí)現(xiàn)RequestProcessor類中的RequestProcessor()方法,該方法作用是將從form表單中獲取的字符串編碼格式轉(zhuǎn)換成gb2312。代碼如下:</p><p>  package com.tools;</p><p>  import java.io.Unsupport

48、edEncodingException;</p><p>  import javax.servlet.http.HttpServletRequest;</p><p>  import javax.servlet.http.HttpServletResponse;</p><p>  import org.apache.struts.action.RequestP

49、rocessor;</p><p>  public class SelfRequestProcessor extends RequestProcessor {</p><p>  public SelfRequestProcessor() {</p><p><b>  }</b></p><p>  protecte

50、d boolean processPreprocess(HttpServletRequest request,</p><p>  HttpServletResponse response) {</p><p>  super.processPreprocess(request, response);</p><p><b>  try {</b&g

51、t;</p><p>  request.setCharacterEncoding("gb2312");</p><p>  } catch (UnsupportedEncodingException ex) {</p><p>  ex.printStackTrace();</p><p><b>  }<

52、;/b></p><p>  return true;</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.3.3 編寫(xiě)文件刪除類</p><p>  當(dāng)前系統(tǒng)使用的文件刪除類的名稱為FileOperation,在該類

53、中的deleteFile()方法中,實(shí)例化File類的對(duì)象file,并將filename對(duì)象作為該實(shí)例化對(duì)象的參數(shù),通過(guò)file調(diào)用exists()方法,判斷filename對(duì)象內(nèi)容是否存在,如果存在將調(diào)用delete()方法執(zhí)行刪除文件的方法。</p><p><b>  代碼:</b></p><p>  package com.tools;</p>

54、<p>  import java.io.File;</p><p>  public class FileOperation</p><p><b>  {</b></p><p>  public static void deleteFile(String filename)</p><p><b&

55、gt;  {</b></p><p>  java.io.File file = new File(filename);</p><p>  if (file.exists())</p><p><b>  }</b></p><p><b>  }</b></p><

56、;p><b>  }</b></p><p>  3.3.4 編寫(xiě)Hibernate數(shù)據(jù)庫(kù)配置文件</p><p>  Hibernate配置文件主要用于配置數(shù)據(jù)庫(kù)連接和Hibernate運(yùn)行時(shí)所需的各種屬性。它同時(shí)支持XML格式的配置文件和傳統(tǒng)的properties文件配置方式,當(dāng)前系統(tǒng)采用的是XML型配置文件。XML配置文件提供了更容易的結(jié)構(gòu)和更強(qiáng)的配置能力

57、,可以直接對(duì)映射文件加以配置并由Hibernate自動(dòng)加載。而在properties文件中則無(wú)法做到這點(diǎn),必須在程序中通過(guò)編碼進(jìn)行映射文件的加載。代碼如下:</p><p>  <?xml version='1.0' encoding='UTF-8'?></p><p>  <!DOCTYPE hibernate-configuration

58、</p><p>  public "-//Hibernate/Hibernate Configuration DTD//EN"</p><p>  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"></p><p>  <hibe

59、rnate-configuration></p><p>  <session-factory></p><p>  <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect </property></p><p>

60、  <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property></p><p>  <property name="connection.url">jdbc:microsoft:sqlserver://lo

61、calhost:1433;DatabaseName=db_wyNews</property></p><p>  <property name="connection.username">sa</property></p><p>  <property name="connection.password"&

62、gt;</property></p><p>  <property name="show_sql">false</property></p><p>  <mapping resource="com/actionForm/SortForm.hbm.xml"/></p><p>

63、  <mapping resource="com/actionForm/NewsForm.hbm.xml"/></p><p>  <mapping resource="com/actionForm/AfficheForm.hbm.xml"/></p><p>  <mapping resource="com/

64、actionForm/ForceForm.hbm.xml"/></p><p>  <mapping resource="com/actionForm/ManagerForm.hbm.xml"/></p><p>  </session-factory></p><p>  </hibernate-c

65、onfiguration></p><p>  3.3.5 編寫(xiě)數(shù)據(jù)持久化類</p><p>  當(dāng)前系統(tǒng)是一個(gè)數(shù)據(jù)庫(kù)持久化類的名稱為ObjectDao。開(kāi)發(fā)當(dāng)前系統(tǒng)使用了Hibernate框架和Struts框架整合技術(shù),在編寫(xiě)書(shū)庫(kù)持久化類的代碼中,分別定義了SessionFactory類、Session類和Transaction類的屬性,之后通過(guò)靜態(tài)方法取得對(duì)數(shù)據(jù)庫(kù)的鏈接操作,最后

66、根據(jù)鏈接對(duì)象分別實(shí)現(xiàn)對(duì)數(shù)據(jù)表的添加、修改、刪除、和查詢操作。具體代碼如下:public class ObjectDao<T> {</p><p>  private static SessionFactory sessionFactory ;</p><p>  private static Session session = null;</p><p&g

67、t;  Transaction tx = null;</p><p><b>  static {</b></p><p><b>  try {</b></p><p>  Configuration config = new Configuration().configure();</p><p&

68、gt;  sessionFactory = config.buildSessionFactory();</p><p>  } catch (Exception e) {</p><p>  //System.out.println("ffffffffffff");</p><p>  System.out.println(e.getMessag

69、e());</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.4 新聞查詢功能模塊</p><p>  3.4.1 新聞查詢功能模塊總體架構(gòu)</p><p>  ◆ 網(wǎng)站首頁(yè)中的新聞查詢:用于在網(wǎng)站的首頁(yè)中,查詢部分新聞標(biāo)

70、題的功能。</p><p>  ◆ 按大類別查詢新聞和今日新聞查看:用于按大類別查詢新聞和今日新聞查詢的功能。</p><p>  ◆ 按關(guān)鍵字查詢新聞:用于按關(guān)鍵字查詢新聞。</p><p>  ◆ 新聞的詳細(xì)查詢:用于對(duì)新聞內(nèi)容的詳細(xì)查詢。</p><p>  3.4.2 新聞功能模塊的ActionForm類與配置文件</p>

71、<p>  新聞查詢模塊中主要涉及到兩個(gè)方面的ActionForm類:一個(gè)是新聞小類別的ActionForm與相應(yīng)的配置文件;另一個(gè)是新聞的ActionForm類相應(yīng)的配置文件。</p><p>  在新聞小類別功能模塊中,涉及的數(shù)據(jù)表是新聞小類別信息表(tb_sort)。在新聞小類別信息表中保存著小類別的名稱和創(chuàng)建時(shí)間等內(nèi)容,根據(jù)這些信息創(chuàng)建小類別信息的ActionForm名稱為“SortForm

72、.java”關(guān)鍵代碼如下:</p><p>  package com.actionForm;</p><p>  import org.apache.struts.action.*;</p><p>  public class SortForm extends ActionForm {</p><p>  private String b

73、igSort="";//大類別名稱</p><p>  private int id=-1;//自動(dòng)編號(hào)</p><p>  private String smallSort="";//小類別名稱</p><p>  private String createTime=""; //創(chuàng)建時(shí)間&l

74、t;/p><p>  public SortForm(){}</p><p>  public String getBigSort() {</p><p>  return bigSort;</p><p><b>  }</b></p><p>  public void setBigSort(St

75、ring bigSort) {</p><p>  this.bigSort = bigSort;</p><p>  public void setSmallSort(String smallSort) {</p><p>  this.smallSort = smallSort;</p><p><b>  }</b>

76、;</p><p>  public void setId(int id) {</p><p>  this.id = id;</p><p><b>  }</b></p><p>  public void setCreateTime(String createTime) {</p><p>

77、  this.createTime = createTime;</p><p><b>  }</b></p><p>  public int getId() {</p><p>  return id;</p><p>  新聞功能模塊的ActionForm類與配置文件</p><p>  在

78、新聞查詢功能模塊中,涉及的數(shù)據(jù)表是新聞信息表(tb_news)。在新聞信息表中保存著新聞?lì)}目、新聞主要內(nèi)容及新聞發(fā)布時(shí)間等內(nèi)容,根據(jù)這些信息創(chuàng)建新聞信息的ActionForm名稱為“NewsForm.java”,關(guān)鍵代碼如下:</p><p>  package com.actionForm;</p><p>  import javax.servlet.http.*;</p>

79、<p>  import org.apache.struts.action.*;</p><p>  public class NewsForm extends ActionForm {</p><p>  private int id=-1;</p><p>  private int sortId=-1;</p><p> 

80、 private String content="";</p><p>  private String createTime="";</p><p>  private String bigSort=""; </p><p>  private String title="";<

81、/p><p>  private String showNews="";</p><p>  public String getContent() {</p><p>  return content;</p><p><b>  }</b></p><p>  public St

82、ring getShowNews()</p><p><b>  {</b></p><p>  return showNews;</p><p><b>  }</b></p><p>  public void setShowNews(String showNews)</p>&l

83、t;p><b>  {</b></p><p>  this.showNews = showNews;</p><p><b>  }</b></p><p>  public void setContent(String content) {</p><p>  this.content =

84、 content;</p><p><b>  }</b></p><p>  public void setTitle(String title) {</p><p>  this.title = title;</p><p><b>  }</b></p><p>  p

85、ublic void setCreateTime(String createTime) {</p><p>  this.createTime = createTime;</p><p><b>  }</b></p><p>  public void setId(int id) {</p><p>  this.id

86、 = id;</p><p><b>  }</b></p><p>  public void setSortId(int sortId) {</p><p>  this.sortId = sortId;</p><p><b>  }</b></p><p>  pub

87、lic void setBigSort(String bigSort) {</p><p>  this.bigSort = bigSort;</p><p><b>  }</b></p><p>  public String getCreateTime() {</p><p>  return createTime

88、;</p><p><b>  }</b></p><p>  public String getTitle() {</p><p>  return title;</p><p><b>  }</b></p><p>  public int getId() {</

89、p><p>  return id;</p><p><b>  }</b></p><p>  public int getSortId() {</p><p>  return sortId;</p><p><b>  }</b></p><p> 

90、 public String getBigSort() {</p><p>  return bigSort;</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.4.3 首頁(yè)面新聞查詢實(shí)現(xiàn)過(guò)程</p><p>  在網(wǎng)站首

91、頁(yè)中的右側(cè)頁(yè)面中主要是按不同的新聞大類別顯示新聞的標(biāo)題,這里主要存在的類別主要包括:科學(xué)教育、法制教育、時(shí)政要聞、經(jīng)濟(jì)動(dòng)向、社會(huì)現(xiàn)象以及娛樂(lè)天地6組大類別內(nèi)容。</p><p>  按各種新聞的類別顯示新聞標(biāo)題主要是通過(guò)在首頁(yè)中定義數(shù)據(jù)持久化類的實(shí)例化對(duì)象實(shí)現(xiàn),由于數(shù)據(jù)庫(kù)持久化類對(duì)數(shù)據(jù)表的操作是過(guò)Hibernate中的hql語(yǔ)句進(jìn)行操作的,因此,在首頁(yè)面中對(duì)每個(gè)類別定義如下的hql語(yǔ)句:</p>&

92、lt;p>  typeNews="科學(xué)教育";</p><p>  hql="from NewsForm where bigSort = '"+typeNews+"' order by id desc";</p><p>  typeNews="法制教育";</p><

93、p>  hql="from NewsForm where bigSort = '"+typeNews+"' order by id desc"; </p><p>  typeNews="時(shí)政要聞”;</p><p>  hql="from NewsForm where bigSort = '&quo

94、t;+typeNews+"' order by id desc" </p><p>  typeNews="經(jīng)濟(jì)動(dòng)向";</p><p>  hql="from NewsForm where bigSort = '"+typeNews+"' order by id desc"; <

95、/p><p>  typeNews="娛樂(lè)天地”;</p><p>  hql="from NewsForm where bigSort = '"+typeNews+"' order by id desc"; </p><p>  typeNews="社會(huì)現(xiàn)象”; </p><

96、;p>  hql="from NewsForm where bigSort = '"+typeNews+"' order by id desc";</p><p>  3.4.4 新聞關(guān)鍵字查詢實(shí)現(xiàn)過(guò)程</p><p>  在當(dāng)前系統(tǒng)的前臺(tái)左側(cè)頁(yè)面中存在站內(nèi)搜索的功能,在“關(guān)鍵字”文本框中輸入要搜索的內(nèi)容,單擊“search”按

97、鈕后可以進(jìn)行新聞關(guān)鍵字搜索的功能,如圖所示:</p><p>  圖 3-1 站內(nèi)搜索界面</p><p>  3.4.5 新聞詳細(xì)查詢實(shí)現(xiàn)過(guò)程</p><p>  無(wú)論在前臺(tái)頁(yè)面中進(jìn)行任何查詢的操作,在查詢結(jié)果頁(yè)面中,單擊新聞標(biāo)題超鏈接就可以進(jìn)行對(duì)新聞詳細(xì)查詢。由于管理員在后臺(tái)進(jìn)行數(shù)據(jù)維護(hù)時(shí),將新聞內(nèi)容保存在HTML網(wǎng)頁(yè)中,將HTML網(wǎng)頁(yè)的名稱保存在數(shù)據(jù)表,因此,

98、單擊每個(gè)標(biāo)題中的鏈接實(shí)際上都會(huì)出發(fā)一個(gè)HTML網(wǎng)頁(yè),該網(wǎng)頁(yè)將被彈出顯示。</p><p>  3.5 后臺(tái)系統(tǒng)架構(gòu)</p><p>  3.5.1 后臺(tái)首頁(yè)面架構(gòu)</p><p>  在當(dāng)前系統(tǒng)的后臺(tái)首頁(yè)中,管理員可以對(duì)各種類別的新聞、站內(nèi)公告以及焦點(diǎn)導(dǎo)讀進(jìn)行管理,如果登錄用戶為系統(tǒng)管理員,則可以對(duì)站內(nèi)的管理員信息進(jìn)行管理,如果登錄的用戶為普通管理員,則具有修改登錄

99、用戶信息的功能,新聞后臺(tái)首頁(yè)運(yùn)行結(jié)果</p><p>  各個(gè)部分說(shuō)明以列表的形式給出:</p><p>  表 3-7 系統(tǒng)后臺(tái)各部分功能</p><p>  3.6 管理員模塊管理</p><p>  3.6.1 管理員模塊總體架構(gòu)</p><p>  1.管理員管理模塊主要功能</p><p&

100、gt;  ◆ 管理員登錄:用于核實(shí)管理員身份的功能。</p><p>  ◆ 管理員查詢:用于實(shí)現(xiàn)管理員查詢的功能。</p><p>  ◆ 管理員添加:用于管理員添加的功能。</p><p>  ◆ 管理員密碼修改:用于修改普通管理員密碼的功能。2.管理員管理流程</p><p>  圖 3-2 管理員管理流程圖</p

101、><p>  3.6.2 管理員登錄的實(shí)現(xiàn)過(guò)程</p><p>  管理員登錄是管理員進(jìn)入后臺(tái)維護(hù)數(shù)據(jù)的唯一通道。在前臺(tái)首頁(yè)右上角單擊“進(jìn)入后臺(tái)”超鏈接,進(jìn)入到管理員登錄頁(yè)面,如圖:</p><p>  圖 3-3 后臺(tái)登錄界面</p><p>  3.7 新聞管理模塊</p><p>  3.7.1 新聞管理模塊總體架構(gòu)

102、</p><p>  1.新聞管理模塊主要功能</p><p><b>  ◆ 新聞小類別添加</b></p><p><b>  ◆ 新聞小類別刪除</b></p><p><b>  ◆ 新聞小類別查詢</b></p><p><b>  

103、◆ 新聞添加</b></p><p><b>  ◆ 新聞修改</b></p><p><b>  ◆ 新聞刪除</b></p><p><b>  ◆ 新聞查詢</b></p><p>  3.7.2新聞?lì)悇e的實(shí)現(xiàn)類</p><p>  在

104、當(dāng)前系統(tǒng)中,新聞?lì)悇e主要是分為6大類:時(shí)政要聞、經(jīng)濟(jì)動(dòng)向、法制教育、科學(xué)教育、社會(huì)現(xiàn)象以及娛樂(lè)天地。這6大類是固定的,但是它們的小類別不是固定的,需要后臺(tái)管理員進(jìn)行維護(hù)。新聞?lì)悇e實(shí)現(xiàn)類名稱為:SortAction.java.該類繼承DispatchAction類,實(shí)現(xiàn)多業(yè)務(wù)處理的操作。</p><p><b>  代碼如下:</b></p><p>  Package

105、 com.action;</p><p>  Import javax.servlet.http.*;</p><p>  Import org.apache.struts.action.*;</p><p>  Import com.actionForm.SrotForm:</p><p>  Import org.apache.strut

106、s.actions.DispatchAction;</p><p>  Import com.dao.ObjectDao;</p><p>  Import java.util.List;</p><p>  Import java.io.UnsupportedEncodingException;</p><p>  Public class

107、 SortAction extends DispatchAction</p><p><b>  {</b></p><p><b>  }</b></p><p>  3.7.3 新聞?lì)悇e查詢的實(shí)現(xiàn)過(guò)程</p><p>  新聞?lì)悇e信息的維護(hù)主要是新聞操作的子功能,例如單擊左側(cè)頁(yè)面中“時(shí)政要聞”的

108、超鏈接,可以查看該大類別中的所有小類別,查詢小類別信息的運(yùn)行結(jié)果如圖:</p><p>  圖 3-4 新聞?lì)悇e頁(yè)面</p><p>  實(shí)現(xiàn)“詳細(xì)類別管理”關(guān)鍵代碼如下:</p><p><b>  <%</b></p><p>  String sortNews=new String(request.getPa

109、rameter("bigSort").getBytes("ISO8859_1"),"gb2312");</p><p>  int pagesize=10;</p><p>  List list=(List)request.getAttribute("list");</p><p> 

110、 int number=list.size();</p><p>  //以下這段代碼是計(jì)算多少頁(yè)數(shù)</p><p>  int pageNumber=number;</p><p>  if(pageNumber%pagesize==0){</p><p>  pageNumber=pageNumber/pagesize;</p>

111、;<p><b>  }else{</b></p><p>  pageNumber=pageNumber/pagesize+1;</p><p><b>  }</b></p><p>  //以下是計(jì)算當(dāng)前頁(yè)的頁(yè)數(shù)</p><p>  int count;</p>&

112、lt;p>  if(request.getParameter("count")==null){</p><p><b>  count=0;</b></p><p><b>  }else{</b></p><p>  count=Integer.valueOf(request.getParame

113、ter("count"));</p><p><b>  }</b></p><p>  //以下顯示多少條紀(jì)錄</p><p>  int start=count*pagesize;//開(kāi)始條數(shù)</p><p>  int over=(count+1)*pagesize;//結(jié)束條數(shù)</p&g

114、t;<p>  int lastCount=number-over;//還剩多少條記錄</p><p>  if(lastCount<=0){</p><p>  over=number;</p><p><b>  }</b></p><p><b>  %></b>&l

115、t;/p><p><b>  <%</b></p><p>  for(int i=start;i<over;i++)</p><p><b>  {</b></p><p>  NewsForm form=(NewsForm)list.get(i);</p><p&g

116、t;  String hql="from SortForm where id='"+form.getSortId()+"'";</p><p>  SortForm sortForm=(SortForm)objectDao.queryFrom(hql);</p><p><b>  }%></b></

117、p><p>  3.7.4 新聞?lì)悇e添加的實(shí)現(xiàn)過(guò)程</p><p>  在新聞?lì)悇e查詢頁(yè)面上,單擊“添加類別”的超鏈接,即可顯示添加新聞?lì)悇e信息的頁(yè)面,運(yùn)行結(jié)果如圖:</p><p>  圖 3-5添加新聞?lì)悇e頁(yè)面</p><p>  添加新類別頁(yè)面提交表單如下:</p><p>  表 3-8 添加新聞?lì)悇e頁(yè)面提交表單&

118、lt;/p><p><b>  關(guān)鍵代碼如下:</b></p><p>  public ActionForward selectSortAction(ActionMapping mapping,</p><p>  ActionForm form, HttpServletRequest request,</p><p> 

119、 HttpServletResponse response)</p><p>  throws UnsupportedEncodingException</p><p><b>  {</b></p><p>  objectDao = new ObjectDao<SortForm>();</p><p> 

120、 String bigSort = request.getParameter("bigSort");</p><p>  bigSort = new String(bigSort.getBytes("ISO8859_1"), "gb2312");</p><p>  String hql = "from SortForm

121、 where bigSort='" + bigSort</p><p>  + "' order by id desc";</p><p>  List list = objectDao.queryList(hql);</p><p>  request.setAttribute("list", li

122、st);</p><p>  return mapping.findForward("selectSortAction");</p><p><b>  }</b></p><p>  // 對(duì)新聞詳細(xì)類別插入的Action</p><p>  public ActionForward insertS

123、ortAction(ActionMapping mapping,</p><p>  ActionForm form, HttpServletRequest request,</p><p>  HttpServletResponse response)</p><p>  throws UnsupportedEncodingException</p>

124、<p><b>  {</b></p><p>  SortForm sortForm = (SortForm) form;</p><p>  String hql = "from SortForm where bigSort = '"</p><p>  + sortForm.getBigSort()

125、 + "' and smallSort = '"</p><p>  + sortForm.getSmallSort() + "'";</p><p>  objectDao = new ObjectDao<SortForm>();</p><p>  SortForm sort = obj

126、ectDao.queryFrom(hql);</p><p>  if (sort != null)</p><p><b>  {</b></p><p>  request.setAttribute("result", "您輸入的類別名稱重復(fù),請(qǐng)重新輸入");</p><p>

127、<b>  } else</b></p><p><b>  {</b></p><p>  objectDao.saveT(sortForm);</p><p>  request.setAttribute("result", "您輸入的類別成功");</p><

128、;p><b>  }</b></p><p>  return mapping.findForward("resultSortAction");</p><p><b>  }</b></p><p>  3.7.5 新聞查詢的實(shí)現(xiàn)過(guò)程</p><p>  管理員登錄以后,

129、在左側(cè)區(qū)域中,單擊任意新聞?lì)悇e的類別的鏈接,都可以對(duì)新聞所在的類別進(jìn)行查詢,其中,實(shí)現(xiàn)這些鏈接是將所有的大類別信息保存在一個(gè)數(shù)組對(duì)象中,然后通過(guò)for循環(huán)顯示數(shù)組中的新聞?lì)悇e內(nèi)容,最后設(shè)置相同的超鏈接,通過(guò)for循環(huán)顯示各個(gè)類別信息的超鏈接的代碼如下:</p><p><b>  <%</b></p><p>  String[] typeNews={"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論