仓酷云

标题: ASP编程:第四课:ASP剧本基本 [打印本页]

作者: 海妖    时间: 2015-1-16 22:27
标题: ASP编程:第四课:ASP剧本基本
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,经由过程前两篇的进修,信任列位已对ASP的静态网站计划有了一个基础的观点和全体的印象。从本篇入手下手作者将从剧本言语的利用动手,由浅进深地率领人人探究ASP静态网站计划的真正奥妙。

  本文第二篇登载后,良多伴侣给我发了“妹儿”,但愿能尽快看到本文的第3、第4、以致第……篇,乃至有位伴侣焦心地要我将ASP篇的全文发给他。看到有云云之多同舟共济的伴侣,令我精力年夜振。固然ASP早在两年前就已推出了,但直到往年它才以其天真便利的开辟历程、优秀的WEB数据库毗连功效遭到了国人的器重,但是因为今朝国际尚缺少关于ASP开辟WEB使用程序的细致课本,因而使得国际宽大WEB开辟者们仍处在闭门啃E文的阶段,也包含作者自己。也正由于云云,作者才蒙发了写文章的动机,在失掉Chinabyte收集学院翁斌师长教师的鼎力撑持后,列位才得以见到此文。

  作者殷切但愿能经由过程此文为宽大WEB开辟者和喜好者供应便当,使人人配合来列入ASP的进修和交换,为了保全分歧条理读者的需求作者仍是决意从最基础的剧本言语的体例动手,随后再一步一步地解说ASP内建工具、ActiveX组件和用ASP开辟WEB使用程序的实例,信任经由过程一段工夫延续的进修,不出几个月列位都可以轻车熟路地开辟本人的静态网站。上面就先请人人跟我来进修一些ASP中使用剧本言语(以VBScript为主)的基本常识。

  在入手下手进修剧本言语之前,你应当了解一些复杂的观点--变量、历程。所谓变量是盘算机内存中已定名的存储地位,个中包括了数字或字符串等数据,它利用户便于了解剧本操纵的称号,为用户供应了一种存储、检索和操纵数据的路子。程序是由一个或多个历程构成的,在VBScript中,历程就是“指令块”,一般意义上的历程,如Sub,只是为了复杂的数据处置。  在VBScript中,严厉的来说变量是不必声明的,
  如:<%Mystring="Thisismystring"%>
 
 但是,即便在利用变量前不必要往声明变量,也应养成在编程时声明变量的优秀习气,由于如许有助于避免毛病产生。声明一个变量意味着告知剧本引擎,有一个特命名称的变量,如许就能够在剧本中援用该变量。在VBScript中声明一个变量可使用“Dim”语句,以下:
  <scriptlanguage="VBScript">
  <!--
  OptionExplicit请求在剧本中声明一切的变量
  DimMystring
  Mystring="Thisismystring"
  -->
  </script>

  变量的感化域即性命期,决意哪些剧本命令可会见变量。在历程外部声明的变量具有部分感化域。每实行一次历程,变量就被创立然后灭亡。而历程内部的任何命令都不克不及会见它。在历程内部声明的变量具有全局感化域,其值能被ASP页上的任何剧本命令会见和修正。声明变量时,部分变量和全局变量能够有不异的称号。而改动个中一个的值其实不会改动另外一个的值。假如没有声明变量,则大概不当心会改动一个全局变量的值。比方,以下剧本命令前往值1,固然有两个名为Y变量:
  <%
  DimYY=1CallSetLocalVariableResponse.WriteY
  SubSetLocalVariable
  DimY
  Y=2EndSub%>

  因为变量没有显式声明,以下的剧本命令将前往2。当历程挪用将Y设置为2时,剧本引擎以为该历程是要修正全局变量:
  <%
  Y=1CallSetLocalVariableResponse.WriteY
  SubSetLocalVariable
  Y=2
  EndSub%>

  但是,全局变量仅在单个ASP页中可用,要使它在单个ASP页以外可用,就必需为变量付与会话或使用程序感化域。会话感化域变量对一个用户所哀求的ASP使用程序中的一切页都是可用的。使用程序感化域变量也云云。对单个用户来讲,会话变量是存储信息的最好路子,比方,用户首选项、用户名或用户的标识。关于一个特别使用程序的一切用户,使用程序感化域是存储信息的最好路子,比方,使用程序特定的问候语或使用程序所需的初始值。ASP供应两个内建工具来让您存储变量:Session工具和Application工具,这将在从此的ASP内建工具中侧重会商。

  让我们再来看看常量的界说,常量是用来取代一个数或字符串的称号,它在全部剧本中坚持稳定。您可使用Const语句在VBScript中创立用户自界说常数。利用Const语句能够创立称号具有必定寄义的字符串型或数值型常数,并给它们赋原义值。比方:。
  如:<%Constmystring="这是一个常量"%>
  <%Constmyage=100%>
 
 请注重字符串笔墨包括在两个引号
