廣告:
本設(shè)計為 asp+access數(shù)據(jù)庫
Active Server Pages即ASP,是一套微軟開發(fā)的服務(wù)器腳本環(huán)境,使用它可以創(chuàng)建和運行動態(tài)、交互的Web服務(wù)器應(yīng)用程序。ASP內(nèi)含于IIS3.0和IIS4.0之中,通過ASP我們可以結(jié)合HTML網(wǎng)頁、ASP指令和ActiveX元件建立動態(tài)、交互且高效的Web服務(wù)器應(yīng)用程序。有了ASP就不必?fù)?dān)心客戶的瀏覽器是否能運行所編寫的代碼,因為所有的程序都將在服務(wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度,而且利用Visual InterDev集成開發(fā)環(huán)境可以很容易地對ASP應(yīng)用程序進(jìn)行開發(fā)和修改。
本系統(tǒng)從建立ASP的環(huán)境開始,由淺入深地介紹了建立一個基于ASP的動態(tài)新聞發(fā)布系統(tǒng)所需要的各種技術(shù)。
目前,ASP技術(shù)已風(fēng)靡全球,在Internet上幾乎處處都能看到它的身影,ASP技術(shù)的出現(xiàn)和發(fā)展給曾經(jīng)以靜態(tài)內(nèi)容為主的Web帶來了全新的動態(tài)效果,使其具有更加靈活和方便的交互特性,在Internet中實現(xiàn)信息的傳遞和檢索越來越容易。正因為如此,ASP迅速被廣大網(wǎng)絡(luò)設(shè)計和開發(fā)人員所接受,成為首選的網(wǎng)站開發(fā)和編程技術(shù)。
1. Active:ASP使用了微軟公司的ActiveX技術(shù)。采用了封裝對象,程序調(diào)用對象的技術(shù),簡化編程,加強(qiáng)程序間的合作。只要在服務(wù)器上安裝這些組件,通過訪問組件,可以快速、簡易地建立自己的Web應(yīng)用程序。
2. Server:ASP運行在服務(wù)器端。這樣就不必?fù)?dān)心瀏覽器是否支持ASP所使用的編程語言。ASP的編程語言可以是VBScript和JavaScript。VBScript是Visual Basic的一個子集。然而Netscape瀏覽器不支持客戶端的VBScript,所以最好不要在客戶端使用VBScript。而在服務(wù)器端,則無需考慮瀏覽器的支持問題,Netscape瀏覽器也可以正常顯示ASP頁面。
3. Pages:ASP返回標(biāo)準(zhǔn)的HTML頁面,可以在常用的瀏覽器中正常顯示。瀏覽者查看頁面源文件時,看到的是ASP生成的HTML代碼,而不是ASP程序代碼。
ASP作為IIS環(huán)境下開發(fā)Web應(yīng)用的一種簡單、方便的編程工具,ASP具有如下特點:
1. 使用VBScript、JavaScript等簡單易懂的腳本語言,結(jié)合HTML代碼,可快速完成網(wǎng)站應(yīng)用程序的開發(fā);
2. 容易編寫,無須編譯,可在服務(wù)器端直接執(zhí)行;
3. 使用普通的文本編輯器,即可進(jìn)行編程;
4. 與瀏覽器無關(guān),只要客戶端瀏覽器能夠執(zhí)行HTML代碼,就可瀏覽利用ASP設(shè)計的網(wǎng)頁內(nèi)容。ASP所使用的腳本語言均在Web服務(wù)器端執(zhí)行,客戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言;
ASP的應(yīng)用是完全基于IIS上的,用于windows NT server和workstaion 的 IIS版本不同,但其功能幾乎完全相同,不同的只是安裝過程。IIS提供3種服務(wù):WWW,GOPHER,F(xiàn)TP。WWW服務(wù)為客戶瀏覽器提交Web頁,并允許客戶
訪問ASP文件IIS支持虛擬目錄,通過在“服務(wù)器屬性”對話框中的“目錄”標(biāo)簽可以管理虛擬目錄。建立虛擬目錄對于管理Web站點來說具有非常重要意義。虛擬目錄隱藏著有關(guān)站點目錄結(jié)構(gòu)的重要信息。如果在Web頁中使用物理路徑,將暴露有關(guān)站點目錄的重要信息,這很容易導(dǎo)致系統(tǒng)受到攻擊。
與一般的程序不同,ASP程序無須編譯,ASP程序的控制部分是使用VBScript、JavaScript等腳本語言來設(shè)計,當(dāng)執(zhí)行ASP程序時,腳本程序?qū)⒁徽酌畎l(fā)送給腳本解釋器即腳本引擎,由腳本解釋器進(jìn)行翻譯并將其轉(zhuǎn)換成服務(wù)器所能執(zhí)行的命令。編寫程序時,系統(tǒng)提供了兩種腳本語言:VBScript和JavaScript,其中,VBScript是系統(tǒng)默認(rèn)的腳本語言。
1.2 ASP的優(yōu)勢
ASP解決了與CGI和服務(wù)器API相關(guān)的所有問題。除了和ISAPI應(yīng)用程序一樣有效外,且易于使用。
使用CGI或ISAPI,必須用Perl或C語言編寫一個計算機(jī)程序,該程序以復(fù)雜的接口代碼連接服務(wù)器。然而要編譯應(yīng)用程序,并把它和適當(dāng)?shù)腤eb頁面聯(lián)系在一
注意,不要用HTML<SCRIPT>元素括入表達(dá)式。在編寫服務(wù)器端腳本時,<SCRIPT>元素只用于在主腳本語言外的其他腳本語言中定義過程。
1.4 ASP的內(nèi)置對象
ASP提供了多個內(nèi)置對象,通過這些對象可以收集通過瀏覽器請求發(fā)送的信息、響應(yīng)瀏覽器以及存儲新聞等。這里先簡要說明Request和Response兩個對象,及有關(guān)對象的使用方法。
1.4.1 Request對象
Request對象:獲取用戶的信息;
當(dāng)ASP Server接收到客戶端的URL請求時,Active Server Pages可利用Request對象取得客戶端信息,包括獲取瀏覽器種類、表格輸入、Cookie和客戶端認(rèn)證等,即Request對象使Web開發(fā)人員能夠訪問瀏覽器發(fā)送來的二進(jìn)制數(shù)據(jù)。
訪問變量的具體方法是:首先查詢Request對象,然后是集合,最后是被訪問的變量。其語法如下:
Request[.數(shù)據(jù)集合](數(shù)據(jù)集合的變量名稱)
符號“[ ]”表示這個參數(shù)是可以省略的,如果省略獲取方法,即語法改為:
Request (數(shù)據(jù)集合的變量名稱)
1.4.2 Response對象
Response對象:向用戶發(fā)送信息。
與Request對象相反,Response對象用來控制發(fā)送給用戶的信息,包括直接發(fā)送信息給瀏覽器、重定向瀏覽器到另一個URL或設(shè)置Cookie的值。其語法為:
Response.collection/property/method
ASP除提供使用腳本語言的指令外,還提供以下一些輸出指令和處理指令。
1. 顯示表達(dá)式值的輸出指令
首先,計算機(jī)可以代替人工進(jìn)行許多繁雜的勞動;
其次,計算機(jī)可以節(jié)省許多資源;
第三,計算機(jī)可以大大的提高人們的工作效率;
第四,計算機(jī)可以使敏感文檔更加安全,等等。
在我國傳統(tǒng)的信息傳遞方式不外乎是通過電視、廣播、報紙等媒體傳播信息,但通過這類媒體的傳遞工作常常會受到地域和時間的影響而無法達(dá)到預(yù)期的效果。這樣的機(jī)制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪費了許多人力和物力來制作和發(fā)表信息,在信息時代這種傳統(tǒng)的傳播方式必然被計算機(jī)為基礎(chǔ)的信息管理所取代。隨著網(wǎng)絡(luò)的應(yīng)用逐漸普及到信息傳遞和商業(yè)行為,大家將焦點漸漸地集中到因特網(wǎng)的身上,由于網(wǎng)絡(luò)具有實時性,天生就是一種極好的傳播媒體,這樣就解決了因為地域和時間等帶來的問題,我們可以很方便、快捷得從因特網(wǎng)上查看我們所需要的新聞。因此,我們可以通過在網(wǎng)站上成立實時新聞中心,將企業(yè)和產(chǎn)品等各種最新消息公布到網(wǎng)站上,實時地發(fā)送給所有用戶及消費者。
這樣新聞發(fā)布系統(tǒng)就是一個新聞單位不可缺少的部分,它的內(nèi)容對于新聞的決策者和管理者來說都至關(guān)重要,所以新聞發(fā)布系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。
變量是指計算機(jī)內(nèi)存中已命名的存儲位置,其中包含了數(shù)字或字符串等數(shù)據(jù),它為用戶提供了一種存儲,檢索和操作數(shù)據(jù)的途徑。該位置可用于存儲在script運行時可更改的程序信息。例如,可以創(chuàng)建一個名為clickcount的變量來存儲用戶單擊web頁面內(nèi)某個對象的次數(shù)。使用變量時不需要了解變量在內(nèi)存中的具體地址,只需使用變量名引用變量就可以查看或更改變量的值。簡單的說,在VBScript中只有一個基本數(shù)據(jù)類型Variant,因此所有的變量的數(shù)據(jù)類型都是Variant。變量是數(shù)據(jù)的臨時存儲區(qū)域,變量通過名字來區(qū)分,對于變量命名有以下幾個規(guī)則:
第一個字符必須為字母;
其他字為數(shù)字或字符以及下劃線;
不能超過255個字母;
在被聲明的作用域內(nèi)必須唯一。
變量是指計算機(jī)內(nèi)存中已命名的存儲位置,其中包含了數(shù)字或字符串等數(shù)據(jù),它為用戶提供了存儲、檢索和操作數(shù)據(jù)的途徑。該位置可用于存儲在Script運行時可更改的程序信息。使用變量時并不需要了解變量在內(nèi)存中的具體地址,只需要使用變量名引用變量就可以查看或更改變量的值。在VBScript中只有一個基本數(shù)據(jù)類型Variant,因此所有變量的數(shù)據(jù)類型都是Variant。
3. 聲明變量
嚴(yán)格地講,在VBScript中變量是不需要聲明的,如:
<%Mystring=”This is my string”%>
然而,即使在使用變量前不需要聲明變量,也應(yīng)該養(yǎng)成在編程時聲明變量的良好習(xí)慣,因為這樣可以防止錯誤發(fā)生。聲明一個變量就是告訴引擎存在一個特定名稱的變量,這樣就可以在腳本中引用該變量。
set conn=server.createObject("ADODB.Connection")
dbpath=server.mappath("/news.mdb")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbpath
選擇數(shù)據(jù)庫
set rs=server.createobject("adodb.recordset")
rs.LockType=adLockOptimistic
sqlstr="select * from news where classfication='"& leibie &"' and title='"& biaoti &"' order by newsdate desc"
rs.open sqlstr,conn,adOpenStatic
查找相關(guān)的信息記錄
if rs.eof then
%>
<Script language=javascript>
<!--
alert("查無此新聞!");
window.location.href="/admrevise0.htm";
//-->
</script>
沒有相關(guān)記錄時的顯示。當(dāng)在新聞修改單中輸入標(biāo)題時,如果在新聞數(shù)據(jù)庫中沒有該相關(guān)標(biāo)題的信息記錄,就顯示該信息。
5.8 顯示熱點新聞
圖5.7 熱點新聞信息
如上圖所示,為顯示熱點新聞信息的界面,找到相應(yīng)的新聞類別字段,可直接查詢到所需的新聞信息,代碼如下所示:
<%
set conn=server.createObject("ADODB.Connection")
dbpath=server.mappath("/news.mdb")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbpath
set rs=server.createobject("adodb.recordset")
sqltext="Select * from news where newsid="&request("newsid")
rs.open sqltext,conn,adOpenkeyset,adlockoptimistic,adcmdtext
skipid=request("newsid")
a=trim(rs("key1"))
b=trim(rs("key1"))
c=trim(rs("lookfrom"))
d=trim(rs("reporter"))
%>
廣告: