日期:2009-07-15  浏览次数:20831 次

利用一个Query字段在不同主页间传递信息时必须进行Encode操作,因为如果不这样做,你很可能使得接受信息的那边接受到一些你所不期望的奇怪字串。

注意

其实如果Query字段中没有一些特殊字符,例如空格和标点符号等,那么也可以不进行Encode操作,例如上个小节的例子就是。

其实,这种Encode操作是十分容易的,有一个特定的方法来执行这种操作:那就是Server.URLEncode()方法,看下面这个例子:

<a href=../../“response.ASP?Message=<%=Server.URLEncode(“This Query String has been URL encoded.”)%>“>点击这里</a>

请注意不要对Query字段的名称以及等号进行Encode操作,你只需要将其值进行Encode操作就可以了。

进行了encode操作后,Query字段如下:

Message=This+Query+String+has+been+URL+encoded%2E

你并不需要考虑对上面的字串再进行解码,Active Server Page会自动进行这样的处理。例如,假设response.ASP中有这样的脚本:

<%=Request.QueryString(“message”)%>

这时,显示结果为:

This Query String has been URL encoded.

Server对象

  功能:用于限定脚本执行的时间;指定文本输出的方式;以及创建组件实例。
  格式:Server.方法|属性 

ScriptTimeout属性:
功能:用于限定一个脚本文件执行的最长时间,若超时,则自动终止。
格式:Server.ScriptTimeout=时间
参数说明:时间---单位为秒,默认时间是90秒。
例:

<%
server.scripttimeout=150
'设置脚本文件执行的最长时间为150秒
%>
<HTML>
<head><title>tianchuang</title></head>
<body>
<%
randomize
'设置随机种子
star=6
for k=1 to 5
nextsecond=dateadd("s",5,time)
do while time<nextsecond
loop
'上面的这个循环起延时作用
star=star+3*rnd()-1
'产生一个新的随机数
for I=1 to star
Response.write(" !")
next
Response.write("*<p>")
next
%>
</body>

Mappath方法:
功能:用于将指定的相对的虚拟路径映射到服务器上相应的物理目录上。
格式:Server.Mappath(虚拟路径字串)
注:虚拟路径字串若以“/”或“\”字符开始,则视为完整的虚拟路径。
例:

<%
path=server.mappath(request.servervariables("path_info"))
response.write path
%>

HTMLEncode方法:
功能:用于将指定的字串按HTML的编码输出。
格式:Server.HTMLEncode(文本字串)
例:

<%
Response.Write Server.HTMLEncode("<B>李小龙先生</B>向您推荐这是一本<I>非常好的书。</I>")
%>

URLEncode方法:
功能:用于将一个指定的字串按URL的编码输出。
格式:Server.URLEncode(文本字串)
注:文本字串中的空格用“+”来代替。
例:

<%=server.urlencode("Hello World!(<i></i>)")%>

CreateObject方法:
功能:用于创建已注册到服务器上的ActiveX组件实例,扩展脚本的功能,如数据库和文件的访问等。
格式:Server.CreateObject(ProgID)
注:当服务器完成该ASP页时,组件实例将会被清除;或使用语句释放其占用的资源:<%set 组件实例名=nothing%>
例:

set conn=Server.CreateObject("ADODB.connection")
set conn=nothing