("")之间。这是辨别字符串型常数和数值型常数的最分明的办法。日期笔墨和工夫笔墨包括在两个井号(#)之间。比方:
  <%ConstCutoffDate=#6-1-97#%>
 
 在了解了常量和变量以后,我们来看看甚么是历程。它是一组能实行指定义务且具有前往值的剧本命令。您能够界说本人的历程,然后在剧本中重复挪用它们。您能够将历程界说放在挪用历程的.asp文件中,也能够将通用历程放在一个共享的.asp文件中,然后用SSI#include指令将其包括进其他挪用其历程的.asp文件中。您还可选择另外一种办法,即把这些功效打包在ActiveX组件中。历程界说可呈现在<SCRIPT>和</SCRIPT>标志外部且必需遵守声明剧本言语的划定规矩。假如历程所用的言语与主剧本言语分歧,则要利用<SCRIPT>元素。主剧本言语中的历程用剧本分界符(<%和%>)分开。用HTML<SCRIPT>标志时,必需利用两个属性来包管服务器端可以处置剧本。利用<SCRIPT>标志的语法以下:

  <SCRIPTRUNAT=SERVERLANGUAGE=JSCRIPT>
  proceduredefinition
  </SCRIPT>

  这里的RUNAT=SERVER属性关照Web服务器在服务器上处置剧本。若不设置该属性,剧本将由客户端扫瞄器处置。LANGUAGE属性决意此剧本块所用的剧本言语。您能够指定任何一种具有剧本引擎的言语。请利用VBSCRIPT指定VBScript;用JSCRIPT指定JScript。若不设置LANGUAGE属性,将用主剧本言语注释此剧本块。

  在VBScript中,历程被分为两类:Sub历程和Function历程。Sub历程是包括在Sub和EndSub语句之间的一组VBScript语句,实行操纵但不前往值。Sub历程可使用参数(由挪用历程传送的常数、变量或表达式)。假如Sub历程无任何参数,则Sub语句必需包括空括号()。

  Function历程是包括在Function和EndFunction语句之间的一组VBScript语句。Function历程与Sub历程相似,可是Function历程能够前往值。Function历程可使用参数(由挪用历程传送的常数、变量或表达式)。假如Function历程无任何参数,则Function语句必需包括空括号()。Function历程经由过程函数名前往一个值,这个值是在历程的语句中赋给函数名的。Function前往值的数据范例老是Variant。鄙人面的示例中Sub历程利用两个固有的(或内置的)VBScript函数,即MsgBox和InputBox,来提醒用户输出信息。然后显现依据这些信息盘算的了局。盘算由利用VBScript创立的Function历程完成,Celsius函数将华氏度换算为摄氏度。Sub历程ConvertTemp挪用此函数时,包括参数值的变量被传送给函数。换算了局前往到挪用历程并显现在动静框中。

  SubConvertTemp()
  temp=InputBox("请输出华氏温度。",1)
  MsgBox"温度为"&Celsius(temp)&"摄氏度。"
  EndSub
  FunctionCelsius(fDegrees)
  Celsius=(fDegrees-32)*5/9
  EndFunction

  给历程传送数据的路子是利用参数。参数被作为要传送给历程的数据的占位符。参数名能够是任何无效的变量名。利用Sub语句或Function语句创立历程时,历程名以后必需紧跟括号。括号中包括一切参数,参数间用逗号分开。比方,鄙人面的示例中,fDegrees是传送给Celsius函数的值的占位符:
  FunctionCelsius(fDegrees)
  Celsius=(fDegrees-32)*5/9
  EndFunction
  要从历程猎取数据,必需利用Function历程。请记着,Function历程能够前往值;Sub历程不前往值。
  以上给人人扼要先容了VBScript,因为篇幅的缘故原由,作者不成能在此细致先容VBScript的一切常识。可是因为ASP自己并非一种编程言语,因而在人人编写ASP使用程序的过程当中,必需借助剧本言语来完成很多特别的功效,以是天真纯熟地把握剧本言语对一个利用ASP编写WEB使用程序的程序员来讲是相当主要的。不管您是一个有丰厚编程履历的妙手仍是一个初学者,只需您如今但愿经由过程ASP编写WEB使用程序,作者尽力倡议您把握最少一门剧本言语(如VBScript)。在本篇的开端作者将留一道课后功课给人人,但愿列位能经由过程自学有关书本并在理论中敏捷把握剧本言语。
  课后功课:
  作者正在用ASP制造一套基于WEB的BBS体系,作者但愿能在个中增加一项特别功效,即当任何用户上岸该BBS后都可以查阅近七天来一切新公布的信息。因为ASP自己的内建工具和组件并没有供应此项功效,因而作者请人人从VBScript动手,来计划如许一个功效。若有任何疑问请EMAIL作者,谜底将鄙人一篇发布。敬请存眷。
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。
作者: 若天明    时间: 2015-1-19 06:50
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者: 莫相离    时间: 2015-1-24 11:16
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者: 山那边是海    时间: 2015-2-1 08:16
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者: 老尸    时间: 2015-2-7 01:44
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
作者: 爱飞    时间: 2015-2-19 13:52
掌握asp的特性而且一定要知道为什么。
作者: 冷月葬花魂    时间: 2015-3-6 15:03
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
作者: 愤怒的大鸟    时间: 2015-3-13 03:08
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2