【正文】
.新聞?lì)悇e表 Category 新聞?lì)悇e表 Category 用來(lái)保存新聞?lì)悇e數(shù)據(jù),結(jié)構(gòu)如表 1 所示。前臺(tái)系統(tǒng)不需要進(jìn)行身份認(rèn)證,任何人都可以通過(guò)瀏覽器閱讀已經(jīng)發(fā)布的新聞、 發(fā)表網(wǎng)友評(píng)論。 用戶管理功能模塊的 關(guān)系如圖 3 所示。 4 RecordSet 對(duì)象:存放訪問(wèn)數(shù)據(jù)庫(kù)后的數(shù)據(jù)信息,是最經(jīng)常使用的對(duì)象。 4 File Access 組件:提供對(duì)服務(wù)器端文件的讀寫功能。 3 Request 對(duì)象:從用戶端取得信息傳遞給服務(wù)器,是 ASP 讀取用戶輸入的主要方法。 ASP 的運(yùn)行環(huán)境 目前 ASP 可運(yùn)行在三種環(huán)境下。 ASP 簡(jiǎn)介 訪問(wèn)數(shù)據(jù)庫(kù)的原理 ASP 是服務(wù)器端的腳本執(zhí) 行環(huán)境,可用來(lái)產(chǎn)生和執(zhí)行動(dòng)態(tài)的高性能的 WEB 服務(wù)器程序。 ASP 的六大內(nèi)部對(duì)象 RequestResponse、 Server、 Session、 Application、ObjectContext 從客戶端取得信息將信息送給客戶端提供一些 Web 服務(wù)器工具儲(chǔ)存在一個(gè) Session 內(nèi)的用戶信息,該信息僅可被該用戶訪問(wèn)在一個(gè)ASPApplication 中讓不同的客戶端共享信息可以用來(lái)配合 Microsoft Transaction 服務(wù)器進(jìn)行分布式事務(wù)處理 所以我選擇了 ASP 結(jié)合 Frontpage 架構(gòu)網(wǎng)站 Macromedia Dreamweaver MX 2020 進(jìn)行 ASP 頁(yè)面的編碼,并使用 對(duì)頁(yè)面進(jìn)行調(diào)試。開(kāi)發(fā)工具的選用及介紹 ASP 的優(yōu)勢(shì) Active Server Pages:“動(dòng)態(tài)服務(wù)器網(wǎng)頁(yè)”,一般簡(jiǎn)稱為“ ASP”,ASP 之所以能受到大家 的重視與使用的原因,主要在于所產(chǎn)生的執(zhí)行結(jié)果都是標(biāo)準(zhǔn)的 6HTML 格式,而且這些程序是在網(wǎng)絡(luò)服務(wù)端中執(zhí)行,使用一般的瀏覽器(如IE 或 Netscape)都可以正確地獲得 ASP 的“執(zhí)行”結(jié)果,并且將這 ASP 執(zhí)行的結(jié)果直接在瀏覽器中“瀏覽”,不像 VBScript或 JavaScript是在客戶端( Client)的瀏覽器上執(zhí)行,若使用 VBScript 來(lái)設(shè)計(jì)程序,客戶端()在 IE 瀏覽器中可以顯示程序執(zhí)行的結(jié)果,可是,客戶端( lient)若使用 Netscape 瀏覽器就無(wú)法顯示 VBScript 的執(zhí)行結(jié)果。并闡述系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)和功能設(shè)計(jì),實(shí)現(xiàn)新聞的分類顯示,最近新聞的提示,新聞滾動(dòng)功能等。 Based on B/S thepattern WEBMIS system, this system may the chaotic information including writing, picture and video and music the processanization, reasonably has the foreword to present in front ofeverybody. Simple saying, the news issued the system is acts as a NetNews medium the function, the main realization to the newsclassification, the verification, the issue, has simulated the monnews medium news issue process Keywords: Inter,在 Inter 飛速發(fā)展 的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。 隱密安全性高如果我們?cè)跒g覽器中直接查看網(wǎng)頁(yè)的原始代碼,就只能看到HTML文件,原始的 ASP 程序代碼是看不到的!這是因杰 ASP 程序先于網(wǎng)站服務(wù)(Web Server)端執(zhí)行后,將結(jié)果轉(zhuǎn)換成標(biāo)準(zhǔn)HTML文件,再傳送到客戶端( Client)的瀏覽器上,因此,我們所辛苦撰寫的 ASP 程序并不會(huì)輕易地被看見(jiàn)進(jìn)而被盜用。 4 . JAVA/JDBC 語(yǔ)言編程 JAVA 語(yǔ)言是一種面向?qū)ο?、易移植、多線程控制的語(yǔ)言,可通過(guò) JDBC 去連接數(shù)據(jù)庫(kù)。 ASP 語(yǔ)法命令:位于 % % 標(biāo)簽內(nèi)的 ASP 代碼。 的內(nèi)建對(duì)象 ASP 提供了六個(gè)內(nèi)建對(duì)象,供用戶直接調(diào)用: 1 Application 對(duì)象:負(fù)責(zé)管理所有會(huì)話信息,可用來(lái)在指定的應(yīng)用程序的所有用戶之間共享信息。 5. ASP 的主要內(nèi)置組件: 1 Ad Rotator 組件:用來(lái)按指定計(jì)劃在同一頁(yè)上自動(dòng)輪換顯示廣告,用于上日益重要的廣告服務(wù)。 1 Connection 對(duì)象:建立與后臺(tái)數(shù)據(jù)庫(kù)的連接。 圖 2 新聞發(fā)布及管理系統(tǒng)的功能模塊關(guān)系圖 在本系統(tǒng)中,用戶管理模塊的功能比較簡(jiǎn)單。 第 1 個(gè)過(guò)程決定用戶能否進(jìn)入系統(tǒng)。創(chuàng)建數(shù)據(jù)庫(kù)的腳本代碼如下: CREATE DATABASE news GO 可以在 SQL 查詢分析器中執(zhí)行該語(yǔ)句,創(chuàng)建數(shù)據(jù)庫(kù)。這樣,如果修改CateName 字段的值,就需要同時(shí)修改其他所有表的相應(yīng)字段的值,從而造成不必要的麻煩。 表 3 表 Discuss 的結(jié)構(gòu) 編號(hào) 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 1 ?id ?int 評(píng)論編號(hào) 2 UserId ?varchar 20 評(píng)論人名稱 3 Posttime sinaildatetime 提交時(shí)間 4 ?Content varchar 4000 評(píng)論內(nèi)容 5 ?Newsld ?int 新聞編號(hào) 在 SQL?Server?2020 中,可以使用 datetime 和 smalldatetime 兩種數(shù)據(jù)類型存儲(chǔ)日期時(shí)間數(shù)據(jù)。 2.創(chuàng)建表 News 創(chuàng)建表 News 的腳本文件為 ,它的代碼如下: USE news GO CREATE TABLE News Id Int IDENTITY PRIMARY KEY, Title Varchar 100 NOT NULL, Content Text, PostTime Datetime, Poster Varchar 50 , CateId Int, Attpic Int DEFAULT 0, ReadCount Int DEFAULT 0 GO 在使用 CREATE TABLE 指令創(chuàng)建表時(shí),應(yīng) 該注意使用 NOT NULL 關(guān)鍵字定義表的未空字段。Admin39。 在執(zhí)行這些腳本之前,請(qǐng)確定數(shù)據(jù)庫(kù) news 已經(jīng)存在,否則會(huì)產(chǎn)生錯(cuò)誤。PWD yourpassword。判斷用戶權(quán)限,是否 可以維護(hù)新聞,管理員可以編輯所有新聞,編輯者只能修改自己的新聞 If rsNews Poster Session UserName Then 不是 Admin 或新聞的作者,無(wú)權(quán)修改! End If End If End If % 如果當(dāng)前用戶是 Admin,則 不做任何操作;否則,程序?qū)⒏鶕?jù)參數(shù) Id 讀取新聞信息,并將 Poster 字段的 值與當(dāng)前用戶名進(jìn)行比較。nbsp;”,所以這里使用 [space]表示空格。+c+39。+mye+39。 font[space]face 39。+c+39。如果新聞?lì)悇e 較多,則網(wǎng)頁(yè)會(huì)被拉長(zhǎng),給用戶閱讀帶來(lái)不便。顯示所有新聞?lì)悇e鏈接 Do While Not stitle rsCate CateName cid rsCate CateId 39。TEXTDECORATION: none39。TEXTDECORATION: none。依次顯示每個(gè)新聞?lì)悇e中最新的 10 條新聞 DO WHILE Not stitle rsCate CateName cid rsCate CateId 39。顯示新聞?lì)悇e標(biāo)題 stitle + 39。只顯示 10 條新聞 If t 11 Then Dim ndate ndate DateAdd d,3,date 39。 + rs Title + 39。20%39。使用 DO WHIIlE循環(huán)語(yǔ)句依次處理每個(gè)新聞?lì)悇e,讀取此類別中的所有新聞信息到記錄集 rs 中,并在表格中顯示新聞標(biāo)題。 1 包含文件 在 的開(kāi)始部分添加下面的代碼,這樣在打開(kāi)網(wǎng)頁(yè)時(shí),程序會(huì)自動(dòng)連接到數(shù)據(jù)庫(kù),并進(jìn)行身份驗(yàn)證。 font style 39。39。 End If % Session ” UserName” 中保存著當(dāng)前登錄用戶的用戶名。根據(jù)參數(shù) iflag 和 sql_where 變量設(shè)置 SQL 語(yǔ)句,讀取新聞數(shù)據(jù) If iflag Then If sql_where Then sql SELECT * FROM News ORDER BY Posttime DESC Else sql SELECT * FROM News WHERE amp。 ORDER BY Posttime DESC End If End If sql,conn,1,1 39。如果到達(dá)記錄集結(jié)尾,則跳出循環(huán) if then Exit For % a href ?id % rs id % onClick return newwin % rs title % %If rs attpic true then 附圖 End If% td align center % rs posttime % td align center a href ?id % rs id % onClick return newwin 修 改 td align center input type checkbox name News id % rs id % style fontsize: 9pt value ON % Next % % 39。 i amp。 第一節(jié) 設(shè)計(jì)新聞?lì)悇e管理界面 打開(kāi)新聞?lì)悇e管理界面,如圖 69 所示。 目前還沒(méi)有記錄。但是一次只能刪除一條記錄。當(dāng)參數(shù) 0per 等于 edit 時(shí),程序?qū)⑻幚硇薷牡男侣勵(lì)悇e數(shù)據(jù);當(dāng)參數(shù) Oper 等于 add 時(shí),程序?qū)⑻幚硖砑拥男侣勵(lì)悇e 數(shù)據(jù)。 Set rs sql If Then sqldelt DELETE FROM Category WHERE CateId In amp。 Set rs sql 39。 CateName amp。 39。這樣可以避免出現(xiàn)重復(fù)的新聞?lì)悇e。 第四節(jié) 刪除新聞?lì)悇e 在刪除新聞?lì)悇e之前,需要選中相應(yīng)的復(fù)選框。 2.全部清除選擇 在 中,定義“清空”按鈕的代碼如下: input type button value 清 空 onclick sltNull 當(dāng)單擊“清空”按鈕時(shí),將執(zhí)行 sltNull 函數(shù),代碼如下: function sltNull var nn .item Cate 。 //返回復(fù)選框 Cate 的數(shù)量 for j 0。cid + strid。 在刪除新聞?lì)悇e之前,應(yīng)該判斷此新聞?lì)悇e中是否包含新聞,如果有新聞,則不能刪除,否則會(huì)產(chǎn)生沒(méi)有新聞?lì)悇e的垃圾新聞。 圖 710 的運(yùn)行界面 將新聞?lì)悇e添加到下拉菜單中,代。 第一節(jié) 添加新聞 在 中,“添加新聞”按鈕的定義代碼如下: input type button value 添加新聞 onclick newwin 39。 return false。 j++ if .item Cate,j .checked n n + 1。j 。 1.選擇全部復(fù)選框 在 中,定義“全選”按鈕的代碼如下: input type button value 全 選 onclick sltAll 當(dāng)單擊“全選”按鈕時(shí),將執(zhí)行 sltAll 函數(shù),代碼如下: function sltAll var nn .item Cate 。此時(shí),頁(yè)面的下方將顯示修改數(shù)據(jù)的表單 Uform。新類別不存在 UPDATE Category SET CateName 39。 And CateId amp。 amp。 sqldelt 新聞?lì)悇e已經(jīng)成功刪除! Else 新聞?lì)悇e中包含新聞,不能刪除 End If 39。在文本域