畢業(yè)論文(設(shè)計(jì))基于web的校園新聞發(fā)布系統(tǒng)_第1頁
已閱讀1頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  呼倫貝爾學(xué)院</b></p><p>  計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院</p><p>  本科生畢業(yè)論文(設(shè)計(jì))</p><p>  題 目:基于Web的校園新聞發(fā)布系統(tǒng)</p><p>  學(xué)生姓名: </p><p&g

2、t;  學(xué) 號: </p><p>  專業(yè)班級: </p><p>  指導(dǎo)教師: </p><p>  完成時間: 2012年5月21日 </p><p>

3、;<b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  第1章 緒論1</b></p><p>  1.1 設(shè)計(jì)背景1</p><p>  1.2 研究目的

4、1</p><p>  1.3 開發(fā)工具1</p><p>  1.3.1 ASP簡介1</p><p>  1.3.2 Access簡介2</p><p>  1.3.3 HTML2</p><p>  第2章 系統(tǒng)分析4</p><p>  2.1 可行性分析4</p&g

5、t;<p>  2.2 需求分析4</p><p>  第3章 系統(tǒng)設(shè)計(jì)6</p><p>  3.1 基本結(jié)構(gòu)和處理流程6</p><p>  3.2 數(shù)據(jù)庫設(shè)計(jì)6</p><p>  3.3 數(shù)據(jù)庫E-R圖8</p><p>  3.4 系統(tǒng)的特點(diǎn)9</p><p>

6、;  第4章 系統(tǒng)實(shí)現(xiàn)11</p><p>  4.1 后臺設(shè)計(jì)11</p><p>  4.1.1 頁面登陸實(shí)現(xiàn)11</p><p>  4.2.2 信息管理模塊13</p><p>  4.2 前臺設(shè)計(jì)20</p><p><b>  結(jié) 論23</b></p>&l

7、t;p><b>  參考文獻(xiàn)24</b></p><p><b>  致 謝25</b></p><p><b>  摘 要</b></p><p>  隨著電子計(jì)算機(jī)技術(shù)的發(fā)展,人類已經(jīng)逐漸地進(jìn)入信息化社會。計(jì)算機(jī)也逐漸普及,更多的人與它開始接觸,它正在迅速的改變著人們的生活、學(xué)習(xí)、工作方

8、式,更多的人開始通過網(wǎng)絡(luò)查詢資料,學(xué)生和家長也從網(wǎng)絡(luò)上了解一個學(xué)校的情況,越來越多的學(xué)校有了自己的網(wǎng)站。因此,本人開發(fā)了校園新聞發(fā)布系統(tǒng),使用校園新聞發(fā)布系統(tǒng)后,使得社會、老師和學(xué)生更快的了解學(xué)校動態(tài),更方便的共享學(xué)校的資源,同時讓社會通過這個系統(tǒng)的圖片、文字等方面更充份的了解學(xué)校的情況。該系統(tǒng)采用Browser/Server模式架構(gòu)進(jìn)行設(shè)計(jì),使用ASP編程語言進(jìn)行編寫,同時使用目前流行的DIV+CSS進(jìn)行前臺布局,在程序開發(fā)過程中,還

9、使用了JavaScript、CSS、HTML等輔助語言。</p><p>  系統(tǒng)主要由學(xué)院簡介,學(xué)院新聞,學(xué)院通知,學(xué)生活動,資料下載等模塊組成。具有操作簡單,方便管理和維護(hù)等特點(diǎn)。</p><p>  關(guān)鍵字 新聞系統(tǒng);B/S;軟件工程;編程</p><p><b>  Abstract</b></p><p>  

10、Along with the computer technology development, human has gradually entered the information society. The computer also grew in popularity, more people and it began to contact, it is rapidly changing the people's life

11、, way of study and working, more people are beginning to through the network inquires the material, students and parents also went up from the network to understand a school, more and more school have their own web sites

12、. Therefore, I developed a campus news release system, using the</p><p>  System mainly by the college introduction, college news, college notice, students' activities, material downloads module. With si

13、mple operation, easy management and maintenance etc. Characteristics. </p><p>  Keywords News system; Browser/Server; Programming; Software</p><p>  engineering第1章 緒論</p><p><b&g

14、t;  1.1 設(shè)計(jì)背景</b></p><p>  隨著電子計(jì)算機(jī)技術(shù)的發(fā)展,人類已經(jīng)逐漸地進(jìn)入信息化社會。同時人們對信息和數(shù)據(jù)的利用與處理也已進(jìn)入自動化的階段,在各行各業(yè)中離不開計(jì)算機(jī),更離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的原因。其次,現(xiàn)在計(jì)算機(jī)已經(jīng)成為人們生活中必不可少的工具。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行管理,方便快捷的辦公。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而

15、且大大的提高了系統(tǒng)的安全性。因此,開發(fā)相關(guān)的信息管理系統(tǒng)已經(jīng)成為各行各業(yè)的必要和必需了。更多的人借助網(wǎng)絡(luò)了解一些事物,學(xué)生通過網(wǎng)絡(luò)查找一個學(xué)校的資料,更多的了解這個學(xué)校的信息。學(xué)校在網(wǎng)絡(luò)上發(fā)布自己的信息,例如:論壇、社區(qū)、貼吧等等,這些信息比較零散,如果有一個自己的網(wǎng)絡(luò)平臺就可以更詳細(xì)的、完整的發(fā)布學(xué)校的信息,使用戶不用在整個網(wǎng)絡(luò)里搜索,只要在這個平臺里就可以找到所有的信息。因此,學(xué)校有一個自己的網(wǎng)絡(luò)平臺是必不可少的。</p>

