电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

ASP基礎入門第六篇(ASP內建對象Request)

瀏覽:44日期:2022-06-05 14:38:47

在正式開始學習 ASP 的內建對象和組件之前,先讓我們來認識一些基本概念,這將對各位今后的學習大有幫助。請看下表 :

Active Server

隨 Windows NT 交付的服務器方技術的集合。這些 技術為組件應用程序管理、數據庫訪問、事務和消息 提供一致的服務器方組件、腳本模型和一套集成的系 統服務。

Active Server Pages (ASP)

在服務器上運行 ActiveX 腳本和 ActiveX 組件的服 務器方腳本環境。開發人員可以將腳本和組件結合在 一起創建基于 Web 的應用程序。

ActiveX

允許開發人員為 World Wide Web 創建交互式組件的 內涵豐富的Microsoft 技術術語。允許用不同語言編寫的軟 件組件在網絡環境中一起工作的一組不依賴語言的 互操作技術。ActiveX 的關鍵元素是組件對象模型 (COM) 和 分布組件對象模型 (DCOM)。這些技術已得到開放組織的 許可,已移植到許多平臺上。

ADO

Active 數據對象。為基于 Internet 以數據為中心的 應用程序而優化的一組基于對象的數據訪問接口。ADO 基于已發布的規范并且隨帶在Microsoft Internet Information Server 和 Microsoft Visual InterDev 中。

DSN

數據源名稱。開放式數據庫接口 (ODBC)用于引 用訪問數據所需的驅動程序或其他信息的邏輯名稱。Internet信 息服務器用于連接到 ODBC 數據源(如 SQL Server 數據庫)的 名稱。

event: 事件

由用戶或 ActiveX 控件產生的程序響應的任何 操作。一般事件包括按鍵盤鍵、通過使用鼠標單擊選 擇按鈕和其他鼠標操作。編程人員編寫響應這些操作 的代碼。

object: 對象

在面向對象編程中,由當作完整實體的操作 和數據組成的變量。對象是基于特定模型的,在對象 中客戶使用對象的服務通過由一組方法或相關函數 的接口訪問對象的數據。然后客戶端可以調用這些方 法執行某中操作。

ODBC

開放式數據庫接口。允許應用程序從各種跨 平臺數據訪問的已有數據源標準規格中訪問數據的 應用程序編程接口。

SQL

結構化查詢語言 Structured Query Language。定義和訪 問關系型數據庫的國際標準。

什么是對象?

它可不是指你戀愛的男伴或女伴。在面向對象編程中,對象就是指由當作完整實體的操作和數據組成的變量。對象是基于特定模型的,在對象中客戶使用對象的服務通過由一組方法或相關函數的接口訪問對象的數據,然后客戶端可以調用這些方法執行某中操作。

ActiveX 組件是建立 Web 應用程序的關鍵,組件提供了在腳本中執行任務的對象。ActiveX 組件是一個文件,該文件包含執行某項或一組任務的代碼,由于組件可以執行公用任務,這樣程序員們就不必自己去創建執行這些任務的代碼。可以利用組件作為腳本和基于 Web 應用程序的基本構造塊。只要知道如何訪問組件提供的對象,即使是位編寫腳本的新手,也可以在不了解組件運作方式的情況下編寫腳本。

總之,組件使您不用學習編程就能夠編寫強大的腳本。組件是包含在動態鏈接庫 .dll 或可執行文件 .exe 中的可執行代碼。組件可以提供一個或多個對象以及對象的方法和屬性。要使用組件提供的對象,請創建對象的實例并將這個新的實例分配變量名。使用 ASP 的 Server.CreateObject 方法可以創建對象的實例,使用腳本語言的變量分配指令可以為對象實例命名。如下例:
Set db=Server.CreateObject("ADODB.Connection")
這里的變量 db 就是 ASP 程序創建的訪問數據庫的對象實例.

Active Server Pages 提供了可在腳本中使用的內建對象。這些對象使用戶更容易收集通過瀏覽器請求發送的信息、響應瀏覽器以及存儲用戶信息 , 從而使對象開發者擺脫了很多煩瑣的工作。目前的 ASP 版本總共提供了六個內建對象,下面讓我們將通過實例分別來進行學習。   

一、Request 對象

可以使用 Request 對象訪問任何基于 HTTP 請求傳遞的所有信息,包括從 HTML 表格用 POST 方法或 GET 方法傳遞的參數、cookie 和用戶認證。Request 對象使您能夠訪問客戶端發送給服務器的二進制數據。   

Request 的語法 :   

Request[. 集合 | 屬性 | 方法 ]( 變量 )   

