目前Internet 上的许多站点,仍然提供“静态”(static)的主页内容。所谓“静态”,指的就是站点的主页内容是“固定不变”的。
当浏览器通过Internet 的HTTP (Hypertext Transport Protocol)协议,向站点服务器(Web Server)要求提供主页的内容时,站点服务器收到要求后,就传送愿已设计好的静态的HTML 的文件数据给浏览器。
一个“静态”的站点,若要更新主页的内容,必须手动的来更新其HTML的文件数据。
动态的站点内容
当在浏览器上填好表格(form)的输入数据,以提供HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个HTML 文件。站点服务器收到要求执行的应用程序,分析表格(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。
ACTIVE SERVER PAGES
Active server pags (动态服务器主页,简称ASP),内含于Internet Information
Server(IIS)当中,提供一个服务器端(server-side)的scripting环境,让你产生和执行动态,交互式,高效率的站点服务器的应用程序。
你不必担心浏览器是否能执行你设计出来的Active Server Pages,你的站点服务器会自动将Active Server Pages 的程序码,解释为标准HTML格式的主页内容,在送到用户端的浏览器上显示出来。用户端只要使用常规可执行HTML码的浏览器,即可浏览Active Server Pages所设计的主页内容。
Active Server Pages 的特点是:
一:无须Compile编译:容易产生,无须Compile 编译或Link 链接即可执行。
二:使用常规文本编辑器,如Windows的记事本,即可设计。
三:与浏览器无关(Browser Independence):用户端只要使用常规的可执行HTML玛的浏览器,即可浏览Active Server Pages 所设计的主页内容,
Script 语言(Vbscript ,Jscript)是在站点服务器(Server端)执行,用户不需要执行这些Script语言。
四:面向对象(Object_Orient).
五: 可通过ActiveX Server components(ActiveX服务器组件)来扩充功能。
ActiveX Server component,可使用Visual Basic,Java,Visual C++,COBOL等语言来实现。
六:Active Server Pages与任何AcTiveX scripting 语言兼容。除了可使用VBscript 或JScript语言来设计,并可通过Plug-in的方式,使用由third party所提供的其他譬如REXX,perl,Tcl 等scripting语言。script引擎是处理script的COM(Component Object Model)对象。
七:Active server Pages的源程序代码,不会传到用户的浏览器,因此可以保护辛辛苦苦写出来的源程序不会外泻。传到用户浏览器的是Active Server Pages执行的结果的常规HTML码。
八:使用server端script产生client端script,你可以使用ASP程序码,在站点服务器执行script语言(VBscript 或 Jscript),来产生或更改在client端执行的script语言。
Active Server Pages 简介(2)
ASP对象
Active Server Pages提供五个内置的“对象”(object),你可以直接调用:
一:Request:取得用户信息。
二:Response:传送信息给用户。
三:Server:提供访问服务器的方法(methods)和属性(properties)的功能。
四:Applicatin:一个应用程序,可以在多个主页之间保留和使用一些共同的信息。
五:Session:一个用户,可以在多个主页之间保留和使用一些共同的信息。
在多个主页之间共享信息
ASP开发的应用程序,可以在多个主页之间保留和使用一些共同的信息,ASP提供两种适用范围,如下:
一:Application:Application 的所有信息,在一个应用程序,多个主页之间,
可以让所有的用户共同使用。
二:Session:Session的所有信息,仅适用于一个用户。
Active Server Pages 简介(3)
.asp文件
Active Server Pages(ASP)制作成.ASP扩展名的文件,一个.asp文件是一个
文本文件,包括:
1.HTML标记(tags)
2.VBscript 或Jscript语言的程序码
3.ASP语法
ASP语法
ASP并不是一个script语言,而是提供一个可以集成script语言(VBscript 或 Jscript)到HTML主页的环境。
HTML标记(tags)使用“<...>”将HTML程序码包含起来,以与常规的文本区分开来;而ASP使用“<%...%>”将ASP的script程序码包含起来。
范例:asp1.asp
显示现在的日期时间
譬如站点服务器asp1.asp文件:
现在是:<%=now%>
再用户端显示:
现在是:1998/5/17 皮棉3:11:20
让我们再看一个例子。
范例:asp2.asp
重复循环
这个ASP例子,在用户端浏览器,浏览执行的结果如下,显示五个重复的句子,字体越来越大。
站点服务器asp2.asp文件的ASP源代码如下:
<%for i = 1 to 5 %>
color=#0000ff>快速掌握Internet技术
<%next%>
Active Server Pages的源代码,不会传到用户的浏览器,可以保护你写的源程序不会外漏。因此,在用户端观看到的是常规的HTML码,你的站点服务器会自动将Active Server pages的 程序代码,解释为标准的HTML格式的主页内容,如下:
快速掌握Internet技术
快速掌握Internet技术
快速掌握Internet技术
快速掌握Internet技术
快速掌握Internet技术
传送字符串到用户端的浏览器
Response.write方法,是最常用的传送字符串到浏览器的方法。语法如下:
Response.write 字符串
以下的例子向用户打招呼:
<%
Response.write "欢迎光临"
%>
也可以用如下方法:
<%...%>
欢迎光临
<%...%>
链接到指定的URL地址
使用Response.redirect方法,可以连接到指定的URL地址。语法如下:
Response.redirect URL
譬如,自动连接到首页:
<%
Response.Redirect "homepage.asp"
%>
须注意一点,若此.asp主页的内容已传送给用户,在使用Response.redirect
,将发生错误!
Active Server Pages 简介(4)
ASP Script语法
使用VBscript或Jscript的ASP语法
ASP与任何ActiveX SCripting语言兼容。除了可使用VBscript或Jscript语言来设计,还可以通过plug-in的方式,使用由third party所提供的其他譬如REXX ,Perl, Tcl等scripting语言
"加以设定,譬如ASP程序码使用Jscript语言:
<%call 函数1%>
设定某一主页的script语言使用"<%@ language = ...%>"加以设定,语法如下:
<% @ language = VBscript %>
注意:@和LANGUAGE之间一定要有空格。
一个主页使用多种语言
你可以在一个主页当中使用VBscript和jscript语言。方法如下:
一:使用多个""加以设定。
二:使用多个"#include"的语法。
#INCLUDE包含其他文件
你可以在ASP程序码中插入另外一个"被包括"的文件,执行到此时,先执行"被包括"文件,再继续执行下去。语法如下:
其中virtual代表虚拟的文件地址,FILE代表绝对的文件地址,如下:
被包括的#include文件,也可在包含其他的"被包括"文件。
不能使用ASP程序码来设定"被包括"的#INCLUDE文件。如下的#INCLUDE文件将无法正确的执行:
<%name=(test & ".inc"%>
#INCLUDE 不能置于<%...%>当中。如下的#INCLUDE文件将无法正确的执行:
<%
for i=1 to n
...
next
%>
将#include置于<%...%>外即可。如下的#include文件可正确的执行:
<%
for i=1 to n
...
%>
<%next%>
Active Server Pages 简介(5)
表格的处理
表格(form)
将输入的数据传送到服务器的方法,是使用HTML标记的表格,在用户端浏览器输入数据,点击"submit"按钮后,将输入的数据传送到服务器加以处理。表格的语法如下:
·action:处理输入的数据的站点服务器程序的url地址。
·method:输入的数据传送到服务器的方式,如下:
get:将输入的数据加在action设定的url地址后面,传送到服务器
post:按照http post传输数据的方式,将输入的数据传送到服务器
·name:设定form的名称
·onreset:点击"reset"的按钮时执行所设定的子程序event
·onsubmit:点击"submit"的按钮是执行的子程序event
·target:指定输入数据结果所显示的窗口名称
ASP取得表格(form)输入数据的方法
由表格的method可知,用户浏览器可以用如下的两种方法传送数据
1:get:用户端将数据加到url后,格式为"?字段1=输入数据1&字段2=输入数据2&...",再将它送到服务器.譬如ACTION设为http://www.abc.com,字段Name的输入数据为jack,字段age的输入数据为15,则使用的get方法,传给站点服务器的数据为http://www.abc.com?Name=jack&age=15.
2:post:用户端利用http信息数据字段将数据传送到服务器.
二:post: 用户端利用HTTP信息数据字段传送到服务器。
ASP取得表格(form)输入数据的方法,是使用Active Server Pages一个内置的"对象"(object)---request,依据get,post方法而异:
get :使用"输入数据=Request.querystring("字段名"),将附加于url后的
数据取出,以取得此字段的输入数据。
post:使用"输入数据=Request.form("字段名"),读取HTTP信息数据字段,以取得字段的输入数据。
Request.querystring范例
范例:aspform.asp
使用Request.querystring("字段名"),将附加于url后的数据取出,譬如:
按此处,通过request.querystring取得name,age
Name:<%=request.querystring("name")%>
\
Age:<%=Request.querystring("age")%>
Request.querystring取出字段name的输入数据为Jack,字段Age的输入数据为15,
在用户端使用浏览器,浏览执行的结果如下:
按此处,通过request..querystring取得name,age
Name:jack
Age:15
Get范例
请看个例子。
范例:aspform.asp
这个例子的表格(form)使用Get方法,在用户端使用浏览器,浏览执行的结果如下,输入表格点击"写完了"按钮后,将显示处理的结果。
站点服务器aspform.asp文件的程序码如下,点击"submit"按钮后,执行站点服务器的asp1b.asp:
asp1b.asp文件的ASP程序代码如下,由于表格(form)使用get方式,ASP程序码
使用"输入数据=request.querystring("字段名"),将附加于URL后的数据取出,
以取得此段的输入数据:
<%=request.querystring("input1")%>你好,你的特性是<%=
request.querystring("input2")%>
Request.form
Request.form读取HTTP信息数据的字段,以取得使用POST方式的表格form输入数据。语法如下:
request.form(name)[(index)|.count]
· name:字段名。
· index:当同一字段输入多个值时,指针值index指定要读取同一字段的那一个值。
范围由1到request.form(name).count
· count:由request.form(name).count可知name字段输入几个值。若无此name字段,
则count=0。
譬如以下的例子,其中input1为字段名,request.form("input1").count
得知input1字段输入几个值:
<%
for I = 1 to request.form("input1").count
response.write request.form("input1")(I)&"
"
next
%>
若input1有两个输入值,譬如为value1和value2,则以上的例子,在浏览器上将
显示:
value1
value2
同一字段输入多个值时,若未采用指针值index指定要读取哪一个值时,将得到多个值,各个值中间以逗点分隔。
你可以使用"for each item in request.form("字段名"),重复取得此字段输入的所有多个输入值,以上的例子也可由以下的程序得到相同的结果:
<%
for each item in request.form("input1")
response.write item & "
"
next
%>
你可以使用"for each x in request.form",重复取得所有字段的输入值,譬如:
<%for ecah x in request.form%>
<%request.form(<%=x%>) = <% = request.form(x) %>
%>
<% next %>
若字段input1有两个输入值,譬如为value1和value2,则以上的例子,在浏览器上将
显示:
inut1=value1
input2=value2
Active Server Pages 简介(6)
POST范例
让我们看一个POST的例子。
范例:aspform.asp
站点服务器aspform.asp文件的ASP程序代码如下:
写完后点击“写完了"按钮时,所执行的asp1a.asp文件的ASP程序代码如下:
<% =request.form("input1")%>你好,你的特性是<%=request.form("input2")%>
若传给asp1a.asp的值,可能为:
input1=jack&input2=小肚微凸+漂亮
则在用户端使用浏览器,浏览执行的结果如下,输入表格点击"写完了"按钮后,将显示处理的结果。
jack,您好,您的特性是小肚微凸,漂亮
若你设定name字段名,则站点服务器将解析此字段的输入值。若你需要未经解析的输入值,只须使用"request.form",不含name字段名。譬如asp1a.asp的ASP程序代码如下:
<% = request.form %>
若输入的与上面的例子相同,于用户端使用浏览器,浏览未经解析的输入值如下:
input1=jack&input2=%A4p%A8%7B%B7L%A5Y&input2=%BA%7D%ABG
Request.querystring
Request.querystring,读取HTTP信息数据字段位,以取得使用GET方式的表格form
输入的数据。
输入的字段和数据将接在
没有评论:
发表评论