16、;<p><b>  1.2 研究目的</b></p><p>  通過本系統(tǒng)可以使得學(xué)校、學(xué)生、老師和社會之間的資源與消息的快速共享。旅游管理與地理科學(xué)學(xué)院的管理員可以通過本系統(tǒng)發(fā)布文章和下載資源,學(xué)生打開本系統(tǒng)后點(diǎn)擊相關(guān)的欄目可以進(jìn)行查看文章,也可以點(diǎn)擊需要下載的資源,下載資源。隨著計(jì)算機(jī)的普及,越來越多的人開始使用計(jì)算機(jī),并通過網(wǎng)絡(luò)查找資料,通過網(wǎng)絡(luò)查找資料不僅方便而且速

17、度快,很多家長和學(xué)生也通過網(wǎng)絡(luò)查找一些資料,他們可以通過這個網(wǎng)絡(luò)平臺更方便更快捷的了解學(xué)校的相關(guān)信息,社會也可以從更多的角度去了解本校。</p><p><b>  1.3 開發(fā)工具</b></p><p>  本系統(tǒng)開發(fā)的過程中使用了ASP語言、JavaScript腳本語言、HTML語言,其中ASP語言調(diào)用數(shù)據(jù)庫的數(shù)據(jù),JavaScript腳本語言用來做一些數(shù)據(jù)合法

18、性的判斷,方便用戶數(shù)據(jù)準(zhǔn)確的輸入,HTML語言是用來承載ASP、JavaScript語言的。在程序開發(fā)的過程中借助Dreamweaver開發(fā)軟件使得程序開發(fā)更加方便。</p><p>  1.3.1 ASP簡介</p><p>  ASP是Active Server Page的縮寫,意為“動態(tài)服務(wù)器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用[1],它可以與數(shù)據(jù)庫和其它程序進(jìn)

19、行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是*.asp,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。另外阿斯匹林、天門冬氨酸、阿里軟件銷售合作伙伴、美國武裝系統(tǒng)暨程序公司等的縮寫也都為ASP。</p><p>  ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動態(tài)網(wǎng)頁或Web應(yīng)用程序。ASP網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),也可以

20、創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應(yīng)用程序。</p><p>  ASP的運(yùn)行環(huán)境, 在Windows 2000/PX操作系統(tǒng)中需要安裝IIS3.0及以上版本來支持ASP的運(yùn)行[2],IIS 所提供的功能比較完善。</p><p>  1.3.2 Access簡介</p><p>  Microsoft Office Access(前名Microsoft Ac

21、cess)是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)[3]。它結(jié)合了Microsoft Jet Database Engine和圖形用戶界面兩項(xiàng)特點(diǎn),是Microsoft Office的成員之一[5]。</p><p>  Access 2003就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息,而且它使用起來也是特別的方便和簡單。數(shù)據(jù)表示圖提供

22、了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫[6],可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他用戶共享數(shù)據(jù)庫。Access 是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點(diǎn),可以同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能[7]。為建立功能完善

23、的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。</p><p>  微軟的JET數(shù)據(jù)庫引擎(操作數(shù)據(jù)庫的一段程序或程序段)提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及ASP.net來訪問數(shù)據(jù)庫,并對其進(jìn)行各種操作。ASP.net、Access以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。</p><p>  1

24、.3.3 HTML</p><p>  HTML(Hypertext Markup Language,超文本標(biāo)記語言),它用HTML標(biāo)記來標(biāo)注文本或圖形的屬性。即使用FrontPage制作網(wǎng)頁,文件里最后存入的其實(shí)也是HTML語言。下面就簡單介紹一下常用的HTML標(biāo)記。</p><p>  1.HTML文件結(jié)構(gòu)很簡單,結(jié)構(gòu)嚴(yán)謹(jǐn)清晰</p><p><b>

25、  <html></b></p><p><b>  <head></b></p><p>  <title>標(biāo)題文字</title>頭部內(nèi)容</p><p><b>  </head></b></p><p><b>

26、;  <body></b></p><p><b>  文檔主體內(nèi)容</b></p><p><b>  </body></b></p><p><b>  </html></b></p><p>  HTML是由英文單詞或字母和

27、<,>,/等組成的。英文單詞或字母,稱為標(biāo)記。<,>,/等稱為標(biāo)識符。有些標(biāo)記是成對出現(xiàn)的,如<body>文檔主體內(nèi)容</body>。前面一個表示標(biāo)記開始起作用,下面表示這種標(biāo)記的作用。個別標(biāo)記是單個的。標(biāo)記可以嵌套使用,也不區(qū)分大小寫。</p><p>  2.HTML主要標(biāo)記</p><p>  <html> </htm

28、l>表示這是一個HTML文檔。</p><p>  <head></head>表示這是文檔頭部。</p><p>  <title></title>位于文檔頭部,瀏覽時顯示在瀏覽器標(biāo)題欄中。</p><p>  <body></body>表示文檔主體部分。</p><p

29、><b>  <br>換行</b></p><p><b>  3.標(biāo)記的屬性</b></p><p>  大部分標(biāo)記都可以使用各種修飾屬性,如排列屬性align、背景色backcolor、寬度width、高度height等屬性。</p><p><b>  第2章 系統(tǒng)分析</b>

30、</p><p><b>  2.1 可行性分析</b></p><p>  已具備的條件:用戶可以查看各類新聞以及下載相關(guān)資源;管理員可查看、發(fā)布、修改、刪除新聞,以及對密碼修改。</p><p>  待解決的問題:數(shù)據(jù)庫的構(gòu)建、庫的連接、各個表的創(chuàng)建、代碼編寫、頁面的設(shè)計(jì)實(shí)現(xiàn)、數(shù)據(jù)調(diào)用、系統(tǒng)數(shù)據(jù)庫安全實(shí)現(xiàn)。旅游管理與地理科學(xué)學(xué)院的系統(tǒng)免費(fèi)運(yùn)

