版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 論文題目: 新聞發(fā)布管理系統(tǒng)設(shè)計(jì) </p><p> 系 別: </p><p> 專 業(yè): </p><p> 班 級(jí):
2、 </p><p> 學(xué) 號(hào): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p><b> 目 錄</b></p><p><b> 1概述1</b
3、></p><p><b> 1.1引言1</b></p><p> 1.2開發(fā)工具簡(jiǎn)介1</p><p> 1.2.1 JDK簡(jiǎn)介1</p><p> 1.2.2 Tomcat簡(jiǎn)介2</p><p> 1.2.3 Adobe DreamweaverCS4簡(jiǎn)介2</
4、p><p> 1.2.4 Microsoft Office Access2003簡(jiǎn)介2</p><p> 1.3軟件和硬件開發(fā)環(huán)境2</p><p><b> 2系統(tǒng)分析3</b></p><p> 2.1可行性分析3</p><p> 2.1.1經(jīng)濟(jì)可行性分析3</p>
5、;<p> 2.1.2技術(shù)可行性分析3</p><p> 2.2系統(tǒng)流程分析3</p><p> 3 系統(tǒng)概要設(shè)計(jì)5</p><p> 3.1系統(tǒng)開發(fā)的目標(biāo)5</p><p> 3.2系統(tǒng)的功能結(jié)構(gòu)圖5</p><p> 3.3系統(tǒng)流程圖6</p><p>
6、 3.4數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)6</p><p><b> 4 系統(tǒng)設(shè)計(jì)8</b></p><p> 4.1網(wǎng)站目錄結(jié)構(gòu)8</p><p> 4.2數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)9</p><p> 4.3主頁功能模塊9</p><p> 4.3.1主頁頭部9</p><
7、p> 4.3.2檢索功能10</p><p> 4.3.3主頁主體11</p><p> 4.3.4新聞信息11</p><p> 4.3.5新聞內(nèi)容15</p><p> 4.4檢索新聞17</p><p> 4.5管理員登陸頁面24</p><p> 4.6新
8、聞管理25</p><p> 4.6.1新聞管理頭部28</p><p> 4.6.2編輯刪除新聞29</p><p><b> 總結(jié)30</b></p><p><b> 致謝31</b></p><p><b> 參考文獻(xiàn)32</b&
9、gt;</p><p> 新聞發(fā)布管理系統(tǒng)設(shè)計(jì)</p><p> 摘 要: 新聞發(fā)布管理系統(tǒng),是將每天在世界上發(fā)生的新聞等其他最新信息集中管理,并通過這些信息某方面的共性進(jìn)行分類,最后系統(tǒng)化、標(biāo)準(zhǔn)化發(fā)布到網(wǎng)站上。本系統(tǒng)是由動(dòng)態(tài)網(wǎng)頁和數(shù)據(jù)庫(kù)結(jié)合起來的,可進(jìn)行新聞信息的添加、刪除、修改等操作,且符合新聞管理的一般規(guī)定,能夠滿足新聞網(wǎng)站日常更新,并達(dá)到操作過程中的直觀、方便、實(shí)用、安全等要
10、求。</p><p> 關(guān)鍵字: 新聞管理 更新 檢索 </p><p><b> 1概述</b></p><p><b> 1.1引言</b></p><p> 伴隨著網(wǎng)絡(luò)的出現(xiàn),網(wǎng)頁逐漸融入人們的生活??焖偌皶r(shí)的新聞瀏覽,五彩繽紛的網(wǎng)上信息,使網(wǎng)絡(luò)與人們的生活息
11、息相關(guān),于是世界上又出現(xiàn)了第三媒體——Internet。它打破了地域限制,真正使信息得以共享,改變了人們的工作和生活方式。制作網(wǎng)頁是企業(yè)和個(gè)人的宣傳自己的重要手段,同時(shí)也是學(xué)習(xí)者獲取學(xué)習(xí)信息的重要手段。尤其是在教育領(lǐng)域,在素質(zhì)教育與終身教育成為必然的今天,人們對(duì)信息的需求有了更新,更高的要求,而網(wǎng)頁由于本身所具有的信息量大,傳遞快速,沒有時(shí)空限制等特點(diǎn)恰好滿足這種要求。所以網(wǎng)頁也逐漸成為一種新興的教育資源。也正是由于網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)站的數(shù)據(jù)信
12、息能夠進(jìn)行實(shí)時(shí)交互,保證網(wǎng)站數(shù)據(jù)的實(shí)時(shí)性。</p><p> 網(wǎng)絡(luò)媒體在人們心中的地位逐步提高,新聞發(fā)布系統(tǒng)做為網(wǎng)絡(luò)媒體的核心系統(tǒng),其重要性是越來越重要:一方面,它提供一個(gè)新聞管理和發(fā)布的功能;另一方面,現(xiàn)在的新聞發(fā)布要求實(shí)現(xiàn)與普通的用戶實(shí)現(xiàn)交互,用戶可以很方便地參加一些調(diào)查和相關(guān)新聞的評(píng)論,這一點(diǎn)也是其他一些媒體現(xiàn)在無法做到的(電視、電臺(tái)等),同時(shí),Internet發(fā)展到當(dāng)今,可以說,只要你上Internet
13、,你就會(huì)接觸到新聞發(fā)布系統(tǒng),新聞發(fā)布系統(tǒng)的用戶是相當(dāng)驚人的,其重要性是不容置疑的,當(dāng)然這也對(duì)新聞發(fā)布系統(tǒng)的開發(fā)提出了更高的要求。</p><p><b> 1.2開發(fā)工具簡(jiǎn)介</b></p><p> 我本次制作的畢業(yè)設(shè)計(jì)主要是應(yīng)用JDK、Tomcat6.0 、Adobe DreamweaverCS4、和Microsoft Office Access2003數(shù)據(jù)庫(kù)
14、完成的。</p><p> 1.2.1 JDK簡(jiǎn)介</p><p> JDK(Java Development Kit)是Sun Microsystems(已被甲骨文公司收購(gòu))針對(duì)Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境,Java工具和Java基礎(chǔ)的類庫(kù)。JDK是學(xué)好Java的第一步。而
15、專門運(yùn)行在x86平臺(tái)的Jrocket在服務(wù)端運(yùn)行效率也要比Sun JDK好很多。從SUN的JDK5.0開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。</p><p> 1.2.2 Tomcat簡(jiǎn)介</p><p> Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由A
16、pache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是7.0。</p><p>
17、 1.2.3 Adobe DreamweaverCS4簡(jiǎn)介</p><p> Adobe DreamweaverCS4是個(gè)原本由Macromedia公司所開發(fā)的著名網(wǎng)站開發(fā)工具。它使用所見即所得的接口,亦有HTML編輯的功能。它現(xiàn)在有Mac和Windows系統(tǒng)的版本。隨Macromedia被Adobe收購(gòu)后,Adobe也開始計(jì)劃開發(fā)Linux版本的Dreamweaver了。 Dreamweaver自MX版本開
18、始,使用了Opera的排版引擎 “Presto” 作為網(wǎng)頁預(yù)覽。目前最新版本是Adobe DreamweaverCS5</p><p> 1.2.4 Microsoft Office Access2003簡(jiǎn)介</p><p> Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS,即Relational Database Management Syste
19、m),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。目前已有Microsoft Office Access2007</p><p> 1.3軟件和硬件開發(fā)環(huán)境</p
20、><p> 軟件系統(tǒng)環(huán)境 :操作系統(tǒng)是Windows XP、主要編程工具是Adobe DreamweaverCS4、數(shù)據(jù)庫(kù)使用Microsoft Office Access2003。</p><p><b> 硬件系統(tǒng)環(huán)境:</b></p><p> 最低要求配置:英特爾 Intel(R) Celeron(R) CPU 430 @ 1.80G
21、Hz以上。 </p><p> 內(nèi)存:512M以上。 </p><p> 硬盤空間:300M的閑置空間。</p><p><b> 2系統(tǒng)分析</b></p><p> 本系統(tǒng)主要實(shí)現(xiàn)的功能如下:</p><p> ?。?)將新聞進(jìn)行分類,分為四類:科技、財(cái)經(jīng)、娛樂、數(shù)碼。</p&g
22、t;<p> ?。?)可根據(jù)相應(yīng)的類別輸入關(guān)鍵字對(duì)新聞進(jìn)行檢索</p><p> (3)實(shí)現(xiàn)了“熱點(diǎn)新聞”,“近期新聞”的功能</p><p> ?。?)管理員可對(duì)新聞進(jìn)行修改,刪除操作。</p><p> ?。?)管理員可登陸后臺(tái)發(fā)布新聞</p><p> ?。?)管理員能了解各類新聞的條數(shù),數(shù)據(jù)庫(kù)中的新聞總條數(shù),還有每條新
23、聞的屬于哪個(gè)類別的。</p><p> (7)檢索頁面實(shí)現(xiàn)了對(duì)新聞的分頁功能</p><p><b> 2.1可行性分析</b></p><p> 可行性分析也稱可行性研究,是決策部門在采取一項(xiàng)重大改革或投資行動(dòng)之前,對(duì)該項(xiàng)目的必要性和可能性進(jìn)行分析與論證的活動(dòng)??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。&l
24、t;/p><p> 2.1.1經(jīng)濟(jì)可行性分析</p><p> 此系統(tǒng)開發(fā)時(shí)間短,一個(gè)開發(fā)人員即可。所用到的軟件均可從互聯(lián)網(wǎng)上免費(fèi)下載使用,并且此系統(tǒng)對(duì)運(yùn)行的環(huán)境要求低,從經(jīng)濟(jì)角度上說,是完全可以開發(fā)的。</p><p> 2.1.2技術(shù)可行性分析</p><p> 此系統(tǒng)由本人完成,此系統(tǒng)有用到JSP程序設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)與開發(fā)、數(shù)據(jù)庫(kù)原理
25、及應(yīng)用等知識(shí)。還有通過網(wǎng)上學(xué)習(xí),實(shí)現(xiàn)了分頁功能,熱點(diǎn)新聞和近期新聞的標(biāo)示。</p><p><b> 2.2系統(tǒng)流程分析</b></p><p> 訪客通過“查看新聞”,來瀏覽新聞的標(biāo)題以及新聞的作者和新聞的發(fā)布時(shí)間,根據(jù)新聞標(biāo)題后面是否有“HOT”,“NEW”圖標(biāo)來了解新聞是否為“熱點(diǎn)新聞”或者“近期新聞”。點(diǎn)擊“韻妍彥殤”來瀏覽本系統(tǒng)的作者信息。通過點(diǎn)擊新聞的
26、標(biāo)題來瀏覽新聞的內(nèi)容,還可以根據(jù)不同類別的查詢來檢索相應(yīng)的新聞。</p><p> 登陸管理員頁面后,管理員可以通過“發(fā)布新聞”,來發(fā)布新聞。通過“管理新聞”,可以對(duì)新聞進(jìn)行刪除和編輯。并可瀏覽新聞的標(biāo)題、新聞的作者、新聞的發(fā)布時(shí)間、新聞被瀏覽的次數(shù),新聞的類別以及新聞的總數(shù)和各類別新聞的條數(shù)。</p><p><b> 3 系統(tǒng)概要設(shè)計(jì)</b></p>
27、;<p> 3.1系統(tǒng)開發(fā)的目標(biāo)</p><p> 訪客可以通過前臺(tái)瀏覽以及檢索新聞,將新聞分成了熱點(diǎn)新聞、近期新聞和普通新聞,新聞分四類,科技,財(cái)經(jīng),娛樂,數(shù)碼。管理員可以通過登錄后臺(tái)對(duì)新聞進(jìn)行管理,包括修改新聞,刪除新聞。還可以實(shí)時(shí)發(fā)布新聞。并能瀏覽到各類(科技,財(cái)經(jīng),娛樂,數(shù)碼)新聞的條數(shù)。</p><p> 3.2系統(tǒng)的功能結(jié)構(gòu)圖 </p><
28、;p> 新聞發(fā)布管理系統(tǒng)的功能結(jié)構(gòu)圖,如圖1-1所示:</p><p> 圖1-1新聞發(fā)布管理系統(tǒng)組織結(jié)構(gòu)圖</p><p><b> 3.3系統(tǒng)流程圖</b></p><p> 新聞發(fā)布管理系統(tǒng)流程如圖3-1所示:</p><p> 圖3-1新聞發(fā)布管理系統(tǒng)流程</p><p>
29、 3.4數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 由于本系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的需求比較小,所以本系統(tǒng)使用的是Microsoft Office Access 2003作為系統(tǒng)數(shù)據(jù)庫(kù),Microsoft Office Access 2003已完全滿足本系統(tǒng)的需求,且簡(jiǎn)單好用。系統(tǒng)所涉及到的主要實(shí)體有兩個(gè):</p><p> (1)admin信息:id,name,password。如圖3-2所示:&l
30、t;/p><p> 圖3-2 admin信息E-R圖</p><p> ?。?)news信息:id,title,content,author,pubdate,jishu,newsfl。如圖3-2所示:</p><p> 圖3-3 news信息E-R圖</p><p><b> 4 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p>
31、;<p><b> 4.1網(wǎng)站目錄結(jié)構(gòu)</b></p><p> 網(wǎng)站總目錄如圖4-1所示:</p><p><b> 圖4-1網(wǎng)站總目錄</b></p><p> 4.2數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì) </p><p> admin表結(jié)構(gòu)如表4-1所示:</p><p
32、> 表4-1后臺(tái)管理員表admin</p><p> news表結(jié)構(gòu)如表4-2所示:</p><p> 表4-2新聞基本表news</p><p><b> 4.3主頁功能模塊</b></p><p><b> 4.3.1主頁頭部</b></p><p>
33、主頁頭部有三個(gè)鏈接。如圖4-2所示:</p><p> 圖4-2主頁頭部鏈接</p><p> (1)“韻妍彥殤”:鏈接ainf.jsp,瀏覽本系統(tǒng)的作者信息。如圖4-3所示:</p><p> 圖4-3 ainf.jsp</p><p> ?。?)“查看新聞”:鏈接index.jsp,主頁。如圖4-4所示:</p>&l
34、t;p> 圖4-4 index.jsp</p><p> ?。?)“新聞管理”:鏈接manage.jsp。登陸后臺(tái)對(duì)新聞進(jìn)行管理等操作。</p><p><b> 4.3.2檢索功能</b></p><p> 選擇相應(yīng)的查詢類別(標(biāo)題、內(nèi)容、作者、日期)以及輸入關(guān)鍵字后,便可檢索該類別中包括關(guān)鍵字的新聞。若關(guān)鍵字為空,是查詢所有的新
35、聞。信息提交給index0.jsp頁面進(jìn)行處理。如圖4-5所示:</p><p><b> 圖4-5檢索功能</b></p><p><b> 4.3.3主頁主體</b></p><p> 相應(yīng)類別(科技、財(cái)經(jīng)、娛樂、數(shù)碼)的新聞在相應(yīng)的表格中排布,如圖4-6所示:</p><p> 圖4-
36、6新聞按類別排布</p><p><b> 4.3.4新聞信息</b></p><p> 瀏覽每個(gè)類別的新聞信息都包括新聞的標(biāo)題、新聞的作者、新聞的發(fā)布日期,還可以根據(jù)標(biāo)題后面是否有“HOT”或者“NEW”圖標(biāo)來了解此新聞是否是“熱點(diǎn)新聞”或者為“近期新聞”。“熱點(diǎn)新聞”是指相應(yīng)類別新聞瀏覽次數(shù)最多的前三條新聞。“近期新聞”是指發(fā)布時(shí)間不超過一周的新聞。如圖4-7
37、所示:</p><p> 圖4-7瀏覽新聞信息</p><p> 代碼中的printRow(ResultSet rs ,int newsid1,int newsid2,int newsid3)方法的作用:處理哪些新聞是熱點(diǎn)新聞,哪些又是近期新聞,并最終形成表格,在表格中顯示新聞的標(biāo)題,作者,日期。方法中的四個(gè)參數(shù)分別表示:某類別新聞在數(shù)據(jù)庫(kù)中的所有字段的結(jié)果集。后三個(gè)參數(shù)代表這個(gè)類別當(dāng)
38、中被瀏覽次數(shù)最多的三條新聞的id字段。新聞信息實(shí)現(xiàn)的代碼如下:</p><p> public String printRow( ResultSet rs ,int newsid1,int newsid2,int newsid3) </p><p><b> {</b></p><p> String temp = ""
39、;;</p><p> String Asj="";//獲取數(shù)據(jù)庫(kù)中的時(shí)間字段</p><p> String Jasj="";//截取數(shù)據(jù)庫(kù)中的時(shí)間字段,格式:yyyyMMdd</p><p> long Aczx,Jczx,Zczx;</p><p> SimpleDateFormat sj
40、gs=new SimpleDateFormat("yyyyMMdd");//設(shè)置系統(tǒng)時(shí)間的格式</p><p> String Jxsj=sjgs.format(Calendar.getInstance().getTime());//獲取系統(tǒng)時(shí)間</p><p> int GETid=0;//獲得數(shù)據(jù)庫(kù)的id字段值</p><p><b
41、> try</b></p><p><b> {</b></p><p> Asj=rs.getString("pubdate");</p><p> GETid=rs.getInt("id");</p><p> }catch(SQLException
42、 e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p> Jasj=Asj.substring(0,4);</p><p> Jasj+=Asj.substring(5,7);</p><p> Jasj+=Asj.su
43、bstring(8,10);</p><p> Aczx=Long.parseLong(Jasj);//將數(shù)據(jù)庫(kù)中的字符串類型的時(shí)間字段轉(zhuǎn)換成長(zhǎng)整型</p><p> Jczx=Long.parseLong(Jxsj);//將系統(tǒng)的字符串類型的時(shí)間字段轉(zhuǎn)換成長(zhǎng)整型</p><p> Zczx=Jczx-Aczx;//系統(tǒng)時(shí)間減數(shù)據(jù)庫(kù)時(shí)間,旨在:求出的數(shù)值與7比
44、較,與實(shí)現(xiàn)近期新聞?dòng)嘘P(guān)(近期新聞:發(fā)布時(shí)間在一周之內(nèi)的新聞,后面有NEW圖標(biāo))</p><p><b> try {</b></p><p> if(i%2==1)</p><p> temp+="<tr bgcolor='#99CCFF'>";</p><p>&l
45、t;b> else</b></p><p> temp+="<tr bgcolor='#f7f7f7'>";</p><p> if(Zczx<=7&&(newsid1==GETid||newsid2==GETid||newsid3==GETid))</p><p><
46、;b> {</b></p><p> temp+="<td><a href=javascript:detail("+GETid+")>"+rs.getString("title")+"</a><img src='NEW.gif' alt='new'&
47、gt;<img src='HOT.jpg' alt='HOT'></td>";</p><p><b> }</b></p><p> else if(Zczx<=7&&newsid1!=GETid&&newsid2!=GETid&&newsid
48、3!=GETid)</p><p><b> {</b></p><p> temp+="<td><a href=javascript:detail("+GETid+")>"+rs.getString("title")+"</a><img src=
49、9;NEW.gif' alt='new'></td>";</p><p><b> }</b></p><p> else if(Zczx>7&&(newsid1==GETid||newsid2==GETid||newsid3==GETid))</p><p><
50、;b> {</b></p><p> temp+="<td><a href=javascript:detail("+GETid+")>"+rs.getString("title")+"</a><img src='HOT.jpg' alt='HOT'&
51、gt;</td>";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> temp+="<td><a href=javascript:
52、detail("+GETid+")>"+rs.getString("title")+"</a></td>";</p><p><b> }</b></p><p> temp+="<td>"+rs.getString("au
53、thor")+"</td>";</p><p> temp+="<td>"+Asj+"</td>";</p><p> temp += "</tr>";</p><p><b> i++;</b><
54、;/p><p><b> }</b></p><p> catch(SQLException e) { }</p><p> return temp;</p><p><b> }</b></p><p><b> %></b></
55、p><p> <table width="100%" border="0" cellspacing="25"></p><p><b> <tr></b></p><p> <td align="center"></p&g
56、t;<p> <p><img src="bt1.jpg" width="425" height="28" alt="bt1" align="left"></p></p><p> <p> </p></p>
57、<p><b> <p></b></p><p> <table border="1" borderColorDark="#ffffec" borderColorLight="#5e5e00" width="100%"></p><p> <t
58、r bgcolor="#66CCFF" align="center"></p><p> <th width="40%" bgcolor="#66CCFF">標(biāo)題</th></p><p> <th width="30%" bgcolor="
59、#66CCFF">作者</th></p><p> <th bgcolor="#66CCFF">日期</th></p><p><b> <%</b></p><p> rs=conn.executeQuery(sql5);</p><p&g
60、t; /*根據(jù)數(shù)據(jù)庫(kù)里jishu字段,以選擇排序法對(duì)數(shù)據(jù)庫(kù)里的新聞進(jìn)行排序,選出點(diǎn)擊次數(shù)最多的三個(gè)新聞id*/</p><p> rs1=conn.executeQuery(sql31);</p><p> rs2=conn.executeQuery(sql21);</p><p> newstotalrecord1=0;//旨在:科技新聞的總條數(shù),為了限定
61、數(shù)組的長(zhǎng)度</p><p> if(rs2.next())</p><p> newstotalrecord1=rs2.getInt(1);</p><p> int pxjishu1[]=new int[newstotalrecord1];//旨在;將數(shù)據(jù)庫(kù)里的jishu字段進(jìn)行排序,為了確定點(diǎn)擊次數(shù)最多的前三條新聞的id</p><p&
62、gt; int pxid1[]=new int[newstotalrecord1];//旨在;依據(jù)pxjishu[]數(shù)組的排序?qū)?shù)據(jù)庫(kù)中的id字段進(jìn)行排序,選出點(diǎn)擊次數(shù)最多的前三條新聞的id</p><p> /*將數(shù)據(jù)庫(kù)里的id,jishu兩個(gè)字段的值放入相應(yīng)的數(shù)組中*/</p><p> for(int i=0;i<newstotalrecord1;i++)</p&g
63、t;<p><b> {</b></p><p> if(rs1.next())</p><p><b> {</b></p><p> pxjishu1[i]=rs1.getInt("jishu");</p><p> pxid1[i]=rs1.getI
64、nt("id");</p><p><b> }</b></p><p><b> }</b></p><p> /*將數(shù)據(jù)庫(kù)里的id,jishu兩個(gè)字段的值放入相應(yīng)的數(shù)組中*/</p><p> for(int i=pxjishu1.length-1;i>0;i-
65、-)</p><p><b> {</b></p><p> max1=0;max2=0;</p><p> for(int j=1;j<=i;j++)</p><p><b> {</b></p><p> if(pxjishu1[max1]<pxji
66、shu1[j])</p><p><b> {</b></p><p><b> max1=j;</b></p><p><b> max2=j;</b></p><p><b> }</b></p><p><b&g
67、t; }</b></p><p> temp1=pxjishu1[max1];</p><p> pxjishu1[max2]=pxjishu1[i];</p><p> pxjishu1[i]=temp1;</p><p> temp2=pxid1[max2];</p><p> pxid1[
68、max2]=pxid1[i];</p><p> pxid1[i]=temp2;</p><p><b> }</b></p><p> newsid1=pxid1[pxid1.length-1];</p><p> newsid2=pxid1[pxid1.length-2];</p><p&
69、gt; newsid3=pxid1[pxid1.length-3];</p><p> /*根據(jù)數(shù)據(jù)庫(kù)里jishu字段,以選擇排序法對(duì)數(shù)據(jù)庫(kù)里的新聞進(jìn)行排序,選出點(diǎn)擊次數(shù)最多的三個(gè)新聞id*/</p><p><b> i=1;</b></p><p> while(rs.next())</p><p> ou
70、t.println(printRow(rs,newsid1,newsid2,newsid3));</p><p><b> %></b></p><p><b> </table></b></p><p><b> 4.3.5新聞內(nèi)容</b></p><p&
71、gt; 在主頁index.jsp點(diǎn)擊相應(yīng)新聞的標(biāo)題鏈接后,將打開detail.jsp頁面。此頁面實(shí)現(xiàn)查看具體的新聞內(nèi)容。并實(shí)現(xiàn)記錄新聞瀏覽次數(shù)的功能。效果如圖4-8所示:</p><p><b> 圖4-8新聞內(nèi)容</b></p><p> 通過每點(diǎn)擊一次detail.jsp頁面使參數(shù)jishu相應(yīng)增加1并更新數(shù)據(jù)庫(kù)來實(shí)現(xiàn):記錄新聞瀏覽次數(shù)的功能。實(shí)現(xiàn)代碼如下:
72、</p><p><b> <%!</b></p><p> long jishu=0;</p><p> StringBuffer fragment(StringBuffer c)</p><p><b> {</b></p><p> for(int i=
73、0;i<c.length();i++)</p><p><b> {</b></p><p> if(c.charAt(i)=='\n')</p><p><b> {</b></p><p> c.delete(i,i+1);</p><p>
74、 c.insert(i,"<p>");</p><p><b> }</b></p><p><b> }</b></p><p><b> return c;</b></p><p><b> }</b><
75、/p><p><b> %></b></p><p><b> <%</b></p><p> request.setCharacterEncoding("gb2312");</p><p> String id=request.getParameter(&quo
76、t;id");</p><p> ResultSet rs=null;</p><p> String sql="select * from news where id="+id;</p><p> rs=conn.executeQuery(sql);</p><p> if(!rs.next())&l
77、t;/p><p> out.println("對(duì)不起,沒有相關(guān)的新聞!");</p><p><b> else</b></p><p><b> {</b></p><p> jishu=rs.getLong("jishu")+1;</p>
78、<p> StringBuffer content=new StringBuffer(rs.getString("content"));</p><p> content=fragment(content);</p><p> sql="update news set jishu='"+jishu+"' w
79、here id="+id;</p><p> conn.executeUpdate(sql);</p><p><b> %></b></p><p><b> 4.4檢索新聞</b></p><p> 在主頁檢索新聞,將信息提交給index0.jsp頁面進(jìn)行處理,index
80、0.jsp的功能實(shí)現(xiàn)了瀏覽檢索的新聞。index0.jsp如圖4-9所示:</p><p> 圖4-9 index0.jsp</p><p> 代碼中的printPage()方法是定位作用,讓表格輸出的是當(dāng)前頁號(hào)(參數(shù)為P)的新聞。每頁八條新聞。檢索頁面index0.jsp實(shí)現(xiàn)分頁顯示新聞的代碼如下:</p><p><b> <%!<
81、/b></p><p> public String printPage(ResultSet rs, int p, int size,int newsid1,int newsid2,int newsid3) </p><p><b> {</b></p><p><b> str = "";</b
82、></p><p> //將訪問游標(biāo)定位到頁號(hào)為p的頁要顯示的第一條記錄的位置</p><p><b> try {</b></p><p> for(int k=0;k<(p-1)*size;k++)</p><p> rs.next();</p><p><b>
83、; }</b></p><p> catch(SQLException e) { }</p><p> for(int iPage=1; iPage<=size; iPage++) {</p><p> str += printRow(rs,iPage,p,newsid1,newsid2,newsid3);</p><
84、;p><b> try {</b></p><p> if(!rs.next()) break;</p><p><b> }</b></p><p> catch(Exception e) { }</p><p><b> }</b></p>
85、<p> return str;</p><p><b> }</b></p><p><b> //顯示單行記錄</b></p><p> public String printRow( ResultSet rs ,int i,int p,int newsid1,int newsid2,int ne
86、wsid3) </p><p><b> {</b></p><p> String temp = "";</p><p> String Asj="";//獲取數(shù)據(jù)庫(kù)中的時(shí)間字段</p><p> String Jasj="";//截取數(shù)據(jù)庫(kù)中的時(shí)間字
87、段,格式:yyyyMMdd</p><p> long Aczx,Jczx,Zczx;</p><p> SimpleDateFormat sjgs=new SimpleDateFormat("yyyyMMdd");//設(shè)置系統(tǒng)時(shí)間的格式</p><p> String Jxsj=sjgs.format(Calendar.getInstan
88、ce().getTime());//獲取系統(tǒng)時(shí)間</p><p> int GETid=0;//獲得數(shù)據(jù)庫(kù)的id字段值</p><p><b> try</b></p><p><b> {</b></p><p> Asj=rs.getString("pubdate")
89、;</p><p> GETid=rs.getInt("id");</p><p> }catch(SQLException e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p> Jasj=Asj.
90、substring(0,4);</p><p> Jasj+=Asj.substring(5,7);</p><p> Jasj+=Asj.substring(8,10);</p><p> Aczx=Long.parseLong(Jasj);//將數(shù)據(jù)庫(kù)中的字符串類型的時(shí)間字段轉(zhuǎn)換成長(zhǎng)整型</p><p> Jczx=Long.pa
91、rseLong(Jxsj);//將系統(tǒng)的字符串類型的時(shí)間字段轉(zhuǎn)換成長(zhǎng)整型</p><p> Zczx=Jczx-Aczx;//系統(tǒng)時(shí)間減數(shù)據(jù)庫(kù)時(shí)間,旨在:求出的數(shù)值與7比較,與實(shí)現(xiàn)近期新聞?dòng)嘘P(guān)(近期新聞:發(fā)布時(shí)間在一周之內(nèi)的新聞,后面有NEW圖標(biāo))</p><p><b> try {</b></p><p> if(i%2==1)<
92、;/p><p> temp+="<tr bgcolor='#99CCFF'>";</p><p><b> else</b></p><p> temp+="<tr bgcolor='#f7f7f7'>";</p><p>
93、 if(Zczx<=7&&(newsid1==GETid||newsid2==GETid||newsid3==GETid))</p><p><b> {</b></p><p> temp+="<td><a href=javascript:detail("+GETid+")>"
94、;+rs.getString("title")+"</a><img src='NEW.gif' alt='new'><img src='HOT.jpg' alt='HOT'></td>";</p><p><b> }</b></p&
95、gt;<p> else if(Zczx<=7&&newsid1!=GETid&&newsid2!=GETid&&newsid3!=GETid)</p><p><b> {</b></p><p> temp+="<td><a href=javascript:det
96、ail("+GETid+")>"+rs.getString("title")+"</a><img src='NEW.gif' alt='new'></td>";</p><p><b> }</b></p><p> el
97、se if(Zczx>7&&(newsid1==GETid||newsid2==GETid||newsid3==GETid))</p><p><b> {</b></p><p> temp+="<td><a href=javascript:detail("+GETid+")>"
98、;+rs.getString("title")+"</a><img src='HOT.jpg' alt='HOT'></td>";</p><p><b> }</b></p><p><b> else</b></p>
99、<p><b> {</b></p><p> temp+="<td><a href=javascript:detail("+GETid+")>"+rs.getString("title")+"</a></td>";</p><p&
100、gt;<b> }</b></p><p> temp+="<td>"+rs.getString("author")+"</td>";</p><p> temp+="<td>"+Asj+"</td>";</p
101、><p> temp += "</tr>";</p><p><b> }</b></p><p> catch(SQLException e) { }</p><p> return temp;</p><p><b> }</b>
102、</p><p><b> %></b></p><p> <table border="1" borderColorDark="#ffffec" borderColorLight="#5e5e00" width="95%"></p><p>
103、 <tr bgcolor="#66CCFF" align="center"></p><p> <th width="50%" bgcolor="#66CCFF">標(biāo)題</th></p><p> <th width="20%" bgcolor
104、="#66CCFF">作者</th></p><p> <th bgcolor="#66CCFF">日期</th></p><p><b> <%</b></p><p> temp = conn.executeQuery(sql2);//作用:返回?cái)?shù)
105、據(jù)庫(kù)里每一列的總和</p><p> int totalrecord=0;//新聞的總條數(shù)</p><p> if(temp.next())</p><p> totalrecord = temp.getInt(1);//獲取數(shù)據(jù)庫(kù)里id列的總行數(shù),即新聞的總條數(shù)</p><p> // 如果是當(dāng)前頁碼的整數(shù)倍</p>
106、<p> if(totalrecord % size ==0) totalPage = totalrecord / size; </p><p> /* 如果最后還空余一頁 </p><p> Math.floor()方法:求一個(gè)最接近它的整數(shù),它的值小于或等于這個(gè)浮點(diǎn)數(shù)</p><p> Math.floor(0.60) -- 0</p
107、><p> Math.floor(0.40) -- 0</p><p> Math.floor(5) -- 5</p><p> Math.floor(5.1) -- 5</p><p> Math.floor(-5.1) -- -6</p><p> Math.floor(-5.9) -- -6</p
108、><p><b> */</b></p><p> else totalPage = (int) Math.floor( totalrecord / size ) + 1; </p><p> if(totalPage == 0) totalPage = 1;</p><p> temp.close();</
109、p><p> /*旨在:捕獲用戶從瀏覽器地址攔直接輸入非數(shù)字信息而引起的異常*/</p><p><b> try {</b></p><p> if(request.getParameter("p")==null || request.getParameter("p").equals("&q
110、uot;)) </p><p><b> p = 1;</b></p><p><b> else</b></p><p> p = Integer.parseInt(request.getParameter("p"));</p><p><b> } <
111、/b></p><p> catch(NumberFormatException e) { </p><p><b> p = 1;</b></p><p><b> }</b></p><p> if(p < 1) p = 1;</p><p>
112、if(p > totalPage) p = totalPage;</p><p> /*旨在:捕獲用戶從瀏覽器地址攔直接輸入非數(shù)字信息而引起的異常*/</p><p> rs=conn.executeQuery(sql1);</p><p> /*根據(jù)數(shù)據(jù)庫(kù)里jishu字段,以選擇排序法對(duì)數(shù)據(jù)庫(kù)里的新聞進(jìn)行排序,選出點(diǎn)擊次數(shù)最多的三個(gè)新聞id*/<
113、/p><p> rs1=conn.executeQuery(sql3);</p><p> rs2=conn.executeQuery(sql4);</p><p> int newstotalrecord=0;//旨在:新聞的總條數(shù),為了限定數(shù)組的長(zhǎng)度</p><p> int max1,max2,newsid1,newsid2,new
114、sid3,temp1,temp2;</p><p> if(rs2.next())</p><p> newstotalrecord=rs2.getInt(1);</p><p> int pxjishu[]=new int[newstotalrecord];//旨在;將數(shù)據(jù)庫(kù)里的jishu字段進(jìn)行排序,為了確定點(diǎn)擊次數(shù)最多的前三條新聞的id</p>
115、;<p> int pxid[]=new int[newstotalrecord];//旨在;依據(jù)pxjishu[]數(shù)組的排序?qū)?shù)據(jù)庫(kù)中的id字段進(jìn)行排序,選出點(diǎn)擊次數(shù)最多的前三條新聞的id</p><p> /*將數(shù)據(jù)庫(kù)里的id,jishu兩個(gè)字段的值放入相應(yīng)的數(shù)組中*/</p><p> for(int i=0;i<newstotalrecord;i++)&l
116、t;/p><p><b> {</b></p><p> if(rs1.next())</p><p><b> {</b></p><p> pxjishu[i]=rs1.getInt("jishu");</p><p> pxid[i]=rs1.
117、getInt("id");</p><p><b> }</b></p><p><b> }</b></p><p> /*將數(shù)據(jù)庫(kù)里的id,jishu兩個(gè)字段的值放入相應(yīng)的數(shù)組中*/</p><p> for(int i=pxjishu.length-1;i>0
118、;i--)</p><p><b> {</b></p><p> max1=0;max2=0;</p><p> for(int j=1;j<=i;j++)</p><p><b> {</b></p><p> if(pxjishu[max1]<px
119、jishu[j])</p><p><b> {</b></p><p><b> max1=j;</b></p><p><b> max2=j;</b></p><p><b> }</b></p><p><b&
120、gt; }</b></p><p> temp1=pxjishu[max1];</p><p> pxjishu[max2]=pxjishu[i];</p><p> pxjishu[i]=temp1;</p><p> temp2=pxid[max2];</p><p> pxid[max2]
121、=pxid[i];</p><p> pxid[i]=temp2;</p><p><b> }</b></p><p> newsid1=pxid[pxid.length-1];</p><p> newsid2=pxid[pxid.length-2];</p><p> newsid
122、3=pxid[pxid.length-3];</p><p> /*根據(jù)數(shù)據(jù)庫(kù)里jishu字段,以選擇排序法對(duì)數(shù)據(jù)庫(kù)里的新聞進(jìn)行排序,選出點(diǎn)擊次數(shù)最多的三個(gè)新聞id*/</p><p> if(rs.next())</p><p> out.println(printPage(rs,p,size,newsid1,newsid2,newsid3));</p
123、><p><b> %></b></p><p><b> </table></b></p><p> 在index0.jsp頁面中,每頁顯示八條新聞信息,對(duì)新聞進(jìn)行分頁瀏覽。點(diǎn)擊相應(yīng)的頁數(shù)或輸入相應(yīng)的頁數(shù),都能瀏覽相應(yīng)頁的新聞。有一點(diǎn)需要注意,當(dāng)輸入的數(shù)值超過最大頁數(shù)時(shí),顯示的為最后的一頁新聞,當(dāng)輸入
124、的數(shù)值小于1以及為非數(shù)值時(shí),顯示的為第一頁新聞。分頁如圖4-10所示:</p><p><b> 圖4-10演示圖</b></p><p> 代碼中P代表當(dāng)前頁號(hào),totalPage代表全部頁數(shù)。分頁功能實(shí)現(xiàn)代碼如下:</p><p><b> <%</b></p><p> temp
125、 = conn.executeQuery(sql2);//作用:返回?cái)?shù)據(jù)庫(kù)里每一列的總和</p><p> int totalrecord=0;//新聞的總條數(shù)</p><p> if(temp.next())</p><p> totalrecord = temp.getInt(1);//獲取數(shù)據(jù)庫(kù)里id列的總行數(shù),即新聞的總條數(shù)</p>&l
126、t;p> // 如果是當(dāng)前頁碼的整數(shù)倍</p><p> if(totalrecord % size ==0) totalPage = totalrecord / size; </p><p> /* 如果最后還空余一頁 </p><p> Math.floor()方法:求一個(gè)最接近它的整數(shù),它的值小于或等于這個(gè)浮點(diǎn)數(shù)</p><
127、p> Math.floor(0.60) -- 0</p><p> Math.floor(0.40) -- 0</p><p> Math.floor(5) -- 5</p><p> Math.floor(5.1) -- 5</p><p> Math.floor(-5.1) -- -6</p><
128、p> Math.floor(-5.9) -- -6</p><p><b> */</b></p><p> else totalPage = (int) Math.floor( totalrecord / size ) + 1; </p><p> if(totalPage == 0) totalPage = 1;</p
129、><p> temp.close();</p><p> /*旨在:捕獲用戶從瀏覽器地址攔直接輸入非數(shù)字信息而引起的異常*/</p><p><b> try {</b></p><p> if(request.getParameter("p")==null || request.getParam
130、eter("p").equals("")) </p><p><b> p = 1;</b></p><p><b> else</b></p><p> p = Integer.parseInt(request.getParameter("p"));<
131、;/p><p><b> } </b></p><p> catch(NumberFormatException e) { </p><p><b> p = 1;</b></p><p><b> }</b></p><p> if(p <
132、; 1) p = 1;</p><p> if(p > totalPage) p = totalPage; </p><p><b> %></b></p><p> <form Action="index0.jsp" Method="GET"></p>&l
133、t;p><b> <%</b></p><p> for(int i=1;i<=totalPage;i++) {</p><p> out.println("<a href=index0.jsp?p=" + i +">" + i + "</a> &
134、;nbsp;");</p><p><b> }</b></p><p><b> %></b></p><p> <p>輸入頁數(shù):<input type="text" name="p" size="3"> </
135、p><p> 頁數(shù):<font color="red"><%=p%>/<%=totalPage%></font> </p><p><b> </p></b></p><p><b> </form></b></p>
136、<p> 4.5管理員登陸頁面</p><p> 點(diǎn)擊新聞管理進(jìn)入管理員登陸頁面,管理員賬號(hào)有兩個(gè)admin和fy。密碼與賬號(hào)一致。如圖4-11所示。</p><p> 圖4-11管理員登陸頁面</p><p> 信息提交給verify.jsp頁面進(jìn)行處理。若有此賬號(hào)且密碼正確,則登陸管理員界面manage.jsp,若賬號(hào)或密碼不正確,則登陸不了
137、。</p><p> 判斷是否可登陸實(shí)現(xiàn)代碼如下:</p><p> <%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%></p><p> <jsp:useBean id="conn" class
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)畢業(yè)論文---關(guān)于新聞發(fā)布系統(tǒng)的設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)論文---基于web的個(gè)人網(wǎng)站新聞發(fā)布系統(tǒng)
- 計(jì)算機(jī)黨務(wù)管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)畢業(yè)論文--網(wǎng)吧管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)論文--- 超市管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)論文--網(wǎng)吧管理系統(tǒng)
- 計(jì)算機(jī)專業(yè)畢業(yè)論文-考勤管理系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)信息管理系統(tǒng)畢業(yè)論文(設(shè)計(jì))
- 計(jì)算機(jī)信息管理畢業(yè)論文---計(jì)算機(jī)圖書管理系統(tǒng)
- 畢業(yè)論文——新聞發(fā)布及管理系統(tǒng)
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)圖書管理系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)圖書管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)畢業(yè)論文---bbs論壇管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)論文——人事管理系統(tǒng)
- 計(jì)算機(jī)圖書管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)圖書管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)論文---考勤管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)論文---工資管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論