活着的死人 发表于 2015-1-16 22:27:03

ASP网页编程之第二课:ASP简介

想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的看了《怎样令你的网站“动感实足”》一文后,是不是令你怦然心动?是不是已岌岌可危地想构建属于你本人的静态网站?本文将以ActiveServerPages为中央,向你周全展现制造静态贸易网站的步骤和技能并经由过程大批的实例,让你在不休的实际和理论当中笑傲“收集”……

  上一章给人人扼要先容了创建静态网站的一些办法和制造工具,本章将以怎样创建基于IIS的ASP静态网站为中央向人人一步一步地展现静态贸易网站计划的真正奥妙。为了使列位可以周全、仔细地把握ASP的开辟技能,本文从此将接纳连载的情势,手把手地教你怎样创建属于本人ASP静态网站。因为本文是作者依据本人的进修和理论履历并分离了一些外文材料而写成的,因而难免会有一些公允,但愿列位包涵。如发明本文有何不妥的地方,请实时关照作者,感谢。  MicrosoftActiveServerPages即我们所称的ASP,实际上是一套微软开辟的服务器端剧本情况,ASP内含于IIS3.0和4.0当中,经由过程ASP我们能够分离HTML网页、ASP指令和ActiveX元件创建静态、交互且高效的WEB服务器使用程序。有了ASP你就不用忧虑客户的扫瞄器是不是能运转你所编写的代码,由于一切的程序都将在服务器端实行,包含一切嵌在一般HTML中的剧本程序。当程序实行终了后,服务器仅将实行的了局前往给客户扫瞄器,如许也就加重了客户端扫瞄器的包袱,年夜年夜进步了交互的速率。以下排列了ActiveServerPages所独具的一些特性:
 1.利用VBScript、JScript等复杂易懂的剧本言语,分离HTML代码,便可疾速地完成网站的使用程序。
 2.不必compile编译,简单编写,可在服务器端间接实行。
 3.利用一般的文本编纂器,如Windows的记事本,便可举行编纂计划。
 4.与扫瞄器有关(BrowserIndependence),用户端只需利用可实行HTML码的扫瞄器,便可扫瞄ActiveServerPages所计划的网页内容。ActiveServerPages所利用的剧本言语(VBScript、Jscript)均在WEB服务器端实行,用户真个扫瞄器不必要可以实行这些剧本言语。
 5.ActiveServerPages能与任何ActiveXscripting言语相容。除可以使用VBScript或JScript言语来计划外,还经由过程plug-in的体例,利用由第三方所供应的其他剧本言语,比如REXX、Perl、Tcl等。剧本引擎是处置剧本程序的COM(ComponentObjectModel)物件。
 6.ActiveServerPages的源程序,不会被传到客户扫瞄器,因此能够制止所写的源程序被别人抄袭,也进步了程序的平安性。
 7.可以使用服务器真个剧本来发生客户真个剧本。
 8.物件导向(Object-oriented)。
 9.ActiveXServerComponents(ActiveX服务器元件)具有没有限可扩大性。可使用VisualBasic、Java、VisualC++、COBOL等编程言语来编写你所必要的ActiveXServerComponent。  ASP的奇奥的地方真是不乏其人,上面就请列位系好平安带,我将率领人人进进ASP的梦境天下。
<P>  起首,让我们来看看运转ASP所需的情况:

