国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

深入研究Application與Session對象(3)

深入研究Application與Session對象(3)

更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

三、Global.asa

  ASP的Application和Session對象體現了其他ASP內置對象所沒有的特征--事件。每一個訪客訪問服務器時都會觸發一個OnStart事件(第一個訪客會同時觸發Application和Session的OnStart事件,但Application先于Session),每個訪客的會話結束時都會觸發一個OnEnd事件(最后一個訪客會話結束時會同時觸發Application和Session的OnEnd事件,但Session先于Application)。

  OnStart和OnEnd這兩個事件一般應用在虛擬社區中統計在線人數、修改用戶的在線離線狀態等。要具體定義這兩個事件,需要將代碼寫在Global.asa文件,并將該文件放在站點的根目錄下(缺省是\Inetpub\wwwroot\)。另外,Application和Session對象規定了在OnEnd事件里除了Application對象外其他ASP內置對象(Response、Request、Server、Session...)一概不能使用。以下舉一個虛擬社區統計在線人數的例子來說明如何使用這兩個事件。

  文件說明:

  global.asa 位于d:\Inetpub\wwwroot\目錄下

  default.asp 位于d:\Inetpub\wwwroot\目錄下,虛擬社區登錄頁面

  login.asp 位于d:\Inetpub\wwwroot\目錄下,用于檢測用戶輸入的用戶名及密碼

  index.asp 位于d:\Inetpub\wwwroot\目錄下,虛擬社區首頁

  bbs.mdb 位于d:\Inetpub\wwwroot\目錄下,存儲用戶信息的數據庫

  數據庫(ACCESS)結構:

   ===bbs表===

  id 用戶ID,長整型

  name 用戶名,文本型

  code 密碼,文本型

  online 在線狀態,是/否

 
  ===global.asa===

  <script LANGUAGE="VBScript" RUNAT="Server">

  Sub Application_OnStart

   application("online")=0

  End Sub

  sub Application_OnEnd

  nd Sub

  Sub Session_OnStart

  End Sub

  Sub Session_OnEnd

   if session.contents("pass") then '判斷是否為登錄用戶的Session_OnEnd

    application.lock

    application("online")=application("online")-1

    application.unlock

   end if

  End Sub

  </script>

  ==============

  ===login.asp===

   ......'密碼驗證,連接數據庫,檢測用戶輸入的用戶名及密碼是否正確

  if 密碼驗證通過 then

   session("name")=rs("name")

   session("id")=rs("id")

   session("pass")=true

  else

   rs.close

   conn.close

   response.write "密碼錯誤!"

   response.end

  end if

  application.lock

  application("online")=application("online")+1

  conn.Execute ("update bbs set online=1 where id="&session("id"))'將用戶的狀態設為在線

  application.unlock

  rs.close

  conn.close

  response.redirect "index.asp" '初始化數據后跳轉到社區首頁

  ===========

  在本例中,用application("online")變量記錄已經登錄社區的在線人數,因為一旦有用戶訪問服務器而不管用戶是否登錄,都會產生OnStart事件,所以不能在OnStart事件里使Applicaiton("online")加一。因為不管是否是登錄用戶的會話結束都會產生OnEnd事件(假如有訪客訪問了服務器但并不登錄社區,他的會話結束后也會產生OnEnd事件),所以在Session_OnEnd事件里用了句if語句來判斷是否為已登錄用戶的OnEnd事件,如果是才將在線人數減一。

  這只是一個統計在線人數的簡單例子,對于一個完整的虛擬社區來說,僅僅統計有多少人在線是不夠的,在本例中數據庫里有個online字段是用來記錄用戶的在線狀態,用戶登錄的時候,在login.asp里將online設為1,但用戶離線時并沒有將online設為0,要完善它,就要修改一下Session_OnEnd事件,在該事件里將online設為0。

  ===global.sas===

  <script LANGUAGE="VBScript" RUNAT="Server">

  Sub Application_OnStart

   application("online")=0

   set application("conn")=Server.CreateObject("ADODB.Connection")

   application("db")=Server.MapPath("\bbs.mdb") '此處最好使用絕對路徑\bbs.mdb,下文有詳細介紹

  End Sub

  sub Application_OnEnd

   set application("conn")=nothing

  End Sub

   Sub Session_OnStart

  End Sub

  Sub Session_OnEnd

   if session.contents("pass") then '判斷是否為登錄用戶的Session_OnEnd

     application("con").open ="driver={Microsoft Access Driver (*.mdb)};dbq="&application("db")

      application.lock

      application("online")=application("online")-1

      application("con").Execute ("update friends set online=0 where id="&session.contents("id"))

      application.unlock

      application("con").close

   end if

  End Sub

  </script>

  ==============

  至此,完整的代碼已經完成了。因為在Application和Session的OnEnd事件里不能使用Server對象,所以要將數據庫的連接及數據庫在服務器上的物理地址(d:\inetpub\wwwroot\bbs.mdb)存儲在application變量中,并在Application_OnStart事件中預先處理。同理,在Session_OnEnd事件中不能用session("pass")來代替session.contents("pass")(以下有詳盡說明)。

  四、本文實例中值得引起注意的兩點

  ⒈OnEnd事件里的session.contents

  剛開始接觸global.asa的朋友經常會將上面Session_OnEnd事件里的

  if session.contents("pass") then 寫成

  if session("pass") then,

  這樣的話系統不會提示錯誤,但是永遠也不會執行then后面的內容,這是因為在OnEnd事件里禁止使用Session對象,但是可以用Session對象的集合來調用session變量。因為IIS并沒提示任何錯誤信息,所以筆者曾經在這上面浪費了很多時間。在此希望大家引以為鑒!

  ⒉Application_OnStart事件里用Server.MapPath獲取數據庫的物理地址時應使用絕對地址為了說明這個問題,大家可以做個實驗:將上面Application_OnStart事件里的

  application("db")=Server.MapPath("\bbs.mdb")改為:

  application("db")=Server.MapPath("bbs.mdb")

