|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 剧本言语介于HTML和Java,C++和VisualBasic等编程言语之间。HTML一般用于格局化和链结文本。而编程言语一般用于向呆板收回一系列庞大的指令。剧本言语介于二者之间但它的函数与编程言语更加相象一些。它与编程言语之间最年夜的区分是后者的语法和划定规矩更加严厉和庞大一些。<P> 在服务器端利用剧本言语,必要在服务器端安装剧本引擎。剧本引擎是用于处置剧本的COM(组件工具模子)工具。ASP为剧本引擎供应主机情况并把.asp文件中的剧本交给剧本引擎处置。关于.asp文件中利用的每种剧本言语,都要将他们响应的剧本引擎安装在Web服务器上。ASP中缺省言语是VBScript,以是你不必忧虑要往安装VBScript的剧本引擎,当你安装完ActiveServerPages时,他就已存在了。利用JScript也不用有一样的忧虑。可是要利用一些不太经常使用的剧本言语的话,大概必要安装响应的剧本引擎。
ASP使Web开辟者能够用各类剧本言语编写程序而不必忧虑扫瞄器是不是撑持。实践上,在一个.asp文件中就能够利用多种剧本言语,只需你在每段剧本程序入手下手处用HTML标签标明所用的剧本言语。
VBScript是缺省的主剧本言语。主剧本言语用在定界符<%和%>以内,你能够在定界符以内利用任何无效的VBScript命令,ASP会按VBScript处置这些命令。实在,你能够将任一种剧本言语设为主剧本言语。你能够诲人不倦的一页一页的设置,也能够将某一种剧本言语设为你的Web服务器上一切页的主剧本言语。假如你想在某一页中将一种剧本言语设为配角本言语,只需在.asp文件入手下手处加上以下的命令就能够了。
<%@LANGUAGE=ScriptingLanguage%>个中,ScriptingLanguage代表你想设置的主剧本言语。如若你想将某一种剧本言语设为你的Web服务器上一切页的主剧本言语,你就必要动勤奋能壮大的RegisterEditor(注册编纂器,regedit.exe),ASP注册参数的注册路径以下:
HKEY_LOCAL_MACHINESYSTEM
CurrentControlSet
Services
W3SVC
ASP
Parameters
个中,注册表项DefaultScriptLanguage的缺省值是"VBScript",将其改成欲设置的剧本言语便可。比方,若想将JScript设为配角本言语,则将注册表项DefaultScriptLanguage的值改成"JScript"就好了。在统一个.asp文件中夹杂利用分歧的剧本言语是ASP诱人的特征之一。如许,你就能够发扬各类分歧的剧本言语在分歧方面的上风。你能够用分歧的剧本言语编写分歧的剧本程序来完成分歧的事情。
<P> 剧本程序实践上就是一组实行特定义务的剧本命令。假如你常常要实行某一组特定义务,你就能够将之界说成程序,然后反复挪用。程序要按特定的剧本言语的划定规矩写在标签<SCRIPT>和</SCRIPT>之间。固然,假如你用主剧本言语写程序的话,写在定界符<%和%>之间也能够。假如你的程序只在某一页内挪用的话,把它放在这一页内就好了,假如你在多页中都要挪用某些程序的话,你能够把这些程序放在一个独自的.asp文件中,然后在每一个要挪用这些程序的.asp页中将谁人.asp文件包括出去。
要在.asp页中包括其他文件,利用以下的语法:
<!--#INCLUDEVIRTUAL FILE="filename"-->
个中,filename是你要包括的文件。关头字VIRTUAL和FILE任选其一,VIRTUAL暗示要包括的文件在一个假造目次内(该目次为Web共享目次),FILE暗示要包括的文件在一个以后文件相干目次内。例示以下:假定你有两个Web共享目次Dir1和Dir2,目次Dir1内有文件file11.asp和file12.asp,目次Dir2下有文件file2,若要在文件file11.asp中包括file2.asp,则将以下命令到场到文件file11.asp中:
<!--INCLUDEVIRTUAL="Dir2/file2.asp"-->
若要在file11.asp中包括file12.asp,则将以下命令到场到文件file11.asp中:
<!--INCLUDEFILE="file12.asp"-->
大概利用以下命令亦可:
<!--INCLUDEVIRTUAL="Dir1/file12.asp"-->
程序写好了,怎样挪用它哪?假如你用的剧本言语是VBScript,只需一个复杂的关头字Call再加上程序名就能够了。假如你要挪用的程序有参数,要把参数用括号括起来。假如你省略关头字Call,括号也要省略。上面例示了在统一ASP页顶用两种分歧的剧本言语(VBScript和JScript)创立和挪用程序。
<HTML>
<HEAD>
<TITLE>Usedifferentscriptinsamepage</TITLE>
</HEAD>
<BODYbgcolor="#FFFFFF">
<TABLE>
<%CallEcho%>
</TABLE>
<%CallPrintDate%>
</BODY>
</HTML>
<SCRIPTLANGUAGE=VBScriptRUNAT=Server>
SubEcho
Response.Write_
"<TR><TD>Name</TD><TD>Value</TD></TR>"
SetParams=Request.QueryString
ForEachpinParams
Response.Write"<TR><TD>"&p&"</TD><TD>"&_
Params(p)&"</TD></TR>"
Next
EndSub
</SCRIPT>
<SCRIPTLANGUAGE=JScriptRUNAT=Server>
functionPrintDate()
{
varx
x=newDate()
Response.Write(x.toString())
}
</SCRIPT>
在服务器端利用VBScript时,有两个VBScript的特征不克不及利用。由于剧本在服务器端实行,VBScript中供应用户界面的InputBox和MsgBox就不撑持了。别的,VBScript的函数CreateObject和GetObject也不撑持。
由于一切的ASP剧本都在服务器端实行,就不必要象利用客户端剧本时那样为不撑持剧本的扫瞄器用HTML正文标志将剧本埋没起来。一切的剧本命令城市在将内容送往扫瞄器之前处置。但你能够在剧本命令之间或程序中利用正文。象Basic一样,在VBScript中有两种情势的正文可用:REM或单引号。以下例所示:
<%
REMThislineandthefollowinglinearecomments
Printgreetingingreen
greeting="Howareyou!"
<fontcolor="GREEN"><%=greeting%>
%>
在JScript中正文用"//",以下例所示:
<%CallPrintDate%>
<SCRIPTLANGUAGE=JScriptRUNAT=Server>
functionPrintDate()
{
varx
x=newDate()
Response.Write(x.getDate())
}
//ThisisadefinitionfortheprocedurePrintDate.
//Thisprocedurewillsendthecurrentdate
//totheclient-sidebrowser.
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。 |
|