31、行在呼倫貝爾學(xué)院的網(wǎng)站服務(wù)器上,系統(tǒng)由本人制作,系統(tǒng)的后期維護(hù)也是由本人免費(fèi)維護(hù)。系統(tǒng)的制作和運(yùn)營的成本特別低。</p><p>  采取的編程語言和數(shù)據(jù)庫:ASP編程語言和Access數(shù)據(jù)庫。</p><p>  枝術(shù)可行性方面,該網(wǎng)站使用ASP作為編程語言,具有效率高、可重用性強(qiáng)、代碼量少等優(yōu)點(diǎn)。Access為數(shù)據(jù)庫環(huán)境,具有強(qiáng)大的存儲功能和查詢功能。經(jīng)濟(jì)可行性方面,由于該系統(tǒng)由本人制

32、作,而且系統(tǒng)服務(wù)器由呼倫貝爾學(xué)院已經(jīng)運(yùn)行的服務(wù)器作為本系統(tǒng)的服務(wù)器端,維護(hù)人員由旅游管理與地理科學(xué)學(xué)院學(xué)生維護(hù),系統(tǒng)操作簡單,只需要半天培訓(xùn)即可使用。運(yùn)行可行性方面,該系統(tǒng)運(yùn)行時分為兩種權(quán)限:普通用戶、管理員用戶。實(shí)現(xiàn)各個不同用戶的操作權(quán)限。</p><p>  通過對上述幾方面進(jìn)行可行性分析和研究后,我們認(rèn)為該項(xiàng)目的開發(fā)是可行的。</p><p><b>  2.2 需求分析&

33、lt;/b></p><p>  客戶可以在鏈接網(wǎng)絡(luò)的計(jì)算機(jī)上在線瀏覽旅游管理與地理科學(xué)學(xué)院的信息和下載學(xué)院的資源,但是沒有發(fā)布和修改系統(tǒng)信息的權(quán)限;本系統(tǒng)目前設(shè)定一個超級管理員,當(dāng)管理員登錄后可以發(fā)布、編輯和刪新聞,通過后臺編輯新聞置頂屬性,可以使首頁某個欄目新聞置頂顯示,同樣管理員也可以修改登錄密碼。</p><p>  系統(tǒng)使用ASP語言編寫,管理員發(fā)布信息后,提交到驗(yàn)證頁面,

34、由系統(tǒng)的JavaScript語句驗(yàn)證管理員發(fā)布的信息是否合法,如果合法就寫入數(shù)據(jù)庫,之后就能夠被子程序調(diào)用到系統(tǒng)前臺的相應(yīng)目顯示,否則管理員重新填寫數(shù)據(jù)。管理員在對信息修改后,提交到數(shù)據(jù)驗(yàn)證頁面對數(shù)據(jù)的合法性進(jìn)行驗(yàn)證,例如某個數(shù)據(jù)不能為空。</p><p>  在系統(tǒng)安全方面,首先當(dāng)系統(tǒng)管理員登陸的時候,系統(tǒng)會自動記錄用戶登錄的信息,包括用戶登錄的IP地址和用戶名稱等,如果系統(tǒng)出現(xiàn)了數(shù)據(jù)的丟失問題,就可以通過出現(xiàn)

35、問題的時間段,查詢到數(shù)據(jù)庫中的用戶登錄IP地址,從而進(jìn)一步的查到使用人。其次,如果通過系統(tǒng)后臺刪除數(shù)據(jù),數(shù)據(jù)是可以恢復(fù)的,系統(tǒng)后臺的刪除只是給數(shù)據(jù)標(biāo)記了一個刪除標(biāo)記,在前臺的數(shù)據(jù)調(diào)用是排除了標(biāo)記刪除的數(shù)據(jù)。然后,對數(shù)據(jù)庫的名稱加入特殊的字符“#”,可以防止非法用戶下載數(shù)據(jù)庫,從而獲得數(shù)據(jù)庫的管理員賬號和密碼;數(shù)據(jù)庫中加入了一個防止下載的表,數(shù)據(jù)庫的字段值是OLE對象,如果用戶非法下載數(shù)據(jù)庫,那么就會被中斷,因?yàn)榫W(wǎng)絡(luò)不允許對OLE對象進(jìn)行

36、下載。再次,對后臺的每一個管理頁面進(jìn)行了用戶是否登錄驗(yàn)證,防止非法用戶在沒有登錄的狀態(tài)下對后臺的數(shù)據(jù)進(jìn)行修改。最后,對數(shù)據(jù)庫的用戶密碼進(jìn)行了MD5加密,管理員的密碼長度越長,MD5被破解的難度就會加大。</p><p>  系統(tǒng)主要由學(xué)院概況,機(jī)構(gòu)設(shè)置,黨團(tuán)建設(shè),教育教學(xué),科學(xué)研究,招生就業(yè),校友之窗,文件下載以及網(wǎng)站首頁還有一個快捷功能模塊入口,其中包含實(shí)踐教學(xué),導(dǎo)游資格考試,學(xué)生講壇,學(xué)子風(fēng)采,體驗(yàn)旅地這幾個