在這里作者將挑選一些常用的對象語法進行分析   
1、Form   

Form 集合通過使用 POST 方法的表格檢索郵送到 HTTP 請求正文中的表格元素的值。  

  語法    Request.Form(element)[(index)|.Count]
  參數    element 指定集合要檢索的表格元素的名稱。
  index 可選參數,使用該參數可以訪問某參數中多個值中的一個。它可以是 1 到 Request.Form(parameter).Count 之間的任意整數。
  Count 集合中元素的個數  
  Form 集合按請求正文中參數的名稱來索引。Request.Form(element) 的值是請求正文中所有 element 值的數組。通過調用 Request.Form(element).Count 來確定參數中值的個數。如果參數未關聯多個值,則計數為 1。如果找不到參數,計數為 0。要引用有多個值的表格元素中的單個值,必須指定 index 值。index 參數可以是從 1 到 Request.Form(element).Count 中的任意數字。如果引用多個表格參數中的一個,而未指定 index 值,返回的數據將是以逗號分隔的字符串。
  可以使用重述符來顯示表格請求中的所有數據值。例如,用戶通過指定幾個值填寫表格,見下圖。

對于 hobby 參數,您可以使用下面的腳本檢索這些值。

< html>< head>< title>< /title>< /head>< body>< p> 請填寫你的愛好 < /p>< form method="POST" action="form.asp">< p>< input type="text" name="hobby" size="20">< br>< input type="checkbox" name="hobby" value=" 足球"> 足球 < input type="checkbox"   name="hobby" value=" 乒乓球"> 乒乓球 < /p>< p>< input type="submit" value=" 發送 " name="B1">< input type="reset" value=" 重填 "   name="B2">< /form>< %   For Each i In Request.Form("hobby")   Response.Write i & "< BR>"   Next   %>  </body>< /html>

  將以上代碼剪貼到記事簿中(注意將“< ”后面的空格去掉),保存為 form.asp 文件并運行,request 對象可以根據你在 form 中填入或選擇元素內容的不同將元素逐個顯示出來。

   當然使用 For...Next 循環也可以生成同樣的輸出,如下所示 :   
< %   For i = 1 To Request.Form("hobby").Count   Response.Write Request.Form("hobby")(i) & "< BR>"Next   %>

2、QueryString
  QueryString 集合檢索 HTTP 查詢字符串中變量的值 ,HTTP 查詢字符串由問號 (?) 后的值指定。如:
  < A HREF= "example.asp?string=this is a sample">string sample< /A>
  生成值為 "this is a sample" 的變量名字符串。通過發送表格或由用戶在其瀏覽器的地址框中鍵入查詢也可以生成查詢字符串。
  語法    Request.QueryString(variable)[(index)|.Count]
  QueryString 集合可以讓您以名稱檢索 QUERY_STRING 變量。Request.QueryString( 參數 ) 的值是出現在 QUERY_STRING 中所有參數的值的數組。通過調用Request.QueryString(parameter).Count 可以確定參數有多少個值。   我們也可以使用 QueryString 來達到與前一個范例相同的功能。只需要將 request.form 部分替換如下:
< %   For Each i In Request.querystring("hobby")   Response.Write i & "< BR>"   Next   %>

3、Cookies
  什么是 Cookie?Cookie 其實是一個標簽,當你訪問一個需要唯一標識你的站址的 WEB 站點時,它會在你的硬盤上留下一個標記,下一次你訪問同一個站點時,站點的頁面會查找這個標記。每個 WEB 站點都有自己的標記,標記的內容可以隨時讀取,但只能由該站點的頁面完成。每個站點的 Cookie 與其他所有站點的 Cookie 存在同一文件夾中的不同文件內(你可以在 Windows 的目錄下的 Cookie 文件夾中找到它們)。一個 Cookie 就是一個唯一標識客戶的標記,Cookie 可以包含在一個對話期或幾個對話期之間某個 WEB 站點的所有頁面共享的信息,使用 Cookie 還可以在頁面之間交換信息。Request 提供的 Cookies 集合允許用戶檢索在 HTTP 請求中發送的 cookie 的值。這項功能經常被使用在要求認證客戶密碼以及電子公告板、WEB 聊天室等 ASP 程序中。
  語法    Request.Cookies(cookie)[(key)|.attribute]
  參數    cookie 指定要檢索其值的 cookie。
  key 可選參數,用于從 cookie 字典中檢索子關鍵字的值。
  attribe 指定 cookie 自身的有關信息。如:HasKeys 只讀,指定 cookie 是否包含關鍵字。
  可以通過包含一個 key 值來訪問 cookie 字典的子關鍵字。如果訪問 cookie 字典時未指定 key,則所有關鍵字都會作為單個查詢字符串返回。例如,如果 MyCookie 有兩個關鍵字 , First 和 Second,而在調用 Request.Cookies 時并未指定其中任何一個關鍵字,那么將返回下列字符串。
  First=frstkeyvalue&Second=secondkeyvalue  

  如果客戶端瀏覽器發送了兩個同名的 cookie,那么 Request.Cookie 將返回其中路徑結構較深的一個。例如,如果有兩個同名的的 cookie,但其中一個的路徑屬性為 /www/ 而另一個為 /www/home/,客戶端瀏覽器同時將兩個 cookie 都發送到 /www/home/ 目錄中,那么 Request.Cookie 將只返回第二個 cookie。  

  要確定某個 cookie 是不是 cookie 字典(cookie 有否有關鍵字),可使用下列腳本。
