基于開發(fā)校園新聞發(fā)布管理系統(tǒng)—畢業(yè)設(shè)計_第1頁
基于開發(fā)校園新聞發(fā)布管理系統(tǒng)—畢業(yè)設(shè)計_第2頁
基于開發(fā)校園新聞發(fā)布管理系統(tǒng)—畢業(yè)設(shè)計_第3頁
基于開發(fā)校園新聞發(fā)布管理系統(tǒng)—畢業(yè)設(shè)計_第4頁
基于開發(fā)校園新聞發(fā)布管理系統(tǒng)—畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢 業(yè) 設(shè) 計內(nèi) 容 摘 要ASP.NET是新一代Web應(yīng)用程序開發(fā)平臺,它是一個已編譯的、基于.NET的開發(fā)環(huán)境,它提供了生成企業(yè)級應(yīng)用程序所必需的全部效勞,基于 .NET Framework 生成,整個框架都可用于任何 ASP.NET 應(yīng)用程序。可以使用任何與公共語言運行庫(CLR)兼容的語言(包括 Visual Basi.新聞系統(tǒng)的主要開發(fā)過程5.1 數(shù)據(jù)庫設(shè)計 該系統(tǒng)使用access作為應(yīng)用程序的數(shù)據(jù)庫,建立了有6張數(shù)據(jù)表:lb_admin表用于存儲帳戶的信息,lb_class表用于存儲新聞分類信息,lb_links表用于存儲友情鏈接信息, lb_news表用于存儲新聞內(nèi)容, lb_s

2、etup表用于存儲系統(tǒng)設(shè)置信息,lb_skins表用于存儲頁面風(fēng)格。lb_news表與lb_class表相關(guān)聯(lián)。在6個數(shù)據(jù)表中,主要介紹一下新聞表和賬戶表如下:lb_news表如表1所示: 表1 新聞表n_id為該表主鍵,n_cid為所屬新聞分類id,n_hit為點擊數(shù),n_commend用于判斷是否為推薦新聞,n_index用于判斷是否為首頁新聞,n_title為新聞標(biāo)題,n_date為發(fā)布新聞的日期,n_author為新聞發(fā)布者名,n_content為新聞內(nèi)容,n_ispic用于判斷是否為首頁滾動圖片,n_spic為首頁所滾動圖片的存儲地址,,n_check用于判斷是否為審核新聞

3、(值為0表示未通過審核,值1表示通過審核),n_intro為新聞簡介,n_publisher為賬戶類型,如為管理員、審核員或新聞輸入員。lb_admin表如表2所示: 表2 賬戶表a_id為該表主鍵,a_name為用戶名,a_password為密碼,a_grade為用戶級別。首頁:主要功能是顯示最熱門、最新和推薦的前8條新聞,顯示新聞搜索功能、頁面風(fēng)格設(shè)置、新聞分類、滾動新聞圖片和網(wǎng)站公告等; 新聞詳細(xì)內(nèi)容查看頁:在首頁里點擊新聞標(biāo)題所進入的頁面,顯示當(dāng)前所點擊新聞的詳細(xì)內(nèi)容,新聞標(biāo)題正中加粗顯示,在添加新聞時,根據(jù)所編輯的新聞內(nèi)容對應(yīng)顯示; 新聞輸入員頁面:新聞

4、輸入員只具有添加新聞的權(quán)限,任何瀏覽者都可注冊成為新聞輸入員,但所添加的新聞并不能直接發(fā)布到網(wǎng)站上顯示,而需經(jīng)過審核員或管理員審核是否給予通過,這保證了網(wǎng)站內(nèi)容管理的合理性,并不是隨便添加的新聞都能發(fā)布; 新聞審核員頁面:審核員管理頁面主要是對新聞進行審核,可對需審核的新聞內(nèi)容進行查看和編輯,以確定是否授權(quán)發(fā)布,審核員除審核新聞外,也可添加新聞和管理新聞,所添加的新聞不需審核而可以直接發(fā)布,管理新聞包括修改和刪除新聞; 新聞管理員頁面:管理員具有系統(tǒng)的所有權(quán)限,除審核員的審核新聞、添加新聞和管理新聞外,還可添加新聞部門和用戶。對用戶和新聞部門進行管理,包括修改用戶id和密碼

5、,刪除用戶,更改部門名稱,刪除新聞部門,管理員所添加的新聞也不再需要審核而可以直接發(fā)布。 5.3 頁面的風(fēng)格設(shè)計為使該系統(tǒng)的頁面美觀多樣,在設(shè)計時使用了8種樣式風(fēng)格。為了在頁面設(shè)計時方便調(diào)用,將其存儲于數(shù)據(jù)庫的lb_skins風(fēng)格樣式表中,各窗體通過調(diào)用style.css文件來設(shè)計界面外觀。css是cascading style sheets層疊樣式表單的簡稱,簡稱樣式表,它是一種設(shè)計網(wǎng)頁樣式的技術(shù)。css代碼的根本語句結(jié)構(gòu)為:選擇符屬性名:屬性值,選擇符可以是html中任何的標(biāo)簽或自定義標(biāo)識符,比方p、div、img甚至body都可以作為選擇符。css在html文檔中有三種用法:一

6、種是把css文檔放到<head>文檔中:<style type=“text/css> </style>;另一種方法是采用<style=“ >的格式把樣式寫在任何html標(biāo)簽中的行內(nèi),這種方法比擬方便靈活;還有一種方法是:把編輯好的css文檔保存成“.css文件,然后在<head>中定義,定義的格式為:<head> <link href="style.css" type="text/css" rel="stylesheet"> </head>

7、 ,<link>和“rel=stylesheet指連接的元素是一個樣式表文檔,“href=style.css指的是需要連接的文件地址。這種方法非常適宜同時定義多個文檔,能使多個文檔同時使用相同的樣式,從而減少了大量的冗余代碼。5.4 系統(tǒng)配置應(yīng)用程序的配置功能放在web.config文件中,它包含每一個具體web應(yīng)用程序的配置信息。在程序運行時,使用分層虛擬目錄結(jié)構(gòu)的web.config文件提供的配置信息為每個惟一的url資源計算一組配置設(shè)置,然后緩存結(jié)果配置設(shè)置,以供所有頁面對資源的請求使用。web.config文件對于訪問站點的用戶來說是不可見的,而且也是不可訪問的,它基于xm

8、l,每個配置文件都包含xml標(biāo)記和子標(biāo)記的嵌套層次結(jié)構(gòu)。新聞系統(tǒng)的web.config文件中的配置:<appsettings><add key="mdbpath" value="lbnews.mdb" /></appsettings> 通過鍵/值對key 和value配置數(shù)據(jù)庫連接的相關(guān)信息,將access數(shù)據(jù)庫lbnews.mdb文件用相對路徑的方式設(shè)置為字符串"mdbpath"在程序代碼中進行連接引用。5.4.2 配置發(fā)布主頁首先要創(chuàng)立虛擬目錄,新建虛擬目錄的步驟如下: 翻開iisinterne

9、t 信息效勞,在默認(rèn)網(wǎng)站上右擊,在快捷菜單中選擇新建>虛擬目錄; 在彈出的虛擬目錄創(chuàng)立向?qū)υ捒蚶稂c擊“下一步; 輸入虛擬目錄別名; 選擇網(wǎng)站內(nèi)容所在目錄路徑; 設(shè)置“訪問權(quán)限。 在所建虛擬目錄上右擊,在彈出菜單中選擇瀏覽,或在瀏覽器里輸入相應(yīng)網(wǎng)址,都可運行瀏覽程序。虛擬目錄不在目錄列表中顯示也稱為 www 效勞的“目錄瀏覽,要訪問虛擬目錄,用戶必須知道虛擬目錄的別名并在瀏覽器中鍵入 url。對于 www 效勞,也可以在 html 頁面中創(chuàng)立鏈接。發(fā)布網(wǎng)站的時候,把程序首頁的名字index.aspx或default.aspx寫在iis當(dāng)中就可以訪問了。5.5 系統(tǒng)局部重要功能及其代碼5.

