海妖 发表于 2015-1-16 22:23:55

ASP网站制作之第七篇 ASP内建工具Request

asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.从本篇入手下手作者从ASP内建工具动手,为人人具体分析ASP的六个内建工具和各类组件的特征和办法。  在正式入手下手进修ASP的内建工具和组件之前,先让我们来熟悉一些基础观点,这将对列位从此的进修年夜有匡助。请看下表:ActiveServer随WindowsNT托付的服务器方手艺的汇合。这些手艺为组件使用程序办理、数据库会见、事件和动静供应分歧的服务器方组件、剧本模子和一套集成的系统服务。  ActiveServerPages(ASP)在服务器上运转ActiveX剧本和ActiveX组件的服务器方剧本情况。开辟职员能够将剧本和组件分离在一同创立基于Web的使用程序。ActiveX同意开辟职员为WorldWideWeb创立交互式组件的内在丰厚的Microsoft手艺术语。同意用分歧言语编写的软件组件在收集情况中一同事情的一组不依附言语的互操纵手艺。ActiveX的关头元素是组件工具模子(COM)和散布组件工具模子(DCOM)。这些手艺已失掉开放构造的允许,已移植到很多平台上。ADOActive数据工具。为基于Internet以数据为中央的使用程序而优化的一组基于工具的数据会见接口。ADO基于已公布的标准而且随带在MicrosoftInternetInformationServer和MicrosoftVisualInterDev中。DSN数据源称号。开放式数据库接口(ODBC)用于引用会见数据所需的驱动程序或其他信息的逻辑称号。Internet信息服务器用于毗连到ODBC数据源(如SQLServer数据库)的称号。event:事务由用户或ActiveX控件发生的程序呼应的任何操纵。一样平常事务包含按键盘键、经由过程利用鼠标单击选择按钮和其他鼠标操纵。编程职员编写呼应这些操纵的代码。  object:工具在面向工具编程中,由看成完全实体的操纵和数据构成的变量。工具是基于特定模子的,在工具中客户利用工具的服务经由过程由一组办法或相干函数的接口会见工具的数据。然后客户端能够挪用这些方法实行某中操纵。ODBC开放式数据库接口。同意使用程序从各类跨平台数据会见的已无数据源尺度规格中会见数据的使用程序编程接口。  SQL布局化查询言语StructuredQueryLanguage。界说和访问干系型数据库的国际尺度。  
  甚么是工具?它可不是指你爱情的男伴或女伴。在面向工具编程中,工具就是指由看成完全实体的操纵和数据构成的变量。工具是基于特定模子的,在工具中客户利用工具的服务经由过程由一组办法或相干函数的接口会见工具的数据,然后客户端能够挪用这些办法实行某中操纵。ActiveX组件是创建Web使用程序的关头,组件供应了在剧本中实行义务的工具。ActiveX组件是一个文件,该文件包括实行某项或一组义务的代码,因为组件能够实行公用义务,如许程序员们就不用本人往创立实行这些义务的代码。能够使用组件作为剧本和基于Web使用程序的基础机关块。只需晓得怎样会见组件供应的工具,即便是位编写剧本的老手,也能够在不懂得组件运作体例的情形下编写剧本。总之,组件使您不必进修编程就可以够编写壮大的剧本。组件是包括在静态链接库.dll或可实行文件.exe中的可实行代码。组件能够供应一个或多个工具和工具的办法和属性。要利用组件供应的工具,请创立工具的实例并将这个新的实例分派变量名。利用ASP的Server.CreateObject办法能够创立工具的实例,利用剧本言语的变量分派指令能够为工具实例定名。以下例:  Setdb=Server.CreateObject("ADODB.Connection")  这里的变量db就是ASP程序创立的会见数据库的工具实例。  ActiveServerPages供应了可在剧本中利用的内建工具。这些工具利用户更简单搜集经由过程扫瞄器哀求发送的信息、呼应扫瞄器和存储用户信息,从而使工具开辟者挣脱了良多啰嗦的事情。今朝的ASP版本统共供应了六个内建工具,上面让我们将经由过程实例分离来举行进修。  1、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>  <formmethod="POST"action="form.asp">  <p><inputtype="text"name="hobby"size="20"><br>  <inputtype="checkbox"name="hobby"value="足球">足球<inputtype="checkbox"  name="hobby"value="乒乓球">乒乓球</p>  <p><inputtype="submit"value="发送"name="B1"><inputtype="reset"value="重填"  name="B2"></p>  </form>  <%  ForEachiInRequest.Form("hobby")  Response.Writei&"<BR>"  Next  %>  </body></html>  将以上代码剪贴到记事簿中(注重将“<”前面的空格往失落),保留为form.asp文件并运转,request工具能够依据你在form中填进或选择元素内容的分歧将元素逐一显现出来。  固然利用For...Next轮回也能够天生一样的输入,以下所示:  <%  Fori=1ToRequest.Form("hobby").Count  Response.WriteRequest.Form("hobby")(i)&"<BR>"Next  %>  2、QueryString  QueryString汇合检索HTTP查询字符串中变量的值,HTTP查询字符串由问号(?)后的值指定。如:  <AHREF="example.asp?string=thisisasample">stringsample</A>  天生值为"thisisasample"的变量名字符串。经由过程发送表格或由用户在其扫瞄器的地点框中键进查询也能够天生查询字符串。  语法  Request.QueryString(variable)[(index)|.Count]  QueryString汇合可让您以称号检索QUERY_STRING变量。Request.QueryString(参数)的值是呈现在QUERY_STRING中一切参数的值的数组。经由过程挪用Request.QueryString(parameter).Count能够断定参数有几个值。  我们也能够利用QueryString来到达与前一个典范不异的功效。只必要将request.form部分交换以下:  <%  ForEachiInRequest.querystring("hobby")  Response.Writei&"<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><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>cookie</title>  <metaname="GENERATOR"content="MicrosoftFrontPage3.0"></head>  <body>  <formmethod="POST"action="cookie.asp">  <p><inputtype="text"name="nick"size="20"><inputtype="submit"value="发送"name="B1"><inputtype="reset"value="重填"name="B2"></p></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用户登录WindowsNT的帐号。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>ServerVariable</B></TD><TD><B>Value</B></TD></TR><%ForEachnameInRequest.ServerVariables%>  <TR><TD><%=name%></TD><TD><%=Request.ServerVariables(name)%></TD></TR></TABLE>  <%Next%>  明天我们具体进修了ASP内建工具中的request工具,这也是ASP程序中利用最频仍的工具,但愿人人在课后多多理论。asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。

只想知道 发表于 2015-1-17 17:10:15

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

老尸 发表于 2015-1-20 22:31:47

掌握asp的特性而且一定要知道为什么。

分手快乐 发表于 2015-1-30 07:21:24

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

小女巫 发表于 2015-2-6 08:08:49

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

透明 发表于 2015-2-15 19:33:34

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

再见西城 发表于 2015-3-4 12:59:42

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

小妖女 发表于 2015-3-11 19:41:19

不能只是将它停留在纸上谈兵的程度上。

精灵巫婆 发表于 2015-3-19 10:35:44

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

乐观 发表于 2015-3-27 20:10:50

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页: [1]
查看完整版本: ASP网站制作之第七篇 ASP内建工具Request