[*]MicrosoftInternetInformationServerversion3.0/4.0onWindowsNTServer
[*]MicrosoftPeerWebServicesVersion3.0onWindowsNTWorkstation
[*]MicrosoftPersonalWebServeronWindows95/98
  正如前文所述,与一样平常的程序分歧,.asp程序不必编译,ASP程序的把持部分,是利用VBScript、JScript等剧本言语来计划的,当实行ASP程序时,剧本程序将一整套命令发送给剧本注释器(即剧本引擎),由剧本注释器举行翻译并将其转换成服务器所能实行的命令。固然,同其他编程言语一样,ASP程序的编写也遵守必定的划定规矩,假如你想利用你所喜好的剧本言语编写ASP程序,那末你的服务器上必需要有能注释这类剧本言语的剧本注释器。当你安装ASP时,体系供应了两种剧本言语:VBsrcipt和JScript,而VBscript则被作为体系默许的剧本言语。你也能够依据本人的喜欢改动体系默许的剧本言语,关于怎样改动体系默许的剧本言语请看《在ASP中利用剧本言语》一文。

  ASP自己并非一种剧本言语,它只是供应了一种使镶嵌在HTML页面中的剧本程序得以运转的情况。可是,要学好ASP又必需把握它的语法和划定规矩。如今就让我们入手下手一步一步地熟悉并进修ActiveServerPages。

  ASP程序实际上是以扩大名为.asp的纯文本情势存在于WEB服务器上的,你能够用任何文本编纂器翻开它,ASP程序中能够包括纯文本、HTML标志和剧本命令。你只需将.asp程序放在WEB服务器的假造目次下(该目次必需要有可实行权限),就能够经由过程WWW的体例会见ASP程序了。要学好ASP程序的计划,必需把握剧本的编写,那末事实甚么是剧本呢?实在剧本是由一系列的剧本命令所构成的,好像一样平常的程序,剧本能够将一个值赋给一个变量,能够命令WEB服务器发送一个值到客户扫瞄器,还能够将一系列命令界说成一个历程。要编写剧本,你必需要熟习最少一门剧本言语,如VBScript。剧本言语是一种介乎于HTML和诸如JAVA、VisualBasic、C++等编程言语之间的一种特别的言语,只管它更靠近后者,但它却不具有编程言语庞大、松散的语法和划定规矩。如前所述ASP所供应的剧本运转情况可撑持多种剧本言语,比如:JScript、REXX、PERL等等,这无疑给ASP程序计划者供应了普遍的发扬余地。ASP的呈现使得宽大WEB计划者不用在为客户扫瞄器是不是撑持而忧虑,实践上就算你在统一个.asp文件中利用分歧的剧本言语,你都不必为此担心,由于一切的统统都将在服务器端举行,客户扫瞄器失掉的只是一个程序实行的了局,而你也只需在.asp中声明利用分歧的剧本言语便可。上面是一个典范的在统一.asp文件中利用两种剧本言语的例子:
<HTML>
<BODY>
<TABLE>
<%CallCallme%>
</TABLE>
<%CallViewDate%>
</BODY>
</HTML>
<SCRIPTLANGUAGE=VBScriptRUNAT=Server>
SubCallme
 Response.Write"<TR><TD>Call</TD><TD>Me</TD></TR>"
EndSub
</SCRIPT>
<SCRIPTLANGUAGE=JScriptRUNAT=Server>
functionViewDate()
{
 varx
 x=newDate()
 Response.Write(x.toString())
}
</SCRIPT>
 这是列位在本文中打仗的第一个真实的ASP程序,万万不要被“<%%>”标记弄懵懂,这实际上是尺度的ASP定界符,而“<SCRIPT></SCRIPT>”之间的就是剧本言语。ASP分歧于剧本言语,它有本人特定的语法,一切的ASP命令都必需包括在<%和%>以内,如:<%test="English"%>,ASP经由过程包括在<%和%>中的表达式将实行了局输入到客户扫瞄器,如:<%=test%>就是将后面赋给变量test的值English发送到客户扫瞄器中,而当变量test的值为Mathematics时,以下程序:
   Thisweekendwewilltest<%=test%>.
  在客户扫瞄器中则显现为:
   ThisweekendwewilltestMathematics.
 进修ASP最好的办法莫过于亲身下手编写,为了在最短的工夫内使列位把握ASP的程序计划技能,本文将接纳实例剖析法,经由过程一系列的实例让列位在理论中进修ASP。创建一个ASP页面,你所需的只是翻开一个文本编纂器,如:Notepad,然后跟我入手下手下手编写第一个ASP程序。上面我们将创建一个主动监测扫瞄工夫并依据分歧时段静态显现分歧页面内容的ASP程序,请将以下代码剪贴到你的文本编纂器中,并存为test1.asp:

<html>
<body>
<FONTCOLOR="Green">
<%IfTime<#12:00:00#AndTime>=#00:00:00#Then%>
早上好,明天天色不赖啊!
<%ElseIfTime<#19:00:00#AndTime>=#12:00:00#Then%>
下战书好!
<%Else%>
哈喽!今晚你有无往IRC谈天!
<%EndIf%>
</body>
</html>

  将test1.asp保留在WEB服务器的假造目次(如:aspsamp/)下,并在扫瞄器顶用HTTP的体例举行扫瞄,如:http://yourcomputername/aspsamp/test1.asp,你将会别致地发明,你的页面真的活起来了。固然,这只是一个十分复杂的实例,并且这一功效完整能够经由过程JavaScript完成,可是不难发明利用ASP要比JavaScript简便、敏捷很多,并且使用此法,你完整能够十拿九稳地令你的网页在分歧的时段展现分歧的作风。此例中的“Time”实践上是一个VBScript内置的显现体系以后工夫的函数,因为体系默许的剧本言语是VBScript,因而当你在ASP命令中挪用该函数时,剧本引擎会主动将其转换成以后的体系工夫。接上去我们将给test1.asp增加一点色采,在<body>标识中增加“bgcolor="<%=bgc%>”即变成<bodybgcolor="<%=bgc%>">,并在<body>标志前增加以下语句:
<%IfTime<#12:00:00#AndTime>=#00:00:00#Then
bgc="silver"
ElseIfTime<#19:00:00#AndTime>=#12:00:00#Then
bgc="navy"
Else
bgc="red"
EndIf
%>
 
 云云一来,当用户在分歧的时段会见你的页面时,他们将会看到分歧的页面背景致。我们能够做的事变另有良多,比如你想晓得在清晨至十二点之间扫瞄你页面的客户的姓名,并向他或她问好,那末上面的这段程序将能助你告竣希望。起首你必要在页面中设置表单,将以下
H
TML

码剪贴到“<%IfTime<#12:00:00#AndTime>=#00:00:00#Then%>”以后:
接待到临我的主页,请填写以下信息:<FORMMETHOD="POST"ACTION="test1.asp">
<P>
FirstName:<INPUTNAME="fname"SIZE="48">
<P>
LastName:<INPUTNAME="lname"SIZE="48">
<P>
Title:<INPUTNAME="title"TYPE=RADIOVALUE="mr">Mr.
<INPUTNAME="title"TYPE=RADIOVALUE="ms">Ms.
<P><INPUTTYPE=SUBMIT><INPUTTYPE=RESET>
</FORM>
 然后在以上HTML代码前面增加以下ASP命令:<%
title=request.form("title")
iftitle="mr"then
%>
接待您Mr.<%=request.form("fname")%>。
<%elseiftitle="ms"then%>
接待您Ms.<%=request.form("fname")%>。
<%else%>
<B><fontcolor=blue>接待您<%=request.form("fname")&""&request.form("lname")%>。</font></B>
<%endif%>

  保留文件test1.asp,并在扫瞄器中以HTTP体例举行扫瞄,假如此时的体系工夫在清晨0:00:00和午时12:00:00之间的话,扫瞄器将显现以下画面:


  这实际上是一个在Internet和Intranet上罕见的功效,即当用户在扫瞄器端填写完表单后,经由过程挪用一个通用网关程序将用户数据传送到服务器,由服务器举行处置后再将了局返还给客户扫瞄器。已往为了完成如许的功效必需编写一个自力于HTML以外的CGI程序,并经由过程HTML举行挪用,撇开CGI编写庞大等弱点不谈,CGI的实行效力也是一个年夜成绩,每个表单(form)均须实行一个可实行文档,当多人同时上线利用时,多个文档同时实行,将年夜年夜下降WEB服务器的实行速率,现在ASP供应了与HTML完整相融的编程情况,明显要比利用CGI便利很多。
  在本期的最初让我们再来看看ASP的轮回功效,比如你但愿当客户在晚间7:00至清晨0:00:00扫瞄你的页面时,在页面中心显现6个笑容暗示问候,那末你只必要将以下命令剪贴到“GoodEvening!”前面便可:<%fori=1to6%>
<p><center><imgsrc="http://edu.cnzz.cn/NewsInfo/smile.gif"width="32"height="32"alt="早晨好"></p>
<%next%>
 这是一个最最基础的轮回语句,它将一个笑容图片反复挪用六次并显现在页面上。固然此例的效果完整能够用HTML做到,可是不难发明利用ASP年夜年夜延长了代码的反复编写,使得程序具有优秀的可浏览性。别的,当你制造一个诸如依据用户投票来给所评测的工具评定星级的评测站点时,利用此法,你就完整不必要为每个星级制造一幅图片。假如一个工具被评为4星级,那只需将一颗星的图片轮回显现4次,以此类推便可。固然,当事情量较小的时分你不会感到到ASP的优点,但是一旦数据量巨增,你将会深入的体味到ASP静态网站给你带来的亘古未有的轻、爽感觉!
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的

爱飞 发表于 2015-1-19 12:49:52

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

海妖 发表于 2015-1-24 19:10:59

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

再现理想 发表于 2015-2-2 12:40:58

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

乐观 发表于 2015-2-7 19:48:36

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

因胸联盟 发表于 2015-2-23 09:31:09

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

谁可相欹 发表于 2015-3-7 06:59:35

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

飘灵儿 发表于 2015-3-14 15:21:35

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

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

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
页: [1]
查看完整版本: ASP网页编程之第二课:ASP简介