10、5.1 web用戶控件該系統(tǒng)中創(chuàng)立了兩個web用戶控件top.ascx和bottom.ascx,在首頁、新聞詳細(xì)內(nèi)容查看、新聞分類等頁面的html代碼里都進行了引用,調(diào)用方式為:<% register tagprefix="uc1" tagname="bottom" src="bottom.ascx"  %><% register tagprefix="uc1" tagname="top" src="top.ascx" %> register

11、指令注冊用戶控件,同時把屬性tagname(標(biāo)簽名)和tagprefix(標(biāo)簽前綴)添加到 register指令中,src屬性表示該用戶控件相對于父頁面的相對地址。用戶控件也是效勞器端控件,還必須在用戶控件代碼中添加runat=server屬性,用法如下:<uc1:top id="top1" runat="server"></uc1:top><uc1:bottom id="bottom1" runat="server"></uc1:bottom>其中top.ascx用

12、戶控件作用是顯示首頁圖片、“首頁文本字體、新聞分類、新聞風(fēng)格和當(dāng)前日期,bottom.ascx用戶控件作用是顯示底部相關(guān)網(wǎng)站信息等。用戶控件是非常易于代碼重用的,可以把許多相關(guān)功能和用戶界面封裝在一個用戶控件中,然后在任何需要該功能的地方重用此控件。5.5.2 通用類代碼在所有相關(guān)頁面顯示文件和web用戶控件的代碼隱藏文件.aspx.cs或.ascx.cs中,通過對數(shù)據(jù)訪問類的引用(以創(chuàng)立類實例方式),調(diào)用數(shù)據(jù)訪問類里的相應(yīng)函數(shù)完成相關(guān)功能,如建立數(shù)據(jù)庫連接、翻開和關(guān)閉數(shù)據(jù)庫、對數(shù)據(jù)庫執(zhí)行查詢、插入、刪除和更新操作、頁面登陸檢驗等。此處列舉conn類(數(shù)據(jù)訪問類)中主要函數(shù)的源碼:public

