日期:2011-10-12  浏览次数:20830 次

Asp深度揭密(上)
一、Asp基本知识

1.Asp是ActiveServerPages的简称,是解释型的脚本语言环境;
2.Asp的运行需要Windows操作系统,9x下需要安装PWS;而NT/2000/XP则需要安装InternetInformationServer(简称IIS);
3.Asp和JSP的脚本标签是“<%%>”,PHP的则可以设定为多种;
4.Asp的注释符号是“'”;
5.使用附加组件,可以扩展Asp的功能。

例子:

HelloWorld_1.asp
<%="Hello,world"%>

效果:
Hello,world


HelloWorld_2.asp
<%
fori=1to10
response.write"Hello,world"
next
%>

效果:
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world

注意:Asp不区分大小写;变量无需定义也可使用,转换方便;语法检查很松。


二、Asp内置对象的使用:

可以使用下面的任何ASP内置对象,而不必在ASP脚本中特别声明。

1.Request:

定义:可用来访问从浏览器发送到服务器的请求信息,可用此对象读取已输入HTML表单的信息。

集:
Cookies:含有浏览器cookies的值
Form:含有HTML表单域中的值
QueryString:含有查询字符串的值
ServerVariables:含有头和环境变量中的值

例子:

request_url.asp
<%
'获取用户输入,并存入变量
user_id=request.querystring("user_id")
user_name=request.querystring("user_name")

'判断用户输入是否正确
ifuser_id=""then
response.write"User_idisnull,pleasecheckit"
response.end
endif
ifuser_name=""then
response.write"User_nameisnull,pleasecheckit"
response.end
endif

'打印变量
response.writeuser_id&"<br>"
response.writeuser_name
%>

效果:
当访问http://10.1.43.238/course/request_url.asp?user_name=j时:
User_idisnull,pleasecheckit
当访问http://10.1.43.238/course/request_url.asp?user_name=j&user_id=my_id时:
my_id
j

思考:变量是如何在URL中传递和被Asp页面获取的?


request_form.htm
<styletype="text/css">
<!--
.input{background-color:#FFFFFF;border-bottom:black1pxsolid;border-left:black1pxsolid;border-right:black1pxsolid;border-top:black1pxsolid;color:#000000;font-family:Georgia;font-size:9pt;color:midnightblue;}
a:link{color:#1B629C;text-decoration:none}
a:hover{color:#FF6600;text-decoration:underline}
a:visited{text-decoration:none}
-->
</style>

<center>
<formname="course"action="request_form.asp"method="post">
User_id:<inputtype="text"name="user_id"maxlength="20"class="input"><br><br>
User_name:<inputtype="text"name="user_name"maxlength="30"class="input">
</form>
<br><br>
<ahref="javascript:document.course.submit();">提交</a>
</center>

request_form.asp
<%
'获取用户输入,并存入变量
user_id=request.form("user_id")
user_name=request.form("user_name")

'判断用户输入是否正确
ifuser_id=""then
response.write"User_idisnull,pleasecheckit"
response.end
endif
ifuser_name=""then
response.write"User_nameisnull,pleasecheckit"
response.end
endif

'打印变量
response.writeuser_id&"<br>"
response.writeuser_name
%>

注意:form的action的指向,request_form.asp和request_url.asp在源代码上的区别?

2.Response:

定义:用来向浏览器回发信息,可用此对象从脚本向浏览器发送输出。

集:
Cookies:在浏览器中加入一个cookie

方法:
End:结束脚本的处理
Redirect:将浏览器引导至新页面
Write:向浏览器发送一个字符串

属性:
Buffer:缓存一个ASP
CacheControl:由代理服务器控制缓存
ContentType:规定响应的内容类型
Expires:浏览器用相对时间控制缓存
ExpiresAbsolute:浏览器用绝对时间控制缓存

例子:

response_redirect.asp
<%
'去google看看吧
response.redirect"http://www2.google.com"
response.end
%>


response_cookies.asp
<%
'设置和读取cookies
response.cookies("time_now")=now()
response.writerequest.cookies("time_now")
%>

效果:
当访问http://10.1.43.238/course/response_cookies.asp时:
2002-9-116:20:40


response_buffer.asp
<%'re