高校教學(xué)系部網(wǎng)站通用平臺(tái)論文.doc_第1頁
高校教學(xué)系部網(wǎng)站通用平臺(tái)論文.doc_第2頁
高校教學(xué)系部網(wǎng)站通用平臺(tái)論文.doc_第3頁
高校教學(xué)系部網(wǎng)站通用平臺(tái)論文.doc_第4頁
高校教學(xué)系部網(wǎng)站通用平臺(tái)論文.doc_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

河南機(jī)電高等??茖W(xué)校畢業(yè)論文高校教學(xué)系部網(wǎng)站通用平臺(tái)1緒論11選題背景隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,當(dāng)今社會(huì)已經(jīng)進(jìn)入信息化時(shí)代,各行各業(yè)也紛紛充分利用互聯(lián)網(wǎng)絡(luò)獲取信息,擴(kuò)大宣傳。國內(nèi)各大高校也逐年加大信息化建設(shè)的投入,朝著數(shù)字化校園的目標(biāo)前進(jìn)。然而, 在高等教育大眾化速度不斷加快的趨勢(shì)下,原有高??焖贁U(kuò)充,新建高校不斷涌現(xiàn),不少新建院校的系級(jí)部門沒有自己的網(wǎng)站,在系級(jí)網(wǎng)絡(luò)信息化建設(shè)方面稍顯滯后,或者網(wǎng)站制作粗糙,缺乏有效的維護(hù)。為了加快新組建院系網(wǎng)站的建設(shè),節(jié)省人力、物力,使其構(gòu)建規(guī)范,便于管理與維護(hù),本人提出了建設(shè)“高校教學(xué)系部網(wǎng)站通用平臺(tái)”的構(gòu)思,該平臺(tái)采用先進(jìn)的網(wǎng)絡(luò)程序開發(fā)技術(shù)ASP. NET 2. 0 ,使用運(yùn)行穩(wěn)定和高效的SQL Server2000 數(shù)據(jù)庫管理系統(tǒng),在. NET 框架下設(shè)計(jì)完成。與目前的一些自助建站系統(tǒng)相比,該平臺(tái)主要是針對(duì)高校院系部門的特點(diǎn)而量身定做,可以幫助新建院校的系級(jí)部門快速方便地搭建系級(jí)網(wǎng)站。本文主要介紹該平臺(tái)的系統(tǒng)分析、設(shè)計(jì)和實(shí)現(xiàn),并對(duì)ASP. NET2. 0 中的一些新特性進(jìn)行了探討。矚慫潤(rùn)厲釤瘞睞櫪廡賴。12主要內(nèi)容及研究意義1.2.1系統(tǒng)的內(nèi)容(1)前臺(tái)頁面本系簡(jiǎn)介該頁面主要提供了計(jì)算機(jī)科學(xué)系簡(jiǎn)介,讓用戶對(duì)本系有關(guān)情況有大概的了解。科研成果該頁面介紹了由本系教授的各項(xiàng)科研成果,以及教師研究方向。靜態(tài)介紹即可。資源下載這個(gè)頁面提供給教師和學(xué)生一個(gè)平臺(tái),使通過用戶驗(yàn)證的老師可以上傳課件試卷等文件,而沒有權(quán)限的學(xué)生只能下載這些文件,使系統(tǒng)易于管理。聞創(chuàng)溝燴鐺險(xiǎn)愛氌譴凈。交流園地交流園地論壇是提供給學(xué)生和老師交流的平臺(tái),注冊(cè)用戶可以自由發(fā)布話題或者回復(fù)感興趣的話題。這是本網(wǎng)站的子系統(tǒng),要求有一些簡(jiǎn)單的基礎(chǔ)功能,包括用戶注冊(cè)登陸、用戶信息修改、瀏覽帖子、發(fā)表帖子、回復(fù)帖子以及注冊(cè)用戶數(shù)和帖子數(shù)等。殘騖樓諍錈瀨濟(jì)溆塹籟。新聞管理該功能用于管理主頁的滾動(dòng)新聞,可以發(fā)表和修改新聞,需要管理員身份驗(yàn)證。(2)后臺(tái)管理用戶管理用戶信息的添加、修改和刪除功能。新聞管理添加、刪除、修改新聞公告。論壇管理查看、發(fā)表、刪除論壇帖子,維護(hù)系內(nèi)論壇的正常運(yùn)行。資源管理查看、上傳及刪除站內(nèi)共享資源等。1.2.2研究意義系部網(wǎng)站的建設(shè)有助于校園內(nèi)部老師與學(xué)生之間的學(xué)術(shù)文化交流,以及內(nèi)部的資源共享,系部?jī)?nèi)部信息的及時(shí)通告等,同時(shí)也有助于老師和學(xué)生及時(shí)了解系部的發(fā)展成果,進(jìn)一步深化了網(wǎng)絡(luò)教育。釅錒極額閉鎮(zhèn)檜豬訣錐。13論文組織結(jié)構(gòu)第一部分:緒論。介紹了論文的研究意義和高校系級(jí)網(wǎng)站的發(fā)展背景。第二部分:系統(tǒng)概述。簡(jiǎn)述了系統(tǒng)的主要功能及特點(diǎn)。第三部分:系統(tǒng)分析。需求分析、需求描述、數(shù)據(jù)庫設(shè)計(jì)等。第四部分:系統(tǒng)功能實(shí)現(xiàn)。各功能模塊的具體設(shè)計(jì)與實(shí)現(xiàn)方法。第五部分:系統(tǒng)的不足與改進(jìn)設(shè)想??偨Y(jié)網(wǎng)站的不足之處,并提出對(duì)網(wǎng)站的進(jìn)一步改進(jìn)方案。第六部分:總結(jié)。對(duì)整個(gè)研究工作進(jìn)行歸納和綜合。2系統(tǒng)概述21系統(tǒng)主要功能高校教學(xué)系部網(wǎng)站通用平臺(tái)的主要功能如下:有本系的簡(jiǎn)要介紹,以及專業(yè)介紹;有系部?jī)?nèi)各機(jī)構(gòu)部門的組織介紹;能夠顯示系部?jī)?nèi)發(fā)布的公告信息以及種類通知內(nèi)容;詳細(xì)說明系部?jī)?nèi)黨建工作的進(jìn)展;為學(xué)生和老師提供一個(gè)資源(課件、電子書籍等)共享的平臺(tái);展示出系部?jī)?nèi)近年來的各種科研成果,以及所獲得的各種榮譽(yù);22系統(tǒng)特點(diǎn)2.2.1 采用數(shù)據(jù)庫綁定快速開發(fā)ASP.NET 2.0對(duì)數(shù)據(jù)庫綁定提供了極大的支持,在開發(fā)中使用數(shù)據(jù)庫綁定技術(shù)要比使用三層結(jié)構(gòu)速度快很多。因?yàn)锳SP.NET 2.0在支持采用數(shù)據(jù)綁定技術(shù)后,幾乎不需要編寫代碼。彈貿(mào)攝爾霽斃攬磚鹵廡。2.2.2 頁面模塊化本系統(tǒng)把頁面分解為一些模塊,由用戶控件來實(shí)現(xiàn),所有的頁面都由這些控件“組裝”而成。頁面結(jié)構(gòu)使用MasterPage來規(guī)范,開發(fā)時(shí)只需要在頁面上拖入所需的用戶控件即可,減少了頁面的代碼量。謀蕎摶篋飆鐸懟類蔣薔。2.2.3 靈活運(yùn)用種類控件本系統(tǒng)在設(shè)計(jì)時(shí)大量、靈活地運(yùn)用了Visual Studio.NET 2005自帶的控件,通過靈活設(shè)置和程序控制達(dá)到盡可能實(shí)現(xiàn)理想的效果,展示出.NET獨(dú)有的魅力,從而提高開發(fā)效率。廈礴懇蹣駢時(shí)盡繼價(jià)騷。2.2.4 MD5數(shù)據(jù)加密技術(shù)為保證本系統(tǒng)的數(shù)據(jù)安全性本系統(tǒng)同時(shí)還使用了MD5單向數(shù)據(jù)加密技術(shù),它有兩個(gè)特性是很重要的,第一是任意兩段明文數(shù)據(jù),加密以后的密文不能是相同的;第二是任意一段明文數(shù)據(jù),經(jīng)過加密以后,其結(jié)果必須永遠(yuǎn)是不變的。 煢楨廣鰳鯡選塊網(wǎng)羈淚。3系統(tǒng)分析3.1設(shè)計(jì)思想通過河南機(jī)專計(jì)算機(jī)科學(xué)與技術(shù)系網(wǎng)站,全面宣傳,展示我系教學(xué)風(fēng)采、優(yōu)點(diǎn)與特色,以及各項(xiàng)教學(xué)科研成果,發(fā)布系內(nèi)的通知消息與新聞信息,增強(qiáng)各系部之間的聯(lián)系,在Internet上實(shí)現(xiàn)完成部分系內(nèi)業(yè)務(wù),提高辦事效率。鵝婭盡損鵪慘歷蘢鴛賴。3.1.1 B/S模式的構(gòu)成和數(shù)據(jù)處理方式B/S架構(gòu)如圖3-1所示。結(jié)果結(jié)果請(qǐng)求請(qǐng)求結(jié)果請(qǐng)求瀏覽器瀏覽器Web Server (IIS/PWS)Database Server籟叢媽羥為贍僨蟶練淨(jìng)。圖3-1 B/S架構(gòu)系統(tǒng)的總架構(gòu)如圖3-2所示。新聞、公告圖片新聞、下載文件論壇、投票用戶管理新聞、公告分類管理論壇管理資源管理前臺(tái)用戶交互后臺(tái)管理員交互Sql Server 數(shù)據(jù)庫Windows 2000/NT,HTML&ASP.NET,Sql Server,JavaScript預(yù)頌圣鉉儐歲齦訝驊糴。圖3-2系統(tǒng)總架構(gòu)3.1.2安全性(1)數(shù)據(jù)庫服務(wù)器和WEB服務(wù)器的設(shè)置出于對(duì)安全性的考慮,可以將數(shù)據(jù)庫服務(wù)器和WEB服務(wù)器分別配置在不同的服務(wù)器,設(shè)置防火干墻限制外網(wǎng)對(duì)服務(wù)器內(nèi)部的訪問,限制只能對(duì)WEB服務(wù)器進(jìn)行訪問,從而提高系統(tǒng)的安全性。滲釤嗆儼勻諤鱉調(diào)硯錦。(2)數(shù)據(jù)庫內(nèi)容的安全性為了保護(hù)系統(tǒng)管理員及論壇子系統(tǒng)中用戶的信息安全,在用戶的密碼方面,采用了目前較為常見的MD5單向數(shù)據(jù)加密技術(shù)。MD5CyptoServiceProvider類是.NET中System.Security.Cryptography命名空間的一個(gè)類,提供專門用于MD5單向數(shù)據(jù)加密的解決方法,也是本系統(tǒng)中我們用來加密數(shù)據(jù)庫中密碼的類。鐃誅臥瀉噦圣騁貺頂廡。(3)對(duì)非法字符輸入的過濾當(dāng)用字符串來組織SQL語句時(shí),最重要的一個(gè)問題就是過濾字符串中的單引號(hào),因?yàn)樵赟QL語句中字符串是以單引號(hào)為分界符的,因此需要將單引號(hào)過濾掉,或者替換為兩個(gè)單引號(hào)(因?yàn)镾QL語法中用兩個(gè)單引號(hào)表示一個(gè)單引號(hào)),只要使用VB.NET 中的Replace函數(shù)就可以達(dá)到目的。擁締鳳襪備訊顎輪爛薔。其次是不合法的輸入。比如需要數(shù)字的時(shí)候輸入字符等,這都可能導(dǎo)致系統(tǒng)無法正常運(yùn)行,因此,對(duì)這些都要進(jìn)行過濾。贓熱俁閫歲匱閶鄴鎵騷。3.1.3代碼復(fù)用本系統(tǒng)中使用了很好的代碼復(fù)用機(jī)制,即在開發(fā)中盡量使用本系統(tǒng)中已經(jīng)使用過的代碼,以及使用以前項(xiàng)目積累的代碼,如數(shù)據(jù)庫訪問類、非法輸入檢測(cè)類等。最突出的應(yīng)該是使用用戶控件(ASCX)組裝頁面(ASPX)的思想了。壇摶鄉(xiāng)囂懺蔞鍥鈴氈淚。3.1.4輸出緩存技術(shù)本系統(tǒng)中恰到好處地使用了輸出緩存技術(shù),根據(jù)輸出緩存的原理,一般來講服務(wù)器響應(yīng)速度大于純HTML的響應(yīng)速度。因?yàn)檩敵鼍彺媸菍SPX執(zhí)行之后生成的HTML頁面緩存在內(nèi)存中,如果有相同請(qǐng)示就直接輸出此內(nèi)存中的頁面,而HTML頁面則是存儲(chǔ)在硬盤上的。蠟變黲癟報(bào)倀鉉錨鈰贅。3.2網(wǎng)站功能模塊分析河南機(jī)專計(jì)算機(jī)科學(xué)與技術(shù)系網(wǎng)站包括如下幾個(gè)主要功能模塊:(1)新聞信息分類發(fā)布系統(tǒng)功能新聞信息發(fā)布系統(tǒng)整體分為前臺(tái)和后臺(tái)兩部分。前臺(tái)的主要功能是為用戶提供快速查看各種新聞。后臺(tái)主要是針對(duì)管理員,包括新聞信息的添加、修改、刪除。并且在后臺(tái)可以按需要添加、修改、刪除新聞信息分類,目前本網(wǎng)站分為系內(nèi)通知、系內(nèi)公告、圖片新聞、資源下載四大類。買鯛鴯譖曇膚遙閆擷凄。(2)用戶登錄、注銷和注冊(cè)管理用向?qū)У姆绞綖樾掠脩籼峁┳?cè)功能,用戶輸入用戶名、密碼和其他個(gè)人信息,經(jīng)過系統(tǒng)的合法性驗(yàn)證成為正式用戶。管理員通過后臺(tái)系統(tǒng)審核,給予注冊(cè)用戶相應(yīng)的權(quán)限。如果用戶忘記密碼,可以通過系統(tǒng)提問的方式,由向?qū)б徊讲秸业矫艽a。綾鏑鯛駕櫬鶘蹤韋轔糴。(3)論壇功能作為本系統(tǒng)的一個(gè)子系統(tǒng),本系統(tǒng)還附加了簡(jiǎn)單的論壇功能,方便用戶可以在站內(nèi)溝通交流。(4)投票、評(píng)選系統(tǒng)功能投票系統(tǒng)是站內(nèi)做一些小調(diào)查的工具,很直觀的反映出當(dāng)前調(diào)查結(jié)果,亦可做一些不記名投票評(píng)選活動(dòng)。根據(jù)上面的系統(tǒng)功能模塊分析,可以畫出相應(yīng)的系統(tǒng)功能模塊圖,本論文從前臺(tái)界面、后臺(tái)管理界面分別對(duì)功能模塊圖加以描述。前臺(tái)界面的主要功能模塊圖3-3所示。驅(qū)躓髏彥浹綏譎飴憂錦。河南機(jī)專計(jì)算機(jī)科學(xué)與技術(shù)系網(wǎng)站前臺(tái)界面公告信息資料下載交流園地圖片新聞系內(nèi)通知圖3-3 網(wǎng)站前臺(tái)頁面后臺(tái)管理端的功能模塊圖3-4所示。河南機(jī)專計(jì)算機(jī)科學(xué)與技術(shù)系網(wǎng)站管理員登錄界面管理端界面用戶管理新聞管理論壇管理資源管理系統(tǒng)管理圖3-4 后臺(tái)管理端功能模塊3.3數(shù)據(jù)庫分析數(shù)據(jù)庫在一個(gè)系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。貓蠆驢繪燈鮒誅髏貺廡。設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時(shí)應(yīng)該充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的及將來可能增加的需求。數(shù)據(jù)庫設(shè)計(jì)一般包括如下幾個(gè)步驟。鍬籟饗逕瑣筆襖鷗婭薔。(1)數(shù)據(jù)庫需求分析。(2)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)。(3)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)。(4)存儲(chǔ)過程設(shè)計(jì)。3.3.1數(shù)據(jù)庫需求分析用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。構(gòu)氽頑黌碩飩薺齦話騖。數(shù)據(jù)庫的需求分析是進(jìn)行系統(tǒng)功能劃分和系統(tǒng)設(shè)計(jì)最重要的一個(gè)環(huán)節(jié),根據(jù)系統(tǒng)數(shù)據(jù)流程圖,可以得到主要的幾個(gè)數(shù)據(jù)庫表:用戶信息表(Login.db)、新聞信息表(News.db)、上傳文件信息表(FileInfo.db)、論壇信息表(Forum.db)、新聞圖片信息表(PhotoPath.db)、投票信息表(vote.db)等,以下為系統(tǒng)所需的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的使用情況:輒嶧陽檉籪癤網(wǎng)儂號(hào)澩。(1)用戶管理:管理員用戶信息表,生成包括用戶名、用戶密碼及管理權(quán)限等信息。(2)新聞管理:新聞編號(hào)、新聞標(biāo)題、新聞?lì)愋?、發(fā)布者、發(fā)布時(shí)間、保存路徑、瀏覽次數(shù)。(3)論壇管理:論壇信息表,發(fā)表人、內(nèi)容、發(fā)表時(shí)間等。(4)資源管理:上傳文件信息表,文件名、文件保存路徑、上傳者、文件描述、上傳時(shí)間、下載次數(shù)。(5)投票系統(tǒng):投票信息表,投票內(nèi)容、投票選項(xiàng)信息等。3.3.2數(shù)據(jù)庫概念設(shè)計(jì)得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動(dòng)。堯側(cè)閆繭絳闕絢勵(lì)蜆贅。根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:用戶信息實(shí)體、新聞信息實(shí)體、上傳文件信息實(shí)體、論壇信息實(shí)體、投票信息表等。識(shí)饒鎂錕縊灩筧嚌儼淒。本系統(tǒng)數(shù)據(jù)庫的E-R圖如圖3-5所示。用戶留言論壇投票發(fā)布發(fā)布管理員新聞投票系統(tǒng)公告管理瀏覽上傳文件資源圖3-5數(shù)據(jù)庫的E-R圖管理員實(shí)體E-R圖如圖3-6所示。管理員賬號(hào)密碼權(quán)限圖3-6管理員實(shí)體E-R圖新聞實(shí)體E-R圖如圖3-7所示。新聞信息新聞標(biāo)題發(fā)布者發(fā)布日期瀏覽數(shù)圖3-7新聞實(shí)體E-R圖論壇信息實(shí)體E-R圖如圖3-8所示。論壇信息發(fā)表人內(nèi)容發(fā)表時(shí)間圖3-8論壇信息實(shí)體E-R圖上傳文件信息實(shí)體E-R圖如圖3-9所示。上傳文件文件名文件路徑上傳日期下載次數(shù)圖3-9 上傳文件信息實(shí)體E-R圖投票信息實(shí)體E-R圖如圖3-10所示。投票信息投票內(nèi)容投票選項(xiàng)信息圖3-10投票信息實(shí)體E-R圖3.3.3數(shù)據(jù)庫邏輯設(shè)計(jì)本系統(tǒng)采用SQL Server 2000數(shù)據(jù)庫,數(shù)據(jù)庫中各個(gè)表的設(shè)計(jì)結(jié)果如下面的表格所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表,ASP.NET 2.0站點(diǎn)統(tǒng)計(jì)所需的表沒有列出。凍鈹鋨勞臘鍇癇婦脛糴。管理員用戶信息表如表3-1所示。表3-1 管理員用戶信息表(Login)字段名類型長(zhǎng)度Null注釋默認(rèn)值IdNvarchar20否主鍵,用戶名(無)PwdNvarchar50否密碼(無)PowerChar1否權(quán)限0新聞信息表如表3-2所示。表3-2 新聞信息表(News)字段名類型長(zhǎng)度Null注釋默認(rèn)值TitleNavarchar50否主鍵,新聞名稱(無)AuthorNavarchar50是發(fā)布者計(jì)科系辦公室TypeChar1否新聞?lì)愋?NewsPathVarchar50是保存路徑(無)UpLoadDateVarchar20否發(fā)布日期(無)TimesInt4是瀏覽次數(shù)0論壇信息表如表3-3所示。表3-3論壇信息表(Forum)字段名類型長(zhǎng)度Null注釋默認(rèn)值UsernameNvarchar20否主鍵,用戶名(無)ContentNvarchar500否內(nèi)容(無)DateVarchar20否發(fā)表日期(無)上傳文件信息表如表3-4所示。表3-4上傳文件信息表(FileInfo)字段名類型長(zhǎng)度Null注釋默認(rèn)值FileNameNavarchar50否主鍵,文件名稱(無)AuthorNavarchar50是上傳者計(jì)科系辦公室DescribtionNvarchar200否文件描述(無)FilePathVarchar50是保存路徑(無)UpLoadDateVarchar20否上傳日期(無)投票信息表如表3-5所示。表3-5投票信息表(Vote)字段名類型長(zhǎng)度Null注釋默認(rèn)值OptionsVarchar10否主鍵,選項(xiàng)名(無)AmountInt4否投票量0存儲(chǔ)過程是一些在數(shù)據(jù)庫中經(jīng)過預(yù)編譯和優(yōu)化的SQL語句,采用它不僅可以提高查詢的速度,而且由于使用存儲(chǔ)過程只需要傳遞存儲(chǔ)過程名和一些必要參數(shù)給數(shù)據(jù)庫系統(tǒng),因此還可以達(dá)到減少網(wǎng)絡(luò)傳輸從而提高系統(tǒng)執(zhí)行速度的目的。恥諤銪滅縈歡煬鞏鶩錦。存儲(chǔ)過程可以分為有參數(shù)和無參數(shù)。此外存儲(chǔ)過程可以由一個(gè)或多個(gè)語句組成。由于本系統(tǒng)用的存在過程較多,只列舉部分典型的。鯊腎鑰詘褳鉀溈懼統(tǒng)庫。(1)SELECT型存儲(chǔ)過程SELECT語句是SQL語句中最典型,使用最多的一個(gè),在此舉出一個(gè)帶有SELECT語句的存儲(chǔ)過程,如例程3-1所示。碩癘鄴頏謅攆檸攜驤蘞。例程3-1 SELECT型存儲(chǔ)過程示例CREATE PROCEDURE getPass(Id nvarchar(50),Pwd nvarchar(50)ASselect * from Login where (Id=Id) and (Pwd=Pwd)RETURN(2)INSERT型存儲(chǔ)過程INSERT用于對(duì)數(shù)據(jù)進(jìn)行插入,如例程3-2所示。例程3-2INSERT型存儲(chǔ)過程示例CREATE PROCEDURE AddFileInfo (FileName nvarchar(50),F(xiàn)ilePath nvarchar(50),Author nvarchar(50),Describtion nvarchar(50),UpLoadDate nvarchar(50)ASinsert into FileInfo(FileName,F(xiàn)ilePath,Author,Describtion,UpLoadDate) values(FileName,F(xiàn)ilePath,Author,Describtion,UpLoadDate)閿擻輳嬪諫遷擇楨秘騖。RETURN(3)UPDATE型存儲(chǔ)過程UPDATE用于更新數(shù)據(jù),如例程3-3所示。例程3-3 UPDATE型存儲(chǔ)過程示例CREATE PROCEDURE ChangePwd(Id nvarchar(50),Pwd nvarchar(50)ASupdate Login set Pwd=Pwd where Id=Id;RETURN(4)DELETE型存儲(chǔ)過程DELETE用于刪除指定數(shù)據(jù),如例程3-4所示。例程3-4 DELETE型存儲(chǔ)過程示例CREATE PROCEDURE DelNews(Title nvarchar(50)ASdelete from News where Title=Title;RETURN3.4 Web應(yīng)用程序結(jié)構(gòu)設(shè)計(jì)進(jìn)行Web應(yīng)用程序結(jié)構(gòu)設(shè)計(jì)有助于從整體把握應(yīng)用程序功能與物理布局。ASP.NET 2.0為Web應(yīng)用程序結(jié)構(gòu)設(shè)計(jì)添加了許多新的元素。只有掌握了這些,才真正發(fā)揮了ASP.NET 2.0的性能。氬嚕躑竄貿(mào)懇彈瀘頷澩。3.4.1配置站點(diǎn)web.config文件(1)添加連接字符串在web.config文件的節(jié)中添加連接字符串的定義如下:釷鵒資贏車贖孫滅獅贅。慫闡譜鯪逕導(dǎo)嘯畫長(zhǎng)涼。注意代碼中的粗體部分,它是這個(gè)連接字符串的唯一標(biāo)識(shí),數(shù)據(jù)庫用戶名與密碼根據(jù)自己的實(shí)際情況做適當(dāng)更改。(2)啟用Forms認(rèn)證下面啟用Forms認(rèn)證并設(shè)置登錄頁面和用戶權(quán)限,修改web.confi文件的節(jié)為下面的代碼:諺辭調(diào)擔(dān)鈧諂動(dòng)禪瀉類。嘰覲詿縲鐋囁偽純鉿錈。注意上面“/”用法,它定位到當(dāng)前應(yīng)用程序的根目錄,而不是整個(gè)網(wǎng)站的根目錄。3.4.2 按訪問權(quán)限創(chuàng)建目錄首先分析本系統(tǒng)后臺(tái)管理端的用戶角色,至少分為3種:匿名用戶、普通用戶、管理員。為了配合Forms認(rèn)證,最好為后兩種有特別權(quán)限的用戶建立相應(yīng)的目錄,這樣可以針對(duì)目錄來設(shè)置角色的訪問權(quán)限。熒紿譏鉦鏌觶鷹緇機(jī)庫。(1)管理員目錄Admin創(chuàng)建Admin目錄,用來存放本系統(tǒng)的“管理員”文件,它只有管理可以訪問。向web.config文件中添加內(nèi)容如下:鶼漬螻偉閱劍鯫腎邏蘞。(2)普通用戶Ordinary創(chuàng)建Ordinary目錄,用來存放本系統(tǒng)的“管理員”文件,它只有管理可以訪問。向web.config文件中添加內(nèi)容如下:紂憂蔣氳頑薟驅(qū)藥憫騖。3.4.3用MasterPage規(guī)劃網(wǎng)站結(jié)構(gòu)使用MasterPage可以大大提高開發(fā)效率,本系統(tǒng)的頁面布局仍采用下面這種模式:頁面=MasterPage+用戶控件或.aspx=.master+.ascx采用用戶控件的好處在于可以充分地發(fā)揮碎片緩存的作用,在最大限度內(nèi)提高應(yīng)用程序效率。這是一種極力推薦的UI模式。穎芻莖蛺餑億頓裊賠瀧。本系統(tǒng)中創(chuàng)建了以下三個(gè)MasterPage模板。l Management.master:后臺(tái)管理界面模板。l Main.master:前臺(tái)界面模板。l MasterNews.master:新聞瀏覽頁面模板。MasterPage稍多一些可以使開發(fā)變得比較靈活,但如果太多,就會(huì)失去用MasterPage統(tǒng)一布局的意義。濫驂膽閉驟羥闈詔寢賻。3.4.4公共類設(shè)計(jì)本系統(tǒng)設(shè)計(jì)了一個(gè)公共類code1,包含了對(duì)數(shù)據(jù)庫的操作及數(shù)據(jù)加密等方法。public string MD5(String str)MD5 md5 = new MD5CryptoServiceProvider();byte data = System.Text.Encoding.Default.GetBytes(str);銚銻縵嚌鰻鴻鋟謎諏涼。byte result = md5.ComputeHash(data);String ret = ;for (int i = 0; i result.Length; i+)ret += resulti.ToString(x).PadLeft(2, 0);return ret;public SqlDataReader GetPassport(string id,string pwd)/校驗(yàn)用戶名和密碼擠貼綬電麥結(jié)鈺贖嘵類。SqlConnection conn = GetConn();SqlCommand cmd = new SqlCommand(getPass, conn);cmd.CommandType = CommandType.StoredProcedure;SqlParameter id1 = cmd.Parameters.Add(Id, SqlDbType.NVarChar, 50);賠荊紳諮侖驟遼輩襪錈。SqlParameter pwd1 = cmd.Parameters.Add(Pwd, SqlDbType.NVarChar, 50);塤礙籟饈決穩(wěn)賽釙冊(cè)庫。id1.Value = id;pwd1.Value = pwd;conn.Open();SqlDataReader rs = cmd.ExecuteReader();return rs;cmd.Dispose();conn.Close();全局應(yīng)用程序類(Global.asax),用于統(tǒng)計(jì)站點(diǎn)訪問量與當(dāng)前在線人數(shù)以及Session的設(shè)置。void Application_Start(object sender, EventArgs e) Applicationcounter = 0;ApplicationuserCounter = 0;System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStringscs.ConnectionString);裊樣祕(mì)廬廂顫諺鍘羋藺。System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(select * from logincount, conn);倉嫗盤紲囑瓏詁鍬齊驁。System.Data.SqlClient.SqlDataReader rd = null;conn.Open();rd = command.ExecuteReader();if (rd.Read()ApplicationuserCounter = Convert.ToInt32(rdcounts);綻萬璉轆娛閬蟶鬮綰瀧。rd.Close();conn.Close();void Session_Start(object sender, EventArgs e) Application.Lock();Applicationcounter = (int)Applicationcounter + 1;驍顧燁鶚巰瀆蕪領(lǐng)鱺賻。ApplicationuserCounter = (int)ApplicationuserCounter + 1;瑣釙濺曖惲錕縞馭篩涼。System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStringscs.ConnectionString);鎦詩涇艷損樓紲鯗餳類。conn.Open();System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(string.Format(update logincount set counts =0, (int)ApplicationuserCounter), conn);櫛緶歐鋤棗鈕種鵑瑤錟。command.ExecuteNonQuery();conn.Close();Application.UnLock();SessionId = ;/用戶賬號(hào)Sessionidcode = ;/驗(yàn)證碼SessionPower = ;void Session_End(object sender, EventArgs e) Application.Lock();Applicationcounter = (int)Applicationcounter - 1;轡燁棟剛殮攬瑤麗鬮應(yīng)。Application.UnLock();4系統(tǒng)功能實(shí)現(xiàn)4.1前臺(tái)界面設(shè)計(jì)主要顯示一些公告、通知、新聞等信息,以及提供相應(yīng)的顯示鏈接。下面是一些前臺(tái)用到的頁面說明。l HomePage.aspx:顯示主頁信息。l BrifPage.aspx:顯示計(jì)科系的簡(jiǎn)介信息。l Institutes.aspx:介紹計(jì)科系的組織構(gòu)成。l Majors.aspx:介紹計(jì)科系的相關(guān)專業(yè)。l ScienceAwards.aspx:顯示系內(nèi)近年來所獲的成果與獎(jiǎng)利信息。l Download.aspx:文件下載。l Communication.aspx:為師生提供一個(gè)交流空間。l PartyConstruction.aspx:介紹系內(nèi)的黨建工作。l InformContent.aspx:顯示通知及公告內(nèi)容。l MoreInforms.aspx:分頁顯示全部通知。l PhotoNewsContent.aspx:顯示圖片新聞內(nèi)容。圖4-1是前臺(tái)主頁的界面效果。圖4-1 前臺(tái)主頁的界面效果4.2管理端MasterPage設(shè)計(jì)通過MasterPage可以大大簡(jiǎn)化頁面代碼。把頁面的頭和尾放到母版頁中之后,整個(gè)網(wǎng)站的布局風(fēng)格基本上就確定了。峴揚(yáng)斕滾澗輻灄興渙藺。本系統(tǒng)管理界面中的MasterPage名稱是Management.master。圖4-2所示的是登錄后臺(tái)管理界面后應(yīng)用Management.master之后的效果。詩叁撻訥燼憂毀厲鋨驁。圖4-2 登錄后臺(tái)管理界面后應(yīng)用Managemente.master之后的效果下面是它的頁面代碼。則鯤愜韋瘓賈暉園棟瀧。脹鏝彈奧秘孫戶孿釔賻。鰓躋峽禱紉誦幫廢掃減。歡迎:登錄 今天是:稟虛嬪賑維嚌妝擴(kuò)踴糶。  當(dāng)前在線人數(shù):  總訪問量:溈氣嘮戇萇鑿鑿櫧諤應(yīng)。鋇嵐縣緱虜榮產(chǎn)濤團(tuán)藺。版權(quán)聲明懨俠劑鈍觸樂鷴燼觶騮。版權(quán)所有:河南機(jī)電高等??茖W(xué)校導(dǎo)師:徐立新謾飽兗爭(zhēng)詣繚鮐癩別瀘。網(wǎng)站制作人:王亞博QQ:249810745電話-MAIL:地址:河南省新鄉(xiāng)市宏力大道11號(hào) 4.3 后臺(tái)管理登錄界面設(shè)計(jì)前臺(tái)界面的大部分功能都是以管理端為前提的,因?yàn)榍芭_(tái)所顯示的數(shù)據(jù)大部分需要通過管理端來添加。管理端相對(duì)客戶端要復(fù)雜一些,因?yàn)樵谶@里需要對(duì)所有信息進(jìn)行維護(hù),包括瀏覽、增加、修改和刪除等操作。咼鉉們歟謙鴣餃競(jìng)蕩賺。管理端的功能如下:l 用戶管理。l 新聞管理。l 論壇管理。l 資源管理。l 系統(tǒng)管理。下面是管理端用到的頁面說明:l AddUser.aspx:添加新用戶。l ChangePwd.aspx:更改密碼。l DelUser.aspx:刪除用戶。l AddNews.aspx:添加新聞。l UpLoadFile.aspx:上傳文件。l FileMananger.aspx:文件管理。l Login.aspx:后臺(tái)登錄。l CheckIn.aspx:登錄后的主界面。圖4-3是后臺(tái)管理登錄界面。圖4-3 后臺(tái)管理登錄界面管理員登錄時(shí)驗(yàn)證碼的設(shè)計(jì)在實(shí)現(xiàn)用戶登錄時(shí),一個(gè)Image控件顯示驗(yàn)證碼。首先由系統(tǒng)隨機(jī)產(chǎn)生4個(gè)字符,然后將其轉(zhuǎn)化成一個(gè)字符串,最后把字符串傳遞到頁面中。主要代碼如下:瑩諧齷蘄賞組靄縐嚴(yán)減。private string CreateCheckCodeString() /定義用于驗(yàn)證碼的字符數(shù)組char AllCheckCodeArray = 0,1,2,3,4,5,6,7,8,9,A,B,C, D,E,F(xiàn),G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W, X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;麩肅鵬鏇轎騍鐐縛縟糶。/定義驗(yàn)證碼字符串string randomcode = ;Random rd = new Random();/生成4位驗(yàn)證碼字符串for (int i = 0; i 4; i+)randomcode += AllCheckCodeArrayrd.Next(AllCheckCodeArray.Length);納疇鰻吶鄖禎銣膩鰲錟。Sessionidcode = randomcode;return randomcode;protected void Page_Load(object sender, EventArgs e)風(fēng)攆鮪貓鐵頻鈣薊糾廟。/定義圖片的寬度int ImageWidth = 55;/定義圖片高度int ImageHeigh = 22;/定義字體,用于繪制文字Font font = new Font(Arial, 12, FontStyle.Bold);/定義畫筆,用于繪制文字Brush brush = new SolidBrush(Color.Black);/定義鋼筆,用于繪制干擾線Pen pen1 = new Pen(Color.FromArgb(255, 100, 100), 0);/這里也可以直接獲得一個(gè)現(xiàn)有的color對(duì)象如:Color.Gold.我是為了美觀所以定義和下面一樣滅噯駭諗鋅獵輛覯餿藹。Pen pen2 = new Pen(Color.FromArgb(255, 100, 100), 0);/這里根據(jù)ARGB值定義獲得了一個(gè)color對(duì)象鐒鸝餉飾鐔閌貲諢癱騮。/創(chuàng)建一個(gè)圖像 Bitmap BitImage = new Bitmap(ImageWidth, ImageHeigh);攙閿頻嶸陣澇諗譴隴瀘。/從圖像獲取一個(gè)繪畫面Graphics graphics = Graphics.FromImage(BitImage);/清除整個(gè)繪圖畫面并用顏色填充graphics.Clear(ColorTranslator.FromHtml(#F0F0F0);/這里從HTML代碼獲取color對(duì)象趕輾雛紈顆鋝討躍滿賺。/定義文字的繪制矩形區(qū)域RectangleF rect = new RectangleF(5, 2, ImageWidth, ImageHeigh);夾覡閭輇駁檔驀遷錟減。/定義一個(gè)隨機(jī)數(shù)對(duì)象,用于繪制干擾線Random rand = new Random();/生成兩條橫向的干擾線for (int i = 0; i 2; i+)/定義起點(diǎn)Point p1 = new Point(0, rand.Next(ImageHeigh);/定義終點(diǎn)Point p2 = new Point(ImageWidth, rand.Next(ImageHeigh);視絀鏝鴯鱭鐘腦鈞欖糲。/繪制直線graphics.DrawLine(pen1, p1, p2);/生成兩條縱向的干擾線for (int i = 0; i 2; i+)/定義起點(diǎn)Point p1 = new Point(rand.Next(ImageWidth), 0);/定義終點(diǎn)Point p2 = new Point(rand.Next(ImageWidth), ImageHeigh);偽澀錕攢鴛擋緬鐒鈞錠。/繪制直線graphics.DrawLine(pen2, p1, p2);/繪制驗(yàn)證碼文字graphics.DrawString(CreateCheckCodeString(), font, brush, rect);緦徑銚膾齲轎級(jí)鏜撟廟。/保存圖片為gif格式BitImage.Save(Response.OutputStream, ImageFormat.Gif);騅憑鈳銘僥張礫陣軫藹。/釋放對(duì)象graphics.Dispose();BitImage.Dispose();4.4 資源管理模塊4.4.1 文件上傳功能圖5-4資源管理模塊中的文件上傳設(shè)計(jì)界面圖4-4 資源管理模塊中的文件上傳設(shè)計(jì)界面在單擊“上傳”按鈕后系統(tǒng)會(huì)先判斷用戶是否已經(jīng)選擇了要上傳的文件,若沒有系統(tǒng)會(huì)彈出一個(gè)提示框,提示用戶選擇要上傳的文件;若已經(jīng)選擇了上傳文件系統(tǒng)會(huì)將其保存到服務(wù)器的“filesfile”目錄下,同時(shí)還會(huì)向數(shù)據(jù)庫中添加相關(guān)的文件信息,最后會(huì)提示文件上傳成功。癘騏鏨農(nóng)剎貯獄顥幗騮。4.4.2 文件管理功能本功能主要是使用GridView和SqlDataSource兩個(gè)控件,實(shí)現(xiàn)了數(shù)據(jù)的顯示、更新與刪除,圖4-5 是它的設(shè)計(jì)界面。鏃鋝過潤(rùn)啟婭澗駱讕瀘。圖4-5 文件管理界面因?yàn)檫@是本系統(tǒng)第一次使用這種功能,所以以下是它的詳細(xì)操作步驟。(1)將視圖切換到“設(shè)計(jì)”視圖狀態(tài),從“工具箱”的“數(shù)據(jù)”文件中,將GridView控件拖動(dòng)到頁面上。榿貳軻謄壟該檻鯔塏賽。(2)如果示顯示“GridView任務(wù)”快捷菜單,則用鼠標(biāo)右鍵單擊GridView控件,然后單擊“顯示智能標(biāo)記”。邁蔦賺陘賓唄擷鷦訟湊。(3)在“GridView任務(wù)”菜單上的“選擇數(shù)據(jù)源”列表中,單擊“新建數(shù)據(jù)源”,出現(xiàn)“數(shù)據(jù)源配置向?qū)А睂?duì)話框,選擇從“數(shù)據(jù)庫”獲取數(shù)據(jù),如圖4-6所示。嶁硤貪塒廩袞憫倉華糲。圖4-6 新建數(shù)據(jù)源(4)單擊“確定”按鈕。在出現(xiàn)的對(duì)話框中顯示了一個(gè)可在其中選擇連接的頁面。從下拉列表框中選擇“cs”,如果沒有則需在web.config文件中添加連接字符串,或者嘗試重新生成網(wǎng)站。該櫟諼碼戇沖巋鳧薩錠。(5)單擊“下一步”按鈕,進(jìn)入配置Select語句頁面,在該頁中可以選擇要檢索數(shù)據(jù)的表以及表中的字段。劇妝諢貰攖蘋塒呂侖廟。(6)單擊“下一步”按鈕,進(jìn)入測(cè)試查詢頁面,可以單擊“測(cè)試查詢”按鈕進(jìn)行測(cè)試;也可單擊“完成”按鈕,結(jié)束配置。臠龍訛驄椏業(yè)變墊羅蘄。(7)在“設(shè)計(jì)”視圖中,用鼠標(biāo)右鍵單擊GridView控件,然后單擊“顯示智能標(biāo)記”。(8)在“GridView任務(wù)”快捷菜單上,選擇“啟用刪除”、“啟用編輯”、“啟用分頁”等復(fù)選框,如圖4-7所示。鰻順褸悅漚縫囅屜鴨騫。圖4-7 啟用刪除、編輯、分頁檢查GridView的DataKeyNames屬性,確保它的值是FileName。當(dāng)GridView發(fā)生Update、Delete事件時(shí),GridView會(huì)自動(dòng)把DataKeyNames中指定的屬性值傳遞給相應(yīng)的UpdateMethod或DeleteMethod綁定的方法。穡釓虛綹滟鰻絲懷紓濼?,F(xiàn)在已經(jīng)具備“刪除”、“更新”功能了,但刪除時(shí)缺少確認(rèn)對(duì)話框,這點(diǎn)非常有用,可以大大減小誤操作的概率??梢詫h除列的的DeleteText屬性修改為下面的值;隸誆熒鑒獫綱鴣攣駘賽。刪除浹繢膩叢著駕驃構(gòu)碭湊。(9)為“刪除”事件添加消息響應(yīng)刪除動(dòng)作的成功與失敗信息需要通過響應(yīng)SqlDataSource控件的Delete相關(guān)事件獲取并將它們顯示來,與Delete相關(guān)的事件一共有兩個(gè)。鈀燭罰櫝箋礱颼畢韞糲。Deleting:執(zhí)行DeleteQuery之前。Deleted:執(zhí)行DeleteQuery之后。顯然我們應(yīng)當(dāng)響應(yīng)Deleted事件。在代碼中為SqlDataSource控件添加的Deleted事件處理代碼如例程4-1所示。愜執(zhí)緝蘿紳頎陽灣熗鍵。例程4-1 SqlDataSource控件的Deleted事件處理代碼string path = GridView1.Rowse.RowIndex.Cells1.Text.ToString();貞廈給鏌綞牽鎮(zhèn)獵鎦龐。tryFile.Delete(Server.Map

溫馨提示

  • 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. 人人文庫網(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)論