摘要:基於web的動態網頁設計必會涉及到頁面間的數據傳遞,文章探討了asp設計中常用的web頁面間的數據傳遞方式,分析各種數據傳遞方式的使用方法、使用場合及優缺點,其都是設計階段選擇數據傳遞方式考慮的關鍵。
關鍵詞 數據傳遞變量浏覽器端網頁
往往使用動態網頁技術制作asp應用程序時一般至少擁有二個或二個以上的web頁面,這時就得考慮在多個web頁面間傳遞數據的處理工作。而asp應用程序的各個頁面類似於windows應用程序的form窗體,windows應用程序各form間數據傳遞可以通過定義全局變量等方法來實現。網頁間的數據傳遞有多種不同的可使用方式,而web頁面間的數據傳遞方式選擇是否恰當對系統設計及運行的合理性與安全性起到舉足輕重的作用。
1、url方式
url方式是實現web間數據傳遞最基本的方法,操作簡單,可很方便地實現不同web頁面間的數據傳遞,但其安全性比較差。將要傳遞的數據附加在網頁地址(url)後面進行傳遞。如:http://www.cstvu.com/testweb?username=liming,其中?後面所跟著的字符串便是傳遞的數據,=前的是變量名,=後面是數值,可以使用request對象來獲取傳遞的數據。如:request(“username”)。這種方法在傳遞數據過程中其數據內容在url欄中是顯示的,用戶能看到提交的內容。
2、form方式
通過在網頁上制作表單交互區域,用戶在浏覽器端輸入數據,然後通過form提交到服務器,在提交後的接受form數據的頁面裡就可以接收到相應數據,即form的action頁面中可以使用request對象來接收所傳遞的數據。
如:
發送頁面:
<form name=“formtest” action=“targetweb.asp”>
<input name=“testtext” type=“text”value=“”>
<input name=“testbutton” type =“submit”value =“提交”>
</form>
接收頁面:request(“testtext”)
利用form頁面的文本框來接收用戶數據的輸入,通過submit按鈕提交後在targetweb頁面中使用request來接收數據。
3、cookie方式
cookie是在浏覽頁面時web服務器在浏覽器端所寫入的一些小文件,cookie是存放在浏覽器端本機磁盤上,而不是存放在服務端的。可以在發送數據時寫入cookie,接收時讀取cookie完成數據在web頁面間的傳送。
如:
發送頁面:response.cookies(“cookiename”)(“username”)=“liming”
接收頁面:request.cookie(“cookiename”)(“username”)
在發送頁面中對cookie變量賦值,接收頁面中取cookie變量的值就是所傳遞的數據。
4、application對象
application對象是用來記錄整個網站信息的,是記錄不同浏覽器端共享的變量,無論有幾個浏覽者同時存取網頁,都只會產生一個application對象實例。用戶可以通過定義application整站共享變量來實現網頁間的數據傳遞。其定義方法是:application(“變量名”)=數值
如:application(“usrname”)=liming
application對象所定義的變量對於所有浏覽端都是可見的,所以其使用場合是所有浏覽端共享的全局數據傳遞。
5、session對象
session對象是用來記錄浏覽器端的變量,是個別浏覽器端專用的變量,對於每一個浏覽器訪問時都會自動產生一個seseion對象,該對象提供一個存儲場所,用來存儲僅僅對該訪問者在會話的活動期間打開的網頁可用的變量和對象。這樣就用可以用來在web間傳遞專對單個浏覽器端使用的數據。其定義方法:session(“變量名”)=數值
如:session(“usename”)=liming
session對象所定義的變量只是浏覽器端的專用變量,所以適用於局部會話間的網頁數據傳遞。
6、結束語
上述介紹的是網頁間數據傳遞的常用方法,各有千秋。其中url方式和form方式實現方法簡單,可實現網頁間的簡單數據傳遞,一般為字符串類型,其特點是安全性差,而且必須是連續訪問兩頁面間數據傳遞。cookie只能存放string類型的數據,如果想要存放更為復雜的數據類型,那麼必須先將其轉換為string類型。application對象和session對象操作相對復雜些,浏覽量非常大的網頁使用時應適量,而且使用結束後盡量清除,否則大量使用有可能會導致服務器的癱瘓。session變量的安全性較高,可傳遞專用浏覽端數據。具體應用決定了數據傳遞方式的選擇,合理數據傳遞方式選擇是web頁面的設計中的關鍵考慮因素。