37、功能模塊組成。學(xué)院概況欄目主要簡紹了學(xué)院的領(lǐng)導(dǎo)和學(xué)院的歷史以及學(xué)院的現(xiàn)有狀況;機(jī)構(gòu)設(shè)置欄目主要對現(xiàn)有的黨政領(lǐng)導(dǎo)、工會、學(xué)術(shù)委員會、教學(xué)委員會和院內(nèi)環(huán)節(jié)的負(fù)責(zé)人進(jìn)行了簡單的簡紹;黨團(tuán)建設(shè)欄目主要對黨務(wù)工作、工會工作和學(xué)生工作中的重要事件進(jìn)行發(fā)布;教育教學(xué)欄目主要對現(xiàn)有的教師隊(duì)伍的人員進(jìn)行了簡單的簡紹等一些主要功能。系統(tǒng)的功能圖如圖2-1所示。</p><p>  圖 2-1 主要功能模塊圖</p>&

38、lt;p>  打開系統(tǒng)后,普通用戶可以瀏覽系統(tǒng)前臺各個欄目的文章,也可以打開資源下載頁面,下載需要的資源。管理員登陸系統(tǒng)后,可以對各個欄目的文章進(jìn)行發(fā)布和修改,對資源進(jìn)行發(fā)布,對管理員密碼進(jìn)行修改。其流程圖如圖2-2所示。</p><p>  圖 2-2 系統(tǒng)流程圖</p><p><b>  第3章 系統(tǒng)設(shè)計(jì)</b></p><p> 

39、 3.1 基本結(jié)構(gòu)和處理流程</p><p>  當(dāng)用戶為管理員時系統(tǒng)主要分為以下幾個功能模塊:管理員登錄模塊,密碼修改模塊,信息發(fā)布、修改和刪除模塊,系統(tǒng)退出模塊。管理員登陸模塊主要是通過驗(yàn)證用戶輸入的用戶名、密碼和驗(yàn)證碼是否和數(shù)據(jù)中的值匹配從而使管理員登陸,管理員登陸后,系統(tǒng)會生成一個session會話,用來標(biāo)記管理員登陸,之后有權(quán)限打開后臺的其它模塊。當(dāng)管理員登陸后才能進(jìn)入密碼修改模塊,用戶輸入舊的管理員密

40、碼和倆個相同的新密碼才能修改密碼。管理員登陸后才能對信息進(jìn)行發(fā)布、修改和刪除。管理員點(diǎn)擊退出模塊,系統(tǒng)清除用戶登陸的session會話[5],用戶安全退出,并返回到系統(tǒng)首頁。</p><p>  當(dāng)用戶是普通用戶時系統(tǒng)分為以下兩個模塊:前臺新聞瀏覽,和前臺資源下載。普通用戶不需要登陸就可以查看系統(tǒng)前臺各個欄目的文章,以及下載相關(guān)資源。其功能模塊圖,如圖3-1所示。</p><p><

41、b>  圖3-1 能模塊圖</b></p><p><b>  3.2 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  根據(jù)系統(tǒng)功能設(shè)計(jì)的需求、系統(tǒng)安全以及功能模塊的劃分,所需數(shù)據(jù)庫信息存儲表有4張,其中主要表的具體設(shè)計(jì)如下。</p><p>  系統(tǒng)采用ACCESS數(shù)據(jù)庫,首要問題是建立后臺的數(shù)據(jù)庫。數(shù)據(jù)庫中的數(shù)據(jù)資料來源于旅游管理

42、與地理科學(xué)學(xué)院教學(xué)過程中的各種資料數(shù)據(jù)。</p><p>  經(jīng)過仔細(xì)比較和綜合之后,充分考慮便于管理和執(zhí)行效率,建立信息數(shù)據(jù)庫,分別命名為:j_admin表(管理員登陸表)、j_log表(用戶登陸信息記錄表)、j_news表(學(xué)院新聞表)、<%nodown表(這個表主要功能是防止下載本網(wǎng)站的數(shù)據(jù)庫)。</p><p>  1.管理員登陸表:管理員表記錄了管理員的登陸密碼和登陸的IP

43、,以及加入了權(quán)限和隨機(jī)數(shù)這兩個字段,方便日后系統(tǒng)的進(jìn)一步升級,具體數(shù)據(jù)見表3-2。</p><p>  表3-2 j_admin</p><p>  2.用戶登陸信息記錄表:用戶登陸信息表記錄了管理員每一次登陸的部分信息,例如用戶登陸的IP地址、登陸的日期等,作為管理員登陸日志,具體數(shù)據(jù)如表3-3所示</p><p>  表3-3 j_log</p>

44、<p>  3.防止下載表:這個表的建立不是用來存儲數(shù)據(jù)的,是用來防止非法用戶下載數(shù)據(jù)庫的,Access的數(shù)據(jù)庫被下載的時候也是做為ASP的解釋程序。當(dāng)出現(xiàn)了“<%”時服務(wù)器會認(rèn)為是ASP的分界符。而后面的數(shù)據(jù)肯定是二進(jìn)制的。所以不能下載,具體數(shù)據(jù)如表3-4所示</p><p>  表3-4 <%nodown</p><p>  4.學(xué)院新聞表:用來存放學(xué)院所有新聞和

45、資源文章,DelFlag是用來作為記錄被刪除的標(biāo)記,記錄被調(diào)用時,會按照top字段和以及日期字段進(jìn)行排序,具體數(shù)據(jù)如表3-5所示</p><p>  表3-5 j_news</p><p>  3.3 數(shù)據(jù)庫E-R圖</p><p>  在系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,先要對系統(tǒng)分析得到的數(shù)據(jù)庫字典中的數(shù)據(jù)存儲進(jìn)行分析[4],分析各數(shù)據(jù)存儲之間的關(guān)系,然后得出系統(tǒng)的關(guān)系模式,