然后在d:\inetpub\wwwroot\目錄下建立一個test子目錄,寫一個temp.asp在test目錄里。

  ====test.asp====

  <%response.write application("db")%>

  ================

再將temp.asp拷貝一份放在根目錄下(d:\inetpub\wwwroot\)。用記事本打開global.asa,再打開兩個瀏覽器,瀏覽器A輸入地址http://localhost/temp.asp,按回車,將在瀏覽器上輸出:

  d:\inetpub\wwwroot\bbs.mdb

然后,在記事本的窗口上點"文件"菜單,選"保存"(使global.asa的修改時間改變,從而使IIS重啟動所有服務),再在瀏覽器B輸入地址http://localhost/test/temp.asp,按回車,在瀏覽器上輸出的是:

  d:\inetpub\wwwroot\test\bbs.mdb

global.asa文件雖然是放在站點根目錄下,但是如果在server.mappath中使用的是相對地址,而觸發Application_OnStart事件的用戶第一次訪問的頁面又不是屬于根目錄的話,得到數據庫的物理地址將不會是期望的結果,希望大家要特別小心。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        日韩精品一区二区三区中文不卡| 欧美在线制服丝袜| 成人免费视频一区| 国产欧美精品一区aⅴ影院 | 欧美一区二区三区免费视频| 亚洲v精品v日韩v欧美v专区| 欧美日韩国产美| 免费成人在线影院| 精品av久久707| aaa欧美色吧激情视频| 亚洲图片一区二区| 日韩精品中文字幕一区| 高清不卡一二三区| 亚洲午夜在线视频| 精品剧情v国产在线观看在线| 国产一区二区三区四区五区美女| 国产精品网站导航| 欧美日韩一区二区不卡| 亚洲 欧美综合在线网络| 欧美成人一区二区三区在线观看| 国产suv精品一区二区三区| 中文字幕在线一区| 91精品国产色综合久久ai换脸| 国产成人综合网| 午夜影院久久久| 国产精品成人一区二区艾草 | 成人h动漫精品一区二区| 亚洲精品国产一区二区精华液| 3d动漫精品啪啪1区2区免费| 国产成a人亚洲精| 日本不卡视频在线| 亚洲日本一区二区| 精品粉嫩超白一线天av| 91精彩视频在线| 成人免费av网站| 久久91精品国产91久久小草| 亚洲激情六月丁香| 国产日韩欧美不卡在线| 666欧美在线视频| 色婷婷精品大视频在线蜜桃视频 | 亚洲成av人**亚洲成av**| 久久亚洲捆绑美女| 欧美一区二区在线看| 在线视频国内自拍亚洲视频| 高清在线观看日韩| 国产九九视频一区二区三区| 日韩精品亚洲专区| 亚洲国产美女搞黄色| 亚洲激情欧美激情| 亚洲色图一区二区三区| 欧美激情综合五月色丁香小说| 日韩视频免费直播| 欧美日韩亚洲不卡| 欧美在线小视频| 91极品视觉盛宴| 欧美在线视频日韩| 欧美少妇一区二区| 51精品国自产在线| 欧美成人乱码一区二区三区| 91精品国产综合久久久蜜臀图片| 欧美亚洲自拍偷拍| 欧美日韩精品一区二区天天拍小说 | 欧美日韩情趣电影| 欧美日韩大陆在线| 91精品免费在线| 2023国产精品| 国产性天天综合网| 久久久久久久综合色一本| 久久日一线二线三线suv| 精品久久久久99| 久久久无码精品亚洲日韩按摩| 精品福利一二区| 亚洲青青青在线视频| 久久久不卡影院| 国产精品久久夜| 亚洲一二三区视频在线观看| 午夜一区二区三区视频| 香蕉久久夜色精品国产使用方法| 亚洲韩国精品一区| 老司机免费视频一区二区三区| 国产综合久久久久影院| 国产精品资源在线| 99re热这里只有精品免费视频| 91高清视频免费看| 欧美成人一区二区三区| 久久久久久一级片| 亚洲精品福利视频网站| 美女精品一区二区| 丰满少妇在线播放bd日韩电影| 91丝袜国产在线播放| 欧美一区二区三区四区久久| 久久精品这里都是精品| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲高清三级视频| 国产99久久久国产精品潘金| 色999日韩国产欧美一区二区| 欧美视频你懂的| 久久久久久久久免费| 综合久久久久久| 日韩激情av在线| 国产一区 二区 三区一级| 色婷婷综合久久| 精品国产在天天线2019| 国产精品国产三级国产普通话蜜臀| 亚洲国产精品久久人人爱蜜臀| 成人爽a毛片一区二区免费| 欧美日韩一区二区三区四区五区| 久久综合狠狠综合久久综合88| 亚洲人精品午夜| 国产精品资源站在线| 欧美色网一区二区| 国产精品免费观看视频| 久久精品国产一区二区三 | 国产91对白在线观看九色| 日本久久一区二区| 久久精品视频免费观看| 亚洲成人在线网站| 成人av网站在线观看免费| 精品国产乱码久久久久久牛牛 | 不卡的看片网站| 久久精品一区八戒影视| 久久99精品久久只有精品| 欧美人体做爰大胆视频| 国产精品传媒入口麻豆| 国产一区91精品张津瑜| 欧美一级免费观看| 男女男精品网站| 欧美日韩精品三区| 亚洲激情图片一区| 99精品国产热久久91蜜凸| 亚洲国产高清在线| 国产高清久久久久| 久久网这里都是精品| 韩国在线一区二区| 欧美成人a∨高清免费观看| 日韩精品国产精品| 欧美精品 国产精品| 亚洲色图视频网站| 色婷婷亚洲婷婷| 五月天国产精品| 日韩一区二区中文字幕| 老司机午夜精品| 久久久久久久精| 成人免费看视频| 1024亚洲合集| 在线观看av一区| 日本vs亚洲vs韩国一区三区二区| 欧美一级日韩免费不卡| 麻豆91精品91久久久的内涵| 日韩欧美国产成人一区二区| 激情国产一区二区| 国产精品素人一区二区| 成人app下载| 亚洲成人黄色小说| 日韩欧美一级精品久久| 国产在线精品一区二区不卡了| 国产亚洲成aⅴ人片在线观看| 国产精品99久久久久久久女警| 亚洲国产经典视频| 色综合久久88色综合天天免费| 一区二区在线观看不卡| 欧美理论在线播放| 精品在线你懂的| 欧美韩国日本不卡| 在线影院国内精品| 奇米一区二区三区| 国产精品理伦片| 欧美日韩综合色| 韩国一区二区视频| 亚洲免费在线观看| 日韩亚洲电影在线| 99re这里都是精品| 久国产精品韩国三级视频| 国产精品久久久久一区二区三区| 欧洲中文字幕精品| 麻豆精品视频在线观看| 中文字幕 久热精品 视频在线| 国产欧美日韩在线视频| 91丝袜国产在线播放| 91久久线看在观草草青青| 日本sm残虐另类| 亚洲视频一二区| 国产亚洲欧美日韩在线一区| 欧美色大人视频| 国产精品亚洲第一区在线暖暖韩国| 亚洲九九爱视频| 久久久久久久久久看片| 欧美日本视频在线| 91网站最新网址| 国产精品综合视频| 丝袜美腿高跟呻吟高潮一区| 欧美国产激情一区二区三区蜜月 | 国产亚洲婷婷免费| 欧美日韩成人激情| 亚洲综合色噜噜狠狠| 中文字幕av在线一区二区三区| 91精品国产色综合久久不卡蜜臀| 91视频.com| 国产99久久久精品| 韩国女主播成人在线|