13、 class conn/ 建立數(shù)據(jù)庫連接字符串  public  oledbconnection lb_conn=new oledbconnection(strconn);  public static string strconn  /通過創(chuàng)立一個屬性來連接數(shù)據(jù)庫     get    /使用get方法返回此屬性的值       stringbuilder strresult = ne

14、w stringbuilder();    strresult.append("provider = microsoft.jet.oledb.4.0");    strresult.append(" ");    strresult.append("data source = ");    strresult.append( context.current.server.map

15、path(".");             應(yīng)用程序上下文類,current屬性表示進程中當(dāng)前請à/ context/求的上下文,mappath()方法表示返回與web效勞器上的指定虛/擬路徑相對應(yīng)的物理文件路徑,此處作用是創(chuàng)立數(shù)據(jù)庫文件的虛擬路徑         strresult.append("");   &#

16、160;strresult.append(configurationsettings.appsettings"mdbpath");/文件中的鍵/值對所設(shè)置的key值    return strresult.tostring();  /返回字符串類型         public oledbdatareader executeoledbdatareader(string strsql)   /此函數(shù)表示從數(shù)據(jù)庫讀取數(shù)據(jù)時以只進只

17、讀的行流的方式進行   oledbcommand cmd=new oledbcommand(strsql,lb_conn);      oledbdatareader rd=cmd.executereader();            /通過調(diào)用對象oledbcommand的executereader()方法創(chuàng)立/oledbdatareader對象   return

18、 rd;    public dataset createdataset(string strsql,string tablename)     oledbdataadapter da=new oledbdataadapter(strsql,lb_conn);            /創(chuàng)立dataadapter類實例,可用于填充dataset對象和檢索、更新數(shù)據(jù)   

19、dataset dst=new dataset();   da.fill(dst,tablename);            /填充dataset(數(shù)據(jù)集)中的一個表   return dst;    public int executesql(string strsql)      oledbcommand cmd2=new oled

20、bcommand(strsql,lb_conn);    int result=cmd2.executenonquery();            /對數(shù)據(jù)庫執(zhí)行插入、刪除和更新等操作,返回影響數(shù)據(jù)庫記錄的行數(shù)   return result;  5.5.3 添加發(fā)布新聞添加發(fā)布新聞在該系統(tǒng)中顯然起著很關(guān)鍵的作用,在添加新聞管理頁面里,通過單擊“添加按鈕執(zhí)行新聞的添加,但能不能直接發(fā)布

21、,還要根據(jù)權(quán)限來判斷,“添加按鈕的單擊事件主要程序如下:conn ds1=new conn(); /調(diào)用數(shù)據(jù)訪問類ds1.dbopen(); /翻開數(shù)據(jù)庫        string title=lb_title.value.tostring();  /新聞標(biāo)題  string content=lbnewscontent.value.tostring().replace("'",""); /新聞內(nèi)容   st

22、ring author=lb_author.value.tostring(); /新聞作者   string titlepic=lb_titlepic.value.tostring(); /是否首頁滾動圖片 string intro=lbnews_intro.text.tostring().replace("rn","<br>").replace("'",""); /新聞簡介      

23、       string lb_grade;/用戶級別   int lb_check; /判斷新聞是否需要審核,1:不需要審核,0:需要審核   try  /捕獲異常范圍       if (lb_grade="1") /用戶級別1為新聞輸入員         lb_check=0; /

24、需要審核        else  /審核員或管理員         lb_check=1; /不需要審核        int result=ds1.executesql("insert into lb_news(n_cid,n_commend,n_index,n_ispic,n_title,n_spic,n_author,n

25、_content,n_publisher,n_intro,n_check)values("+lb_classid+","+lb_iscommend+","+lb_isindex+","+lb_ispic+",'"+title+"','"+titlepic+"','"+author+"','"+content+"','"+publisher+"&#

26、39;,'"+intro+"',"+lb_check+")"); /將所添加的新聞標(biāo)題、內(nèi)容、作者和來源部門等插入到數(shù)據(jù)表lb_news中    if (result>0)  /數(shù)據(jù)添加到數(shù)據(jù)庫中成功         if (lb_grade="1")         

27、;  ds1.alert("添加成功,需等待管理員審核","admin_articleadd.aspx");       /輸入員添加新聞的話彈出對話框提示需審核,并重置當(dāng)前添加頁面     else           ds1.alert("添加成功","admin_articleadd

28、.aspx");      /審核員或管理員添加的話就直接發(fā)布到網(wǎng)站上,并重置當(dāng)前添加頁面        else  /添加不成功         response.write ("添加新聞失敗");          catch(syst

29、em.data.oledb.oledbexception ex)       response.write (ex.tostring();    /以上操作中如有異常發(fā)生那么捕捉   finally       ds1.dbclose();   /關(guān)閉數(shù)據(jù)庫連接5.5.4 用戶注冊該系統(tǒng)的內(nèi)容是需要靠校園眾多部門眾多用戶來豐富充實的,而用戶注冊功能提供了給用戶注冊和發(fā)

30、布新聞的作用。在首頁里只需點擊注冊按鈕即可注冊,注冊頁面里注冊按鈕的單擊事件處理程序如下:conn ds1=new conn(); /調(diào)用數(shù)據(jù)訪問類ds1.dbopen();   string name=username.text.trim(); /用戶名   string pass=system.web.security.formsauthentication.hashpasswordforstoringinconfigfile(password.text.trim(), "md5") ;  /用戶密碼

31、/通過hashpasswordforstoringinconfigfile()方法實現(xiàn)md5加密解密算法   string  strsql="select * from lb_admin where a_name='"+name+"'"    ds1.dbopen();oledbdatareader rd=ds1.executeoledbdatareader(strsql);      if (rd.read()=true) /讀取datareader中下一條記錄時有相同記錄 

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論