46、為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來,通常要建立一個概念性的數(shù)據(jù)模型(也稱為信息模型)[5]。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的現(xiàn)實(shí)環(huán)境,且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無關(guān)。最常用的表示概念性數(shù)據(jù)模型的方法,實(shí)體-聯(lián)系圖(Entity Relationship Diagram)[6]。這種方法用E-R圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方法。用干這種方法表示的概念性數(shù)據(jù)模型又稱為E-R模型。E-R模型中

47、包含“實(shí)體、聯(lián)系、屬性”三部分[7]。</p><p>  管理員包括:編號,名字,會員名,密碼,登錄IP,登錄時間,退出時間,登錄次數(shù),驗(yàn)證碼,實(shí)體屬性圖如圖3-6所示:</p><p>  圖3-6 管理員實(shí)體屬性圖</p><p>  登錄日志包括:編號,日志類型,頻道ID,操作時間,操作人,IP地址,操作信息,程序名,參數(shù)內(nèi)容,實(shí)體屬性圖如圖3-7所示。&l

48、t;/p><p>  圖3-7 登錄日志實(shí)體屬性圖</p><p>  新聞包括:編號,標(biāo)題,內(nèi)容,日期,添加人,閱覽次數(shù),類別,排序,刪除標(biāo)志,置頂,實(shí)體屬性圖s如圖3-8所示。</p><p>  圖3-8 新聞實(shí)體屬性圖</p><p>  下面給出本系統(tǒng)的E-R圖如圖3-9所示。</p><p><b>

49、  圖3-9 E-R圖</b></p><p><b>  3.4 系統(tǒng)的特點(diǎn)</b></p><p><b>  1.管理界面友好</b></p><p>  本系統(tǒng)在開發(fā)過程中,嚴(yán)格遵循系統(tǒng)的界面可視化風(fēng)格。界面簡潔統(tǒng)一,易學(xué)易用。交互性強(qiáng),易于大多數(shù)人群操作。</p><p>&l

50、t;b>  2.操作簡單</b></p><p>  在數(shù)據(jù)提交的過程中,加入了JavaScript語句判斷[8],如果用戶輸入錯誤就會有相應(yīng)的錯誤提示。</p><p><b>  3.代碼編寫方面</b></p><p>  系統(tǒng)前臺使用了目前流行的DIV+CSS進(jìn)行布局[9],代碼加載速度快,兼容性好,適應(yīng)多種瀏覽器瀏覽

51、。</p><p><b>  4.安全方面</b></p><p>  對數(shù)據(jù)庫進(jìn)行了防下載、防注入等方面的安全防范[10]。數(shù)據(jù)庫對用戶每次登錄進(jìn)行了詳細(xì)的記載。</p><p><b>  5.SEO優(yōu)化</b></p><p>  本網(wǎng)站進(jìn)行了簡單的SEO優(yōu)化,對網(wǎng)站關(guān)鍵字和描述方面進(jìn)行了優(yōu)

52、化[11],并且在網(wǎng)站根目錄下建立了robots.txt和網(wǎng)站地圖,方便搜索機(jī)器人的采集和收錄,防止非法搜索機(jī)器人搜索,占用大量的服務(wù)器資源。</p><p><b>  6.用戶密碼防泄露</b></p><p>  本站點(diǎn)對用戶的密碼進(jìn)行了MD5加密[12],即使數(shù)據(jù)庫泄露也不會馬上破解用戶登陸密碼。</p><p><b>  

53、第4章 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  4.1 后臺設(shè)計(jì)</b></p><p>  4.1.1 頁面登陸實(shí)現(xiàn)</p><p>  功能描述:用戶輸入用戶名、密碼和驗(yàn)證碼后,點(diǎn)擊登錄,系統(tǒng)首先會驗(yàn)證用戶名、密碼和驗(yàn)證碼是否為空,如果有一個以上的為空,提示用戶名、密碼或驗(yàn)證碼為空并返回重新登錄;如果用戶名、密碼和驗(yàn)證碼都

54、不為空,然后系統(tǒng)測試驗(yàn)證碼是否正確,如果不正確提示驗(yàn)證碼錯誤,返回重新登錄,如果正確,驗(yàn)證密碼和用戶名稱是否正確,如果都正確就登錄成功,系統(tǒng)會做一個session會話[13],用來記錄管理員已經(jīng)登錄,之后轉(zhuǎn)入管理界面,否則提示密碼或用戶名錯誤并返回重新登錄。</p><p>  其頁登陸界面如圖4-1所示,用戶登錄模塊的程序流程圖如圖4-2所示。</p><p>  圖4-1 管理員登錄界

55、面</p><p>  圖4-2 程序流程圖</p><p><b>  部分主要代碼如下:</b></p><p><b>  <%</b></p><p>  Dim sql, rs</p><p>  Dim UserName, Password, CheckCo

56、de, RndPassword</p><p>  UserName = ReplaceBadChar(Trim(Request("UserName")))</p><p>  Password = ReplaceBadChar(Trim(Request("Password")))</p><p>  If UserName

57、= "" Then</p><p>  FoundErr = True</p><p>  errmsg = errmsg & "用戶名不能為空!"</p><p><b>  End If</b></p><p><b>  ……</b></p

58、><p>  If CheckCode <> Session("CheckCode") Then</p><p>  FoundErr = True</p><p>  errmsg = errmsg & "您輸入的驗(yàn)證碼和系統(tǒng)產(chǎn)生的不一致,請重新輸入。"</p><p><b&g

59、t;  End If</b></p><p><b>  ……</b></p><p>  if md5(Password)<>rs("PassWord") then</p><p>  response.Redirect "jxgAdmin_login.asp"</p&

60、gt;<p><b>  end if </b></p><p>  if UserName<>rs("UserName") then</p><p>  response.Redirect "jxgAdmin_login.asp"</p><p><b>  end

