因胸联盟 发表于 2015-1-16 22:23:55

ASP教程之第四篇 ASP剧本基本

使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。经由过程前两篇的进修,信任列位已对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作者,谜底将鄙人一篇发布。敬请存眷。http://www.ckuyun.com/
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。

不帅 发表于 2015-1-17 23:13:14

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

变相怪杰 发表于 2015-1-21 10:52:23

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

admin 发表于 2015-1-30 16:05:07

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

只想知道 发表于 2015-2-6 13:58:41

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

飘飘悠悠 发表于 2015-2-16 09:49:08

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

再见西城 发表于 2015-3-5 03:33:53

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

老尸 发表于 2015-3-11 23:08:50

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

愤怒的大鸟 发表于 2015-3-19 15:59:34

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

分手快乐 发表于 2015-3-28 23:14:54

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页: [1]
查看完整版本: ASP教程之第四篇 ASP剧本基本