一、ASP文件结构
ASP文件以.asp为扩展名,其中可以包含以下内容
- HTML标记:HTML标记语言包含的脚本
- 脚本命令:包含VBScript或Javascript脚本
- ASP代码:位于”<%“和"%>“分隔符之间的命令。在编写服务器端的ASP脚本的时候,也可以在”<script>"和"</script>“标记之间定义函数、方法、模块等,但必须在<script>标记内指定RunAT属性值为“Server”。如果忽略了RunAT属性,脚本将在客户端执行
- 文本:网页中说明性的静态文字
1 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <title>JSP程序</title> 7 </head> 8 当前时间为:<%= Now()%> 9 <body> 10 </body> 11 </html>
浏览器显示结果:当前时间为:2018/4/6 星期五 16:12:51
二、声明脚本语言
在编写ASP程序的时候,可以声明ASP文件所使用的脚本语言,以通知Web服务器该文件是使用何种脚本语言来编写程序的。声明脚本语言有3种方法
1.在IIS中设定默认的ASP语言:在配置IIS服务器时,可以设置ASP程序所使用的脚本语言
2.使用@LANGUAGE声明脚本语言
在ASP处理指令中,在ASP的开始设置使用的脚本语言。使用这种方式声明的脚本语言,只作用于该文件,对其他文件不会产生影响
<%@LANGUAGE=scriptengine%>
scriptengine表示编译脚本的脚本引擎名称,Internet信息服务(IIS)管理器中包含两个脚本引擎,分别为VBScript和Javascript。默认情况下文件中的脚本将由Vbscript引擎进行解释
注意:使用@LANGUAGE处理指令声明脚本语言的语句必须在文件的第一行,否则出现错误
3.使用<script>标记声明脚本语言
通过使用<script>标记中的language属性值,可以声明脚本语言。需要注意的是,此声明只作用域该标记之内。
<script language=scriptengine runat="server">脚本代码</script>
其中scriptengine表示编译脚本的脚本引擎名称,runat属性值设置为server表示脚本运行在服务器端。
1 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <title>JSP程序</title> 7 </head> 8 <script language="javascript" runat="server"> 9 Response.Write("Hello 沃德") 10 </script> 11 <body> 12 </body> 13 </html>
三、ASP与HTML
在ASP网页中,ASP程序写在<%%>之中,并在浏览器中打开网页时产生动态内容。它与HTML标记两者互相协作,构成动态网页。ASP程序可以出现在HTML文件的任意位置,同时在ASP程序中也可以嵌入HTML标记
1 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <title>ASP程序中嵌入HTML标记</title> 7 </head> 8 今天是: 9 <% 10 Response.Write("<font color=red>") 11 Response.Write(date()) 12 Response.Write("</font>") 13 %> 14 <body> 15 </body> 16 </html>
四、ASP指令的使用
在ASP中通过指令可以完成特定的功能,如向客户端浏览器输出信息、包含其他文件等。
1.使用输出指令
在ASP中使用输出指令向客户端浏览器输出指定的信息,<%=expression%>
其中expression为表达式,"<%"和"%>"之间使用赋值符号可以显示表达式的值。ASP输出指令等同于调试Response对象的Write方法显示指定的值
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>ASP程序中嵌入HTML标记</title> </head> <% Dim str '定义str str="这句话会在浏览器显示的" '为变量str赋值 %> <%=str%> '使用输出指令 <body> </body> </html>
2.使用#include指令包含文件
在ASP文件中,可以使用包含指令#include调用指定路径的其它文件
语法:<!--#include keyword=filename-->
其中,keyword表示指令关键字,它可以为file或virtual关键字;filename表示指定文件的路径
注意:使用#include指令包含的文件中不能存在于现有文件中重复的HTML文件结构
在调用#Include指令的语句中,可以使用file和virtual关键字指定文件的相对路径或虚拟路径。下面介绍二者的区别
a.如果文件在网站根目录下,可以直接使用file和virtual关键字引用文件的名称。
b.如果同一站点下有两个虚拟目录,分别为ASPWeb1和ASPWeb2,并且在ASPWeb1下的文件需要引用ASPWeb2下的文件,则需要使用virtual,不能使用file
c.在#include file语句中使用”../"表示文件的相对路径;在#include virtual语句中使用“/"表示相对于网站根目录的文件相对路径