61、 if</b></p><p>  RndPassword = GetRndPassword(16)</p><p>  rs("LastLoginIP") = TrueIP</p><p>  rs("LastLoginTime") = Now()</p><p>  rs("L

62、oginTimes") = 0</p><p><b>  rs.Update</b></p><p>  Conn.Execute ("Insert Into J_Log (LogType,ChannelID,LogTime,UserName,</p><p>  UserIP,LogContent,ScriptName)

63、 values (1,0," & J_Now & ",'" & UserName & "','" & TrueIP & "','登錄成功','" & ComeUrl & "')")</p><p>

64、  session("jixueguang")=2</p><p><b>  rs.Close</b></p><p>  sql = "select UserPassword,LastPassword,LastLoginIP,LastLoginTime,</p><p>  LoginTimes from J_

65、User where UserName='" & UserName & "'"</p><p>  rs.open sql, Conn, 1, 3</p><p>  If Not (rs.bof And rs.EOF) Then</p><p>  rs("LastPassword"

66、) = RndPassword</p><p>  rs("LastLoginIP") = TrueIP</p><p>  rs("LastLoginTime") = Now()</p><p>  rs("LoginTimes") = rs("LoginTimes") + 1<

67、/p><p><b>  rs.Update</b></p><p>  Response.Cookies("UserName") = UserName</p><p>  Response.Cookies("UserPassword") = rs("UserPassword")</

68、p><p>  Response.Cookies("LastPassword") = RndPassword</p><p><b>  End If</b></p><p><b>  rs.Close</b></p><p>  Set rs = Nothing</p>

69、;<p>  Call CloseConn</p><p>  Response.Redirect "Admin_Index.asp"</p><p><b>  End Sub</b></p><p>  以上代碼首先定義了幾個變量,之后獲取上一個頁面表單提交過來的數(shù)據(jù),并刪除首部和尾部的空格,同時把提交的字

70、符串中的SQL注入字符等有害字符替換過濾[14],然后把值賦值給本頁面已經(jīng)定義的變量。然后驗(yàn)證用戶名是否為空,如果不為空繼續(xù)執(zhí)行代碼,否則提示用戶名為空并返回登陸界面,然后系統(tǒng)驗(yàn)證密碼、用戶名和驗(yàn)證碼是否正確,如果正確把用戶登錄的信息記錄到日志表中,并轉(zhuǎn)到管理界面,否則重新登錄。最后關(guān)閉數(shù)據(jù)庫。</p><p>  4.2.2 信息管理模塊</p><p><b>  1.后臺主

71、界面:</b></p><p>  功能描述:登錄后,將會看到后臺界面上所顯示的各個功能模塊。左邊的一列可以對相應(yīng)欄目下的文章進(jìn)行修改、添加、刪除或者修改管理密碼。首先會驗(yàn)證session會話是否正確,如果正確就會進(jìn)入系統(tǒng)管理界面,否則轉(zhuǎn)到登錄界面。管理員登錄后的界面如圖4-3所示。</p><p><b>  圖4-3 登錄界面</b></p>

72、;<p><b>  部分主要代碼如下:</b></p><p><b>  <%</b></p><p>  if session("jixueguang")<>2 then</p><p>  response.redirect "jxgadmin_logi

73、n.asp"</p><p><b>  end if</b></p><p><b>  %></b></p><p>  <!--#include file=inc/function.asp--></p><p>  以上代買主要功能:如果用戶登錄就繼續(xù)執(zhí)行后面的代碼

74、,否則,跳轉(zhuǎn)到登錄模塊,防止非法進(jìn)入。包含的頁面主要是用于顯示數(shù)據(jù)記錄。</p><p><b>  2.信息管理界面:</b></p><p>  功能描述:可以對文章進(jìn)行查看、修改和刪除,管理員界面如圖4-4所示。</p><p>  圖4-4 信息管理界面</p><p><b>  部分主要代碼如下:&

75、lt;/b></p><p><b>  <%</b></p><p>  CurrentPage=replacebadchar(request("page"))</p><p>  if CurrentPage="" then</p><p>  CurrentPag

76、e=1</p><p>  else if not IsNumeric(CurrentPage) then</p><p><b>  ……</b></p><p>  strFileName="admin_newsAdd11.asp"</p><p>  maxperpage=15</p>

77、;<p>  openconn()</p><p>  set rs=server.CreateObject("adodb.recordset")</p><p>  rs.open"select * from J_news where DelFlag=false and (class=3 or class=4 or class=5 or cl

78、ass=6 or class=7) order by top desc, newid desc",conn,1,1</p><p><b>  ……</b></p><p>  if rs.eof then exit for</p><p><b>  %></b></p><p>

79、;  <tr align="center"></p><p>  <td height="25"><%=rs("title")%></td></p><p>  <td><%newsClass(rs("class"))%></td&g

80、t;</p><p><b>  <td></b></p><p>  <a href="../NewsView.asp?id=<%=rs("id")%>" target="_blank">查看</a></p><p>  <a h

