版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8章 綜合實例 本章介紹兩個實例:一個是新聞發(fā)布模塊設(shè)計,另一個是注冊與登錄驗證設(shè)計。 通過對新聞發(fā)布模塊設(shè)計的學(xué)習(xí),讀者將可以制作一個功能較為完善的新聞發(fā)布和管理模塊,了解實現(xiàn)新聞系統(tǒng)中的用戶管理、權(quán)限機(jī)制、新聞顯示、新聞發(fā)布、新聞管理、提供新聞服務(wù)等常見功能的ASP.NET設(shè)計方法。 通過對注冊與登錄驗證設(shè)計的學(xué)習(xí),讀者將可以獨立設(shè)計用戶注冊和登錄驗證功能模塊,了解用戶注冊、用戶登錄、注銷登錄等常見功能在ASP.NET中的設(shè)計技術(shù)。8.1 新聞發(fā)布模塊設(shè)計新聞系統(tǒng)是比較常見的一種網(wǎng)絡(luò)站點應(yīng)用,用于獲取新聞,添加、審核、修改或刪除新聞等。此外,新聞系統(tǒng)還可以通過提供新聞服務(wù)的方式,把系統(tǒng)中
2、的新聞提供給用戶或其他站點。 功能概述 數(shù)據(jù)庫表結(jié)構(gòu) 數(shù)據(jù)庫中的存儲過程 新聞瀏覽設(shè)計 新聞發(fā)布管理設(shè)計 實例總結(jié) 功能概述 對于一個新聞系統(tǒng)而言,其功能要足夠靈活和完整,并易于使用。我們把系統(tǒng)主要分為三個功能模塊:新聞瀏覽顯示模塊、新聞發(fā)布管理模塊和系統(tǒng)管理模塊。每個模塊的功能分述如下: 1.新聞瀏覽和顯示模塊新聞瀏覽和顯示模塊主要包括以下功能:1)顯示頭條新聞2)顯示最新更新新聞3)分類顯示新聞4)查看新聞類目5)瀏覽詳細(xì)新聞信息6)搜索新聞7)添加新聞評論2.新聞發(fā)布和管理模塊新聞發(fā)布和管理包括幾個部分:添加新聞、新聞審核、管理新聞、管理新聞評論、管理新聞分類等。添加新聞部分的功能設(shè)計如
3、下:1)根據(jù)權(quán)限設(shè)置分類2)HTML內(nèi)容編輯3)上傳圖片或媒體文件4)預(yù)覽新聞5)提交新聞新聞審核部分的功能設(shè)計如下:1)搜索待批新聞2)顯示待批新聞內(nèi)容3)審核通過,并發(fā)布新聞管理新聞部分的功能設(shè)計如下:1)搜索新聞2)顯示新聞3)修改新聞4)刪除新聞新聞評論管理部分的功能設(shè)計如下:1)搜索評論2)顯示評論內(nèi)容3)編輯評論內(nèi)容4)刪除評論管理新聞分類部分的功能設(shè)計如下:1)顯示分類2)添加分類3)修改分類4)刪除分類3.系統(tǒng)管理模塊系統(tǒng)管理模塊包含了用戶登錄驗證、用戶管理、用戶權(quán)限管理和設(shè)置、系統(tǒng)信息和權(quán)限信息顯示、新聞發(fā)布情況統(tǒng)計等功能,此外,對于系統(tǒng)發(fā)布的新聞或發(fā)布新聞的用戶,系統(tǒng)提供跟
4、蹤功能,記錄提交者信息、審核者信息、評論條數(shù)等,以方便統(tǒng)計和跟蹤新聞的反響。新聞系統(tǒng)的成功通常依賴于新聞管理功能的方便性和用戶瀏覽新聞的方便性。在功能設(shè)計中,允許瀏覽新聞的用戶登錄系統(tǒng)并提交新聞,只需要經(jīng)過審核的步驟即可發(fā)布,這樣可以保證豐富的新聞來源。其次,對于新聞和用戶的跟蹤,可以保證每一條新聞和新聞提供者得到有效的追蹤和管理。此外,對于新聞我們提供了類目管理,并且可以為新聞類目設(shè)置具有相應(yīng)管理權(quán)限的管理員,使新聞管理功能實現(xiàn)分布而非集中,有效減少管理員的工作量和不必要的失誤。數(shù)據(jù)庫表結(jié)構(gòu) 新聞發(fā)布和管理模塊設(shè)計的數(shù)據(jù)包括:新聞分類、新聞、用戶、新聞評論。新聞發(fā)布和管理系統(tǒng)的數(shù)據(jù)表以及它們
5、之間的鏈接關(guān)系,如圖所示。1)新聞分類表2)新聞條目表 3)新聞評論表4)用戶管理表數(shù)據(jù)庫中的存儲過程 為了郵箱管理數(shù)據(jù)庫,創(chuàng)建一組存儲過程是非常必要的,否則我們需要在數(shù)據(jù)操作時使用各種SQL語句。在設(shè)計存儲過程時,精心考慮數(shù)據(jù)操作的效率是一個重要的內(nèi)容。這里數(shù)據(jù)庫設(shè)計中所包含的部分存儲過程及其參數(shù)、說明等,見下表:新聞瀏覽設(shè)計1)首頁設(shè)計 該新聞發(fā)布和管理模塊的首頁主要由三個用戶控件組成,首頁的設(shè)計如圖所示。2)新聞列表頁面設(shè)計在首頁導(dǎo)航欄點擊一個新聞類目,就可以進(jìn)入該類目的新聞列表頁面。和前面使用用戶控件的設(shè)計思路相似,新聞列表仍然由一個用戶控件完成。其設(shè)計如圖所示。3)新聞瀏覽頁面設(shè)計在
6、新聞列表頁面列出的新聞列表中,僅給出了新聞標(biāo)題、發(fā)布時間、訪問次數(shù)等概要信息,點擊相應(yīng)的新聞條目的鏈接就可以瀏覽新聞內(nèi)容了。顯示新聞內(nèi)容的頁面show.aspx的設(shè)計效果如圖所示。4)查看評論內(nèi)容由于一條新聞的相關(guān)評論有許多條,因此這里使用一個數(shù)據(jù)綁定控件,例如DataList。這以設(shè)計效果如圖所示。5)添加新聞評論在顯示新聞內(nèi)容的頁面可以直接包括顯示新聞評論的部分。常見的做法是直接在新聞內(nèi)容顯示頁面中包含添加新聞評論的內(nèi)容。這一設(shè)計效果如圖所示。6)新聞搜索頁面在頁面導(dǎo)航欄單擊“搜索”,可以打開搜索頁面,其設(shè)計如圖所示。新聞發(fā)布管理設(shè)計 新聞發(fā)布管理部分主要包括了新聞提交、新聞修改等發(fā)布相關(guān)
7、的功能以及新聞類別管理和新聞條目管理、新聞審核等管理相關(guān)的功能。和新聞瀏覽部分有所不同,新聞發(fā)布和管理部分的功能都要求用戶登錄后按照權(quán)限使用,因此都可以視為新聞系統(tǒng)的管理功能。 1)添加新聞如果用戶已經(jīng)登錄系統(tǒng)并且具有添加新聞的權(quán)限,就可以進(jìn)行新聞提交了。新聞提交頁面的設(shè)計如圖所示。 2)設(shè)置為頭版新聞在前面介紹的首頁設(shè)計中,包括了頭版新聞的列表顯示,用于顯示推薦的新聞。頭版新聞的列表顯示并不麻煩,一個新聞條目是否可以作為推薦新聞進(jìn)入頭版,取決于在提交或修改新聞時是否設(shè)置了設(shè)為“頭版”新聞的屬性??梢詤⒖紙D8-8.事實上,設(shè)為頭版新聞的新聞條目對應(yīng)于其數(shù)據(jù)庫記錄中headline字段的值為1。
8、設(shè)為頭版新聞的處理過程包括在用戶添加新聞的addArticle的處理代碼中,這里不再贅述。3)新聞修改設(shè)計應(yīng)該說新聞修改的實現(xiàn)和添加有著太多的相似:一樣的編輯界面,相似的提交處理邏輯。兩者主要的不同在于,新聞修改時需要首先讀取新聞的內(nèi)容和原有的設(shè)置信息等,并顯示在編輯新聞的頁面中,并且在提交時需要執(zhí)行新聞信息的更新操作而非新增新聞。4)目錄管理設(shè)計這里介紹的新聞系統(tǒng)中,新聞類目的管理比較簡單,只支持單層目錄結(jié)構(gòu)。對于新聞目錄的管理主要支持如下操作:分頁顯示所有新聞類目、添加新的分類、修改已有分類名稱、刪除某一分類。這些操作在新聞目錄管理頁面已經(jīng)全部包括了,如圖所示。5)新聞管理頁面設(shè)計在新聞管
9、理中,不僅可以給用戶提供包括前面在新聞瀏覽中介紹的新聞條目列表和新聞搜索的功能,還允許用戶進(jìn)行修改新聞內(nèi)容、查看和修改評論、刪除新聞等操作。新聞管理頁面設(shè)計如圖所示。6)新聞刪除設(shè)計刪除文章分為幾個步驟:首先,將該文章在分類中的文章數(shù)目減1,接下來進(jìn)行刪除文章的操作,此外,還需要將提交新聞的新聞管理員所發(fā)表的新聞數(shù)目減1。刪除新聞的操作在新聞管理頁面中實現(xiàn)。 7)新聞審核設(shè)計如果用戶僅有添加新聞的權(quán)限,則此新聞在提交后,還需要經(jīng)過具有新聞審核權(quán)限的用戶的審核才能進(jìn)入發(fā)布區(qū)。新聞是否審核通過取決于新聞數(shù)據(jù)的checkup屬性。新聞審核頁面的設(shè)計如圖所示。8)權(quán)限管理和用戶管理新聞發(fā)布和管理系統(tǒng)要
10、求用戶必須登錄才可以提交新聞,而且用戶具有相應(yīng)權(quán)限才可以進(jìn)行審核新聞、修改新聞、添加評論、修改評論等操作。在系統(tǒng)中,除系統(tǒng)管理員外,還設(shè)有新聞管理員。新聞管理員可以直接發(fā)布提交新聞,或者管理具有管理權(quán)限的新聞分類。這些都需要用戶和權(quán)限的支持。用戶管理頁面如圖所示。實例總結(jié)本節(jié)展示了一個信息管理系統(tǒng)從需求分析到設(shè)計實現(xiàn)的完整過程,在功能分析和劃分、數(shù)據(jù)庫設(shè)計、頁面設(shè)計各層面進(jìn)行了詳細(xì)討論,重點闡述了數(shù)據(jù)庫結(jié)構(gòu)和存儲過程方法,以及使用DataSet和DataReader進(jìn)行數(shù)據(jù)訪問的基本技術(shù)。作為一個典型而完整的信息管理系統(tǒng),新聞發(fā)布系統(tǒng)的分析方法和設(shè)計技術(shù)可以使用于其他類型的信息管理系統(tǒng)。8.2
11、 注冊與登陸驗證設(shè)計注冊與登陸驗證設(shè)計1)在SQL Server中建立用戶信息表 (1)確定用戶信息下表是一個網(wǎng)絡(luò)商店系統(tǒng)的用戶信息表的字段設(shè)計。(2)建立用戶表在SQL Server中,主要有兩種方式創(chuàng)建信息表:使用T-SQL語句和使用企業(yè)管理器管理工具。使用表設(shè)計器設(shè)計數(shù)據(jù)表如下圖另外一種有效的建立數(shù)據(jù)表的方式是使用T-SQL的create table語句,也就是通常所說的建立SQL腳本的方式。 示例如下 :create table bbs_user(name nvarchar(12) not null,password nvarchar(32) not null,sex bit not
12、null constraint DF_bbs_user_sex default (0),email nvarchar(50) not null,info nvarchar(255) not null,face nvarchar(100) null,signature nvarchar(255) null,topics int not null constraint DF_bbs_user_topics default (0),replys int not null constraint DF_bbs_user_replys default (0),constraint PK_user prim
13、ary key clustered (name)2)創(chuàng)建注冊提交頁面對于建立了完整用戶系統(tǒng)的應(yīng)用來說,用戶注冊是系統(tǒng)的第一步。通常,按照系統(tǒng)應(yīng)用的不同需要,可能要求用戶填寫提交各種信息,包括基本信息和附加信息。在用戶填寫注冊信息時,需要對注冊信息的合法性進(jìn)行驗證,并在用戶提交合法信息后,對用戶提交的注冊信息數(shù)據(jù)盡享進(jìn)一步處理,存入數(shù)據(jù)庫中。本節(jié)介紹如何創(chuàng)建注冊提交頁面,以及如何檢驗提交信息的合法性。 (1)使用驗證控件在ASP.NET之前,表單驗證是一項繁瑣的任務(wù)。在ASP.NET中,提供了很多驗證控件使得程序員不需要考慮是客戶端檢驗還是服務(wù)器端檢驗也不需要考慮怎么輸出檢驗結(jié)果。接下來,舉例說
14、明對于用戶注冊提交而言如何使用驗證控件。下圖是一個注冊提交頁面的實例。(2)驗證控件的種類及其功能ASP.NET的驗證控件可以進(jìn)行如下檢查:輸入字段是否為空(使用RequiredFieldValidator)輸入字段是否在指定范圍內(nèi)(使用RangeValidator)輸入字符串是否符合某正則表達(dá)式要求的格式(使用RegularExpressionValidator)輸入值和另一個值滿足什么關(guān)系(使用CompareValidator)這些驗證控件都派生自一個共同的基類BaseValidator,因此,它們有一些共有屬性。如ControlToValidate,ErrorMessage,F(xiàn)oreCo
15、lor,Display,EnableClientScript。另外ASP.NET中還包含以下兩種驗證控件,用于對基本控件進(jìn)行擴(kuò)展:(1)定制的驗證檢查方式(使用CustomValidator)。(2)檢驗其他驗證控件的結(jié)果并集中顯示(使用ValidationSummary)。(3)使用圖形驗證碼 在用戶注冊或登錄時,為了進(jìn)一步保證安全性,越來越多的網(wǎng)站開始采用動態(tài)生成的圖形碼或者附加碼進(jìn)行驗證。這里簡單介紹使用圖形碼進(jìn)行驗證的技術(shù)。所謂圖形碼,通常是動態(tài)生成的一個驗證碼,并以圖形的形式顯示出來,要求用戶在一定時間內(nèi)輸入與圖形中顯示內(nèi)容一致的信息,由于在設(shè)定的很短時間之后圖形碼會重新動態(tài)生成,因
16、此要求用戶必須在限定時間內(nèi)進(jìn)行輸入驗證。這樣可以從時效和顯示兩方便進(jìn)行安全性保證。3)處理注冊數(shù)據(jù) (1)檢測用戶名是否存在通常為了幫助用戶完成注冊,可以提供一個對于用戶希望注冊的用戶名進(jìn)行檢查的功能,以幫助用戶注冊一個還沒有被注冊的用戶名。(2) 保存注冊信息到數(shù)據(jù)庫在用戶填寫完注冊信息后,首先應(yīng)該檢查用戶輸入信息的有效性,例如圖形碼是否正確、兩次輸入密碼是否一致等。如果用戶輸入有效,則應(yīng)該讀取用戶輸入的所有注冊信息,并產(chǎn)生數(shù)據(jù)庫記錄,將注冊信息存入其中。(3)發(fā)送注冊成功確認(rèn)郵件在有些用戶注冊系統(tǒng)中,為了進(jìn)一步保證用戶注冊的有效性,在一定程度上防止惡意注冊或虛假注冊,往往在用戶提交注冊信息
17、以后,系統(tǒng)自動發(fā)送一封確認(rèn)注冊的郵件,要求該郵箱主人確認(rèn)注冊。要實現(xiàn)這項功能,首相需要系統(tǒng)支持郵件發(fā)送,同時如果需要用戶受到郵件后確認(rèn)的話,也需要先標(biāo)記用戶為“注冊但未確認(rèn)”狀態(tài),并提供確認(rèn)功能,在用戶確認(rèn)之后,更改用戶為“注冊并確認(rèn)”狀態(tài)。 4)實現(xiàn)用戶登錄和注銷 (1)創(chuàng)建登錄頁面為了使用用戶登錄,需要設(shè)計用戶登錄頁面,要求用戶輸入用戶名稱和登錄密碼。在很多系統(tǒng)中,為了保證安全性,還會采用前面介紹過的圖形驗證碼技術(shù)。此外,對于未注冊用戶,還應(yīng)該提供注冊功能,包含了以上要素的用戶登錄頁面如圖所示。(2)驗證用戶登錄信息用戶填寫了用戶名、登錄密碼和驗證碼后,單擊“登錄”按鈕,即可登錄。對于用戶輸入信息的有效性,前面已經(jīng)介紹過,是應(yīng)該提供一些檢查的。例如,用戶名、密碼和驗證碼不能為空,以及用戶名不能包含非法字符等,這些通過驗證控件都可以實現(xiàn)。對于有效的用戶輸入,就需要驗證用戶身份的合法性,檢索數(shù)據(jù)庫記錄,確認(rèn)用戶輸入與注冊信息的一致性。 (3)從系統(tǒng)注銷退出通常在需要用戶注冊登陸才能使用系統(tǒng)功能的應(yīng)用中,為了保證安全性,也相應(yīng)提供注銷退出的功能。對于登錄用戶,系統(tǒng)一般會記錄下一些Session或者Cookie信息,并進(jìn)行在線信息登記等。要完成系統(tǒng)注銷退出功能,只需清除相應(yīng)的對象和統(tǒng)計信息就可以了。 (4)使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園心理健康合同:校園心理健康服務(wù)承包協(xié)議
- 新疆維吾爾自治區(qū)勞動合同范本樣本
- 山林承包合同使用指南
- 2024年范文生態(tài)園土地承包合同
- 2024試析《物業(yè)服務(wù)合同》的解除或終止問題
- 2024小吃加盟合同范本
- 物業(yè)管理服務(wù)協(xié)議參考樣本
- 個人建房施工合同范本
- 2024廣告設(shè)計類合同范本
- 解除版權(quán)買賣合同協(xié)議
- 2024年全國高考Ⅰ卷英語試題及答案
- 期刊編輯的學(xué)術(shù)期刊編輯規(guī)范考核試卷
- T-CCSAS014-2022《化工企業(yè)承包商安全管理指南》
- 電梯安全總監(jiān)和安全員的任命文件
- SL-T+62-2020水工建筑物水泥灌漿施工技術(shù)規(guī)范
- 2024年安徽省普通高中學(xué)業(yè)水平選擇性考試 歷史試卷
- 電子商務(wù)師職業(yè)技能等級證書培訓(xùn)方案
- JBT 14615-2024 內(nèi)燃機(jī) 活塞運(yùn)動組件 清潔度限值及測定方法(正式版)
- DL5009.2-2013電力建設(shè)安全工作規(guī)程第2部分:電力線路
- 理智與情感:愛情的心理文化之旅智慧樹知到期末考試答案章節(jié)答案2024年昆明理工大學(xué)
- GA/T 2097-2023執(zhí)法辦案管理場所信息應(yīng)用技術(shù)要求
評論
0/150
提交評論