诸起看官莫怪,起这么一个不伦不类的名字,而不是“asp初步(入门、基础)”,原因有二:一怕过于俗套,但更重要的是怕众多的徘徊在asp门槛之外的主页制作群连内容都不曾谋面就逃掉了,实在是可惜!其实,只要您有制作网页的经验,您就应该知道点asp,不然,您的主页恐怕就不够“cool”了。此话怎讲?如果您作主页时一直在写.htm或.html文件,一定会很奇怪,如何在主页上显示ip地址、在线人数?怎样让客户端不能获取自己主页文件的源代码?或者怎样实现时下非常时髦的个性化服务(根据浏览者的不同要求自动生成页面),又或者怎样自己动手制作计数器、留言薄、自动的友情链接甚至实现电子购物?那么,当您读完这篇讲座之后,恐怕就会觉得这些东西的实现原理原来如此简单。既然如此,就继续往下看吧。
一、首先让我们了解一下学习asp的基本要求。
1.asp起步所需个人最低配置:
(1)懂一点html知识(有维护制作网页的经验);
(2)一点数据库知识,如会使用microsoft access或者会使用.mdb数据库。
(3)最好有一点点编程基础(最好是vb系列,要求会使用if…then…end if选择分支语句和循环语句)。如果您一点编程基础也没有,那只有试试看了。
2.调试、运行asp所需软件环境:
(1)win9x+pws(win98的光盘中“\add-ons\pws\setup.exe”安装一下就行了)。至于怎样安装personal web server,很多杂志上都有介绍(不要太多哦,电脑商情报去年就有过一篇《asp个人上手指南》),其实非常简单,没有文章写得那么复杂。如果这关过不了,我只好建议您打电话到编辑部咨询了。
(2)或者使用windows nt4.0+iis4.0(在windows nt4.0 option pack安装程序中),若要在单位里组建intranet,使用这种组合是比较好的。
安装完毕后,如果在浏览器中输入http://localhost/default.asp有结果出来,则安装成功(默认情况下,你的主页文件应放在“\inetpub\wwwroot”目录下)。如果你想将调试好的asp文件上传到远程的主页服务器上,必须确信该服务器支持asp,不过,目前声明支持asp的免费主页空间并不多,这里给大家提供两个:东莞视窗(http://www.homecn.com/)和net668(http://freenet.net668.net/),您可以测试一下我的asp文件运行结果:http://202.103.176.81/grun/kissher/asp/ipfound2.asp。
3.asp学习支持:
(1)asp技术网站:http://www.chinasp.com/,从这里还可以找到一些asp相关的英文站点。
(2)asp动感网络:http://active.t500.net/
(3)windows nt4.0 option pack说明文件和active server pages3.0说明文件。
(4)visual studio6.0的msdn library光盘中有两个文件asp.chm、aspdoc.chm是asp帮助文件,没有可去我的站点http://wuf.bentium.net下载(还可下载本文所有源程序)。
(5)本讲座的目的只是教您能依样画葫芦,在自己的主页中使用asp(包括直接使用能下载到的asp程序),以实用为先。如果你想进一步深入,建议买一本asp手册,如:《asp实务经典》(中国铁道出版社,林金霖编著)。
二、自己动手试试。为了加强感性认识,我们先通过两个实例来说明如何编辑和使用asp文件。打开windows附件的记事本,输入以下代码,保存为wuf1.asp(如果有任何问题,可以去我的主页向我咨询):
<% @language = vbscript %>
<%
response.write “<html><body>” 相当于编程语言中的输出语句
response.write “输出结果到浏览器.”
response.write “</body></html>”
%>
编辑好后,将wuf1.asp放到安装默认web站点的主目录“\inetpub\wwwroot”下,在浏览器中输入http://localhost/wuf1.asp就会看到输出结果。下面再看一个实例(wuf2.asp):
<html>
<body>
ip address = <%=request.servervariables(“remote_addr”)%>
</body>
</html>
输出结果即为本机ip地址,简单吧。在上面两个例子中,我们使用记事本作编辑器(因为asp文件是文本文件),但是,如果真想使用asp的话,我给你推荐以下几个工具:
1. homesite:不仅是制作主页最好的工具之一,编写asp文件也很不错。
2. asp-edit professional:不仅可按不同颜色显示asp代码,还有asp课程和vbscript帮助,这两个文件可去华军主页(http://www.newhua.com)下载。
3. microsoft visual interdev6.0:虽是牛刀,却是编辑asp文件最好的工具,如果你使用过vb,它的好处就不用我多说了。
应该说明的一点是,时下流行的dreamweaver3.0作主页不错,但最好不要用来编辑有asp代码的文件,以免越编越乱。
三、理解asp脚本编程环境
asp(active server pages)是一种功能强大、灵活易学的服务器端脚本编程环境,它的源代码均在服务器端运行,运行的结果以html代码的形式输出到客户端。利用asp不仅可以快速创建交互性的动态网页,而且程序代码完全保密,更重要的是不用考虑客户端用户使用何种浏览器,可以适用于各种浏览器。若使用客户端脚本编程(如:vbscript或javascript),则须考虑用户所使用的浏览器。我们可以这样来理解asp程序:
1.从以上两例可看出,asp文件的扩展名为.asp,一个asp文件通常由asp脚本命令和html标记、文本组成,asp命令必须用“<% %>”括起来(关于<% @language = vbscript %>,先不急于搞清楚,以后再谈)。
2.初学者要看懂asp程序,只要一分为二即可(切不可搅在一起,稀里糊涂)。注意除掉<% %>括起来的代码后,就与你用过的.htm文件一样,你一看就懂。而<% %>括起来的部分在服务器端运行后,得到的输出结果就是你所熟悉的html代码。如response.write “<html><body>”得到的就是<html><body>,而<%=request.servervariables(“remote_addr”)%>的运行结果即为ip地址,如wuf2.asp输出后实际上如同下面:
<html>
<body>
ip address = 16.62.5.60
</body>
</html>
你可以通过选择ie中“查看”菜单下的“源文件”来加深理解。
四、磨刀不误砍柴工——asp基础
1.将结果(字符串信息)输出到浏览器,语法为:response.write 显示的内容。从例wuf2.asp可以看出,可以用“<%=显示的内容%>”来代替“<%response.write 显示的内容%>”。
2.使用变量,wuf2.asp可改为:
<% @language = vbscript %>
<% 单引号后加注释 – wuf3.asp
option explicit 要求变量声明,使用它可减少程序出错的可能,提高效率
dim ipaddr 使用变量前最好先声明
ipaddr = request.servervariables(“remote_addr”)
%>
<html>
<body>
ip address = <%=ipaddr%>
</body>
</html>
3.在程序中使用函数:
<%@ language=vbscript %>
<%response.expires = 0%>
<html>
<head>
<title>使用函数 – wuf4.asp</title>
</head>
<body>
<p>今天的日期: <% = date%></p>
<p>现在的时间: <% = time%></p>
<p>现在的时间: <font color=”#cc0033″><% = time%></font></p>
<%response.write “<p>现在的时间: <font color=#cc0033>” & time & “</font></p>”%>
</body>
</html>
上例中,“&”相当于“+”号,date和time就是函数(注意:这里所获得的时间是web服务器的时间,而不是浏览器所在机器的时间,从这里可验证asp命令是在服务器端执行的),asp还有许多其他的函数,本文不可能一一列举,请自己查阅。
至于<%response.expires = 0%>,我们知道,浏览器可以缓存web页,以加速访问,而response.expires就是用来设置网页保留在客户端浏览器缓存中的时间(分钟)。若设置为0,则表明网页数据不会被保留在客户端的缓存中。它必须放置在<html>标签之前。具体到这个例子中,如果没有这个设置,你只有按“刷新”按钮,时间才会更新,而仅在地址栏敲回车,时间是不会变化的,而加上这句设置后,每敲一次回车,时间就会更新一次。
4. 使用条件语句:
<%@ language=vbscript %>
<% wuf5.asp
if time<=#12:00:00# then
response.redirect “wuf1.asp”
elseif time<=#18:00:00# then
response.redirect “wuf2.asp”
else
response.redirect “wuf3.asp”
end if
%>
日期用##引起来,response.redirect负责引导客户端浏览器显示新的网页,即通常说的重定向,请记住,这个功能是非常有用的。
5. 使用循环语句:
<%@ language=vbscript %>
<%option explicit%>
<html>
<body>
<%
dim i
while i<=5
response.write “<p>” & “还有其他循环结构,如:do…loop while, ” &_
“do while…loop, for…next,for each…next等” & “</p>”
i=i+1
wend
%>
</body>
</html>
从上例中,你应该注意如何使用“_”换行。
6.使用include file。对于一个web站点而言,一般每个页面的顶部或尾部基本上都是相同的,那么你可以将这些相同的部分放一个文件中,然后再在需要时引用它。先如下编辑一个名为comm.asp的文件:
<html>
<head>
<style type=”text/css”>
<!–
font { font-family: “宋体”, “times new roman”; font-size: 9pt}
–>
</style>
</head>
<body>
<table width=”640″ border=”0″ bordercolor=”#9999ff” bgcolor=”#ffffff” bordercolorlight=”#3333ff” bordercolordark=”#cc0000″>
<tr bgcolor=”#006666″ bordercolor=”#009933″>
<td align=”center” height=”18″ colspan=”2″><font color=”#ffffff”>⊙
《丰子家园》版权所有 – </font><font color=”#ffff00″>建站于1997年3月</font>
</td> </tr>
</table>
</body>
</html>
再编辑以下文件:
<% @language = vbscript %>
<html>
<body>
<% wuf7.asp
response.write “输出结果到浏览器.”
%>
<!–#include file=”comm.asp”–>
</body>
</html>
include file可放在网页的任意位置,但必须位所有asp代码块的外部。
此外,还有过程、函数、参数传递等概念,如果你以前未接触过的话,还是先放着为妙,先从总体上了解asp,然后再逐步细化。