< %= Request.Cookies("myCookie").HasKeys %>

  如果 myCookie 是一個 cookie 字典,則前面的賦值為 TRUE。否則,為 FALSE。下面我們來看看一個 cookie 的應用實例:

< %   nickname=request.form("nick")response.cookies("nick")=nickname " 用 response 對象將用戶名寫入 Cookie 之中 response.write " 歡迎 "&request.cookies("nick")&" 光臨小站!" %>< html>< head>< meta http-equiv="Content-Type" content="text/html; charset=gb2312"> < title>cookie< /title>< meta name="GENERATOR" content="Microsoft FrontPage 3.0">< /head>< body>< form method="POST" action="cookie.asp">< p>< input type="text" name="nick" size="20"> < input type="submit" value=" 發送 " name="B1">< input type="reset" value=" 重填 " name="B2">< /form></body>< /html>

這其實是一個在基于 WEB 的 BBS 或 CHAT 的 ASP 程序中常用的手法,它將用戶在起始頁面上填入的姓名保存在 cookie 中,這樣后面的程序就可以很容易地調用該用戶的 nick 了。  

4、ServerVariables

大家都知道在瀏覽器中瀏覽網頁的時候使用的傳輸協議是 HTTP,在 HTTP 的標題文件中會記錄一些客戶端的信息,如 : 客戶的 IP 地址等等,有時服務器端需要根據不同的客戶端信息做出不同的反映,這時候就需要用 ServerVariables 集合獲取所需信息。
  語法    Request.ServerVariables ( 服務器環境變量 )

由于服務器環境變量較多,作者僅將一些常用的變量在下表中列出 :

ALL_HTTP: 客戶端發送的所有 HTTP 標題文件。

CONTENT_LENGTH: 客戶端發出內容的長度。

CONTENT_TYPE: 內容的數據類型。如:“text/html”。同附加信息 的查詢一起使用,如 HTTP 查詢 GET、POST 和 PUT。

LOCAL_ADDR: 返回接受請求的服務器地址。如果在綁定多 個 IP 地址的多宿主機器上查找請求所使用的地址 時,這條變量非常重要。

LOGON_USER: 用戶登錄 Windows NT 的帳號。

QUERY_STRING:查詢 HTTP 請求中問號(?)后的信息。

REMOTE_ADDR:發出請求的遠程主機 (client) 的 IP 地址。

REMOTE_HOST:發出請求的主機 (client) 名稱。如果服務器無此 信息,它將設置為空的 MOTE_ADDR 變量。

REQUEST_METHOD:該方法用于提出請求。相當于用于 HTTP 的 GET、HEAD、POST等 等。

SERVER_NAME:出現在自引用 URL 中的服務器主機名、DNS 化名 或 IP 地址。

SERVER_PORT:發送請求的端口號。

我們可以使用以下腳本打印出所有的服務器環境變量。

< TABLE>< TR>< TD>< B>Server Variable< /B>〈/td〉< TD>< B>Value< /B>〈/td〉〈/tr〉< % For Each name In Request.ServerVariables %>< TR>< TD> < %= name %> 〈/td〉< TD> < %= Request.ServerVariables(name) %> 〈/td〉〈/tr〉< /TABLE>< % Next %>

  今天我們詳細學習了ASP 內建對象中的request 對象,這也是ASP 程序中使用最頻繁的對象,希望大家在課后多多實踐。

標簽: ASP
相關文章:
主站蜘蛛池模板: 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 铝合金电阻-无源谐波滤波器-上海稳达电讯设备厂 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 至顶网| 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 暖气片十大品牌厂家_铜铝复合暖气片厂家_暖气片什么牌子好_欣鑫达散热器 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 传爱自考网_传爱自学考试网 | 液氮罐(生物液氮罐)百科-无锡爱思科 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 |