81、ref="admin_newsEdit.asp?id=<%=rs("id")%>">修改</a></p><p>  <a href="#" onClick=alertreadme('確定刪除這條嗎?','admin_newsDel.asp?</p><p>  id=&

82、lt;%=Rs("id")%>')>刪除</a></p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  <%</b></p><p

83、>  rs.movenext</p><p><b>  ……</b></p><p>  以上代碼的主要功能是把滿足條件的記錄分頁顯示到頁面,分頁顯示是調(diào)用的一個分頁函數(shù)。獲取數(shù)據(jù)庫滿足記錄的title字段,之后通過newsClass這個子程序,調(diào)用顯示文章所屬的欄目類別,再獲取該字段的ID號,通過ID號可以用admin_newsEdit.asp頁面顯示出文章

84、的內(nèi)容,也可以通過ID號的值傳到admin_newsDel.asp刪除頁面刪除記錄。文章顯示的順序是按照置頂字段和發(fā)布日期降序進(jìn)行排序。</p><p><b>  3.信息修改界面:</b></p><p>  功能描述:對文章內(nèi)容修改和文章置頂設(shè)置,界面如圖4-5所示</p><p>  圖4-5 信息修改界面</p><

85、;p><b>  部分代碼如下:</b></p><p>  <form method="POST" name="myform" action="admin_newsEdit_chk.asp" target="_self"></p><p><b>  ……&l

86、t;/b></p><p><b>  <%</b></p><p>  if rs("top")=1 then</p><p>  response.Write("<span class='red_color'>取消置頂:</span></p>&

87、lt;p>  <input type='checkbox' name='top' value='0' id='top'/>") </p><p><b>  else</b></p><p>  response.Write("<span class=&#

88、39;red_color'>置頂:</span></p><p>  <input type='checkbox' name='top' value='1' id='top'/>")</p><p>  end if </p><p><b&

89、gt;  %></b></p><p>  以上代碼的主要功能是判斷是否在前臺、后臺顯示到欄目文章的第一條,如果有多個置頂文章,再按發(fā)布時間排序;同樣,如果不想使文章置頂,可以點(diǎn)擊取消。點(diǎn)擊修改后,文章提交到admin_newsEdit_chk.asp這個頁面,符合條件就更新到數(shù)據(jù)庫。</p><p>  4.信息修改驗(yàn)證界面:</p><p> 

90、 功能描述:驗(yàn)證提交表單數(shù)據(jù)是否合法,頁面部分代碼如下:</p><p>  if title="" or connect="" then</p><p>  Response.Write("<script>alert(""請?zhí)韺懲暾畔?quot;");history.go(-1);</sc

91、ript>")</p><p><b>  else</b></p><p>  openconn()</p><p>  set rs=server.CreateObject("adodb.recordset")</p><p>  rs.open "select * fr

92、om J_news where id="&id&"",conn,1,3</p><p>  rs("title")=title</p><p>  rs("class")=newsClass</p><p>  rs("adder")=adder</p&g

93、t;<p>  rs("connect")=connect</p><p>  rs("top")=top</p><p><b>  rs.update</b></p><p><b>  rs.close</b></p><p>  set

94、rs=nothing</p><p><b>  ……</b></p><p><b>  end if</b></p><p>  首先驗(yàn)證信息是否填寫完整,其次openconn()定義了一個adodb數(shù)據(jù)庫連接組件[15],并連接了一個數(shù)據(jù)庫。之后定義一個記錄集組件,并打開這個記錄集,更新數(shù)據(jù)。</p>

95、<p><b>  5.信息刪除界面:</b></p><p>  功能描述:對文章進(jìn)行刪除,管理員界面如圖4-6所示。</p><p>  圖4-6 刪除提示界面</p><p><b>  頁面部分代碼如下:</b></p><p>  id=replacebadchar(reques

96、t.QueryString("id"))</p><p>  conn.execute("update J_News set DelFlag=true where id="&id&"")</p><p>  Response.Write("<script>alert(""刪

97、除成功"");location.href=""admin_news.asp""</p><p>  ;</script>")</p><p>  conn.close </p><p>  set conn=nothing</p><p>  獲取表單傳過來的

98、ID值,并設(shè)置這個ID的記錄DelFlag的值為假,顯示提示信息,關(guān)閉數(shù)據(jù)庫,并把定義的組件設(shè)置為空。</p><p><b>  6.信息增加界面:</b></p><p>  功能描述:增加某個欄目的文章,界面如圖4-7所示。</p><p>  圖4-7 增加信息界面</p><p><b>  頁面部分

99、代碼如下:</b></p><p><b>  <% dim lb</b></p><p>  lb=request("lb")%> </p><p><b>  ……</b></p><p>  if (lb=0) then</p>&l

100、t;p>  response.Write("<option value='0'>學(xué)院簡介</option><option value='1'>歷任領(lǐng)導(dǎo)</option><option value='2'>歷史回顧</option>")</p><p><b>

101、  end if</b></p><p><b>  %></b></p><p><b>  <%</b></p><p>  if (lb=1) then</p><p>  response.Write("<option value='3'

102、;>黨政領(lǐng)導(dǎo)</option><option value='4'>工 會</option><option value='5'>學(xué)術(shù)委員會</option><option value='6'>教學(xué)委員會</option><option value='7'>院內(nèi)環(huán)節(jié)</o

103、ption>")</p><p><b>  end if</b></p><p><b>  %></b></p><p>  當(dāng)點(diǎn)擊某個欄目的后,系統(tǒng)獲取傳遞過來的值,判斷返回的欄目數(shù)據(jù)。</p><p>  7.信息增加驗(yàn)證界面:</p><p>

104、  功能描述:驗(yàn)證提交表單數(shù)據(jù)是否合法,如果合法就添加數(shù)據(jù)。</p><p>  頁面部分主要代碼如下:</p><p>  title=request.Form("title")</p><p>  newsClass=request.Form("newsClass")</p><p>  adder

105、=request.Form("adder")</p><p>  connect=request.Form("connect")</p><p>  top=request.Form("top")</p><p>  if title="" or connect=""

106、 then</p><p>  Response.Write("<script>alert(""請?zhí)韺懲暾畔?quot;");history.go(-1);</p><p>  </script>")</p><p><b>  else</b></p>

107、<p>  openconn()</p><p>  set rs=server.CreateObject("adodb.recordset")</p><p>  rs.open "select * from J_news",conn,1,3</p><p>  if not rs.eof then</p&g

108、t;<p>  rs.movelast</p><p>  newid=rs("newid")+1</p><p>  獲取表單傳遞過來的值,驗(yàn)證變量是否為空,如果不為空就添加數(shù)據(jù)到數(shù)據(jù)庫,否則,提示錯誤并返回重新增加數(shù)據(jù)。</p><p>  8.管理員密碼修改界面</p><p>  功能描述:用戶輸入正

109、確的原密碼和兩個相同的新密碼,提交到管理員密碼修改驗(yàn)證頁面。面如圖4-8所示。</p><p><b>  頁面部分代碼如下:</b></p><p>  <form id="form2" name="form2" method="post" </p><p>  action=

110、"admin_ped_chk.asp?id=1"></p><p><b>  <label></b></p><p>  <span class="red">用 戶 名 :<%=rs("AdminName")%></span></p>&l

111、t;p>  原密碼:<input name="pwd_y" type="password" id="textfield2" size="18" maxlength="16"/></p><p>  新密碼 :<input name="pwd" type="pas

112、sword" id="textfield" size="18" </p><p>  maxlength="16" />></p><p>  重復(fù)新密碼:<input name="pwd_r" type="password" id="textfield

113、" size="18" /> </p><p><b>  </label></b></p><p>  <input type="submit" name="button" id="button" value="提交"

114、/></p><p>  <input type="reset" name="button2" id="button2" value="重置" /></p><p><b>  </form> </b></p><p>  圖4-8 密

115、碼修改界面</p><p>  9.管理員密碼驗(yàn)證界面</p><p>  功能描述:把提交過來的數(shù)據(jù)驗(yàn)證,通過后提交到數(shù)據(jù)庫,否則提示出錯并返回到上一個頁面。</p><p>  response.Write("<meta http-equiv='Content-Type' content='text/html; chars

116、et</p><p>  =gb2312'>")</p><p>  set rs=server.CreateObject("adodb.recordset")</p><p>  rs.open "select * from J_admin where id=1",conn,1,1</p>

117、<p>  id=request.Form("id")</p><p>  AdminName=request.Form("user_name")</p><p>  PassWord_y=request.Form("pwd_y")</p><p>  PassWord=request.For

118、m("pwd")</p><p>  PassWord_r=request.Form("pwd_r")</p><p>  if PassWord="" or PassWord_r="" or PassWord_y="" then</p><p>  Response

119、.Write("<script>alert('原密碼、新密碼或重復(fù)密碼為空,請重新輸入!');history.go(-1);</script>")</p><p>  elseif md5(PassWord_y)<>rs("PassWord") then</p><p>  Response.Wri

120、te("<script>alert('原密碼錯誤,請重新輸入!');history.go(-1);</p><p>  </script>")</p><p>  elseif PassWord_r<>PassWord then</p><p>  Response.Write("&

121、lt;script>alert('兩個新密碼不相同,請重新輸入!');history.go(-1);</p><p>  </script>")</p><p><b>  else</b></p><p>  openconn()</p><p>  set rs=serve

122、r.CreateObject("adodb.recordset")</p><p>  rs.open "select * from J_admin where id=1",conn,1,3</p><p>  rs("PassWord")=md5(PassWord)</p><p><b>  

123、rs.update</b></p><p><b>  rs.close</b></p><p>  set rs=nothing</p><p>  call closeconn()</p><p>  Response.Write("<script>alert(""

124、;密碼修改成功,請記好密碼!"");</p><p>  location.href=""admin_ped.asp"";</script>")</p><p><b>  end if</b></p><p><b>  4.2 前臺設(shè)計(jì)</b&

125、gt;</p><p>  用戶打開系統(tǒng)后,首先看到的是Index.asp頁面,也就是系統(tǒng)的首頁,頁面展示了幾個重要的模塊,新聞模塊,通知模塊,學(xué)生活動模塊,友情鏈接模塊以及快速入口模塊。導(dǎo)航欄目包括了大部分的功能欄目,首頁界面如圖4-9所示。</p><p>  文章列表頁,展示了某個欄目的所有文章,而且欄目文章頁可以按置頂和日期排序。界面如圖4-10所示。</p><

126、;p>  圖4-10 文章列表界面</p><p><b>  圖4-9 首頁界面</b></p><p>  資源列表頁,列出了系統(tǒng)上傳的資源,打開頁面可以下載資源,資源列表頁與新聞列表頁樣式相同,資源下載頁面如圖4-11所示。</p><p>  圖4-11 資源下載界面</p><p>  文章顯示頁面,讀者

127、可以瀏覽文章的內(nèi)容,如圖4-12所示。</p><p><b>  部分主要代碼如下:</b></p><p>  <div class="title"><li>&nbsp;&nbsp; 學(xué)生活動</li></p><p>  <li style="floa

128、t:right; font-size:12px; margin:4px 12px 0 0"></p><p>  <a href="http://127.0.0.1/index_list.asp?lm=10" style="color:#FFF" </p><p>  target="_blank">&

129、gt;> more</a></p><p><b>  </li></b></p><p><b>  </div></b></p><p>  圖4-12 文章瀏覽界面</p><p>  <div id="content">

130、;<%call shownewsruan10(8)%></div></p><p><b>  ……</b></p><p>  id=request.QueryString("id")</p><p>  set rs=server.CreateObject("adodb.recordse

131、t")</p><p>  rs.open "select * from J_news where id="&id&"",conn,1,1</p><p>  if not rs.eof then</p><p><b>  ……</b></p><p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論