【教学课件】第十六章Application和Session物件.ppt
《【教学课件】第十六章Application和Session物件.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第十六章Application和Session物件.ppt(45页珍藏版)》请在三一办公上搜索。
1、第十六章Application 和 Session 物件,張智星http:/mirlab.org/jang台大資工系 MIR實驗室,本章大綱,大綱本章介紹 Application 和 Session 物件的應用,並以計數器和網頁認證來進行範例說明。主題16-1:Application 物件 16-2:Session 物件 16-3:應用範例,2/45,16-1:Application 物件,本小節介紹Application物件的基本介紹與用法。,3/45,Application的基本介紹,動機HTTP 是 stateless 的 connection。伺服器對每一個 request,除了 lo
2、g 記錄外,並不會留下其他特別的記錄。若要在不同的 request 之間分享資訊,必須保存或傳送資料,方法如下:,4/45,Web 伺服器的執行環境,Web 的應用程式(Application)虛擬目錄(由用戶端看到 Web 伺服器的第一層目錄)之下的所有 ASP 程式。各地的用戶端,都可經由 Internet 呼叫同一個應用程式。Application 物件的用途:讓呼叫同一個應用程式的用戶端能接收一些共用的資訊。,5/45,Application 物件,提供四種方法(Methods)、兩個事件(Events)與兩個集合(Collections)。,6/45,Application的方法,列
3、表如下:,7/45,Application的事件與集合,事件:集合:,8/45,範例:訪客計數器(1),概念:一次啟動 Application 物件時,將 Application(Counter)設定為零。Application.Contents(“Counter”)簡寫成Application(“Counter”)。被計數的網頁中,將 Application(Counter)的值加一。只要每次瀏覽此網頁,Application(Counter)值就加一。,9/45,範例:訪客計數器(2),步驟伺服器啟動後,在Web 應用程式中,若有任一網頁被點選,相關 Application 物件會啟動。A
4、SP 解譯器在虛擬目錄下尋找 global.asa 的檔案(副檔名 ASA 代表 Active Server Application)。執行global.asa中的 Application_OnStart()函數。在 Application_OnStart()函數中,我們可將變數 Application(Counter)的值預設為零,之後若有計數網頁,將此變數值加 1。,10/45,範例:訪客計數器(3),缺點用戶端一再點選瀏覽器的檢視/重新整理或是 F5 按鈕,計數器就會一直累加。解決方法:用 Session 物件。伺服器重開機時,Application 物件會被清除。解決方法:將計數資料寫
5、入檔案。,11/45,global.asa,程式碼重點說明Application_OnStart():將變數 Application(“Counter”)的值預設為零。,12/45,範例16-1:計數網頁的完整範例,主題:使用 Application 物件的計數網頁的完整範例Webpage:remote host,local host程式碼重點說明Application.Lock 鎖住 Application 物件,不讓其他使用者改變 Application 物件,避免同時 Requests 造成錯誤動作。,13/45,若 Application(Counter)不存在,則設定其為 0,鎖住
6、Application 物件,不讓其他使用者改變Application 物件的任何資訊,解除 Application 物件的鎖定狀態,計數變數加1,範例16-2:計數網頁的簡化範例,主題:計數網頁的精簡範例Webpage:remote host,local host程式碼重點說明由於計數器只是一個小程式,發生少許誤差也無所謂,因此前一個完整的範例可改寫成此簡化的範例。,14/45,若 Application(Counter)不存在,則設定其為 0,計數變數加1,範例16-3:獨立功能的計數網頁,主題:獨立功能的計數網頁Webpage:remote host,local host程式碼重點說明想
7、將程式碼反覆用在不同的網頁,且每個網頁都有獨立的計數功能,只要將前一個範例的“Counter”代換為隨網頁而不同的變數。,15/45,範例16-4:顯示計數器啟動時間,主題:顯示計數器啟動時間Webpage:remote host,local host程式碼重點說明如要知道計數器的上次啟動時間,可以使用另外一個變數Application(theStartTime)記錄時間。theStartTime url 而變,可發揮獨立計數功能。無論使用 JScript 或 VBScript,都可存取相同的 Application 物件與變數。,16/45,若伺服器起動後,本網頁第一次被呼叫時的動作,範例1
8、6-5,主題:印出 Application.Contents 和 Application.StaticObjects Webpage:remote host,local host程式碼重點說明Application.Contents 和 Application.StaticObjects 都是 Dictionary 變數,可以直接用程式碼將其內容一一印出。,17/45,範例16-6,主題:刪除 Application 變數Webpage:remote host,local host程式碼重點說明可用 Application.Contents.Remove()或 Application.Cont
9、ents.Removeall()刪除 Application 變數。本範例刪除所有 Application 變數後,再印出 Application.Contents 和 Application.StaticObjects 的內容。,18/45,Application 相關的常見應用,Application 相關的常見應用網頁記數器。線上投票區。更新正確上線人數(如聊天室)。,19/45,範例統整與參考資料,範例基本的計數網頁:JScript、VBScript 簡化的計數網頁:JScript、VBScript 不同網頁具有獨立的計數功能:JScript、VBScript 計數功能並顯示上次啟用的
10、時間:JScript、VBScript 列出 Application.Contents 和 Application.StaticObjects 的內容:JScript、VBScript 清除 Application.Contents:JScript、VBScript參考資料ASP Application Object at W3School,20/45,16-2:Session 物件,本節介紹Session物件的基本功能與範例。,21/45,Session 的基本介紹,用途Session 物件可讓同一個使用者在不同的 Web 應用程式中共用資訊。不同的 Request 中,可用 Session
11、 物件藉著Cookies來保存資訊。Session 用來指定每個使用者的相關資訊。條件用戶端的 Cookies 功能必須是開啟的。,22/45,Application vs.Session,Application 物件和 Session物件的比較:Application 物件:讓同一個 Web 應用程式共用資訊。Session 物件:讓同一個使用者在不同的 Web 應用程式中共用資訊。,23/45,Session物件,提供四種性質(Properties)、一種方法(Method)、兩個事件(Events)與兩個集合(Collections)。作法使用者點選某一個網頁時,伺服器就會對此使用者分配
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第十六 Application Session 物件

链接地址:https://www.31ppt.com/p-5664410.html