ASP 设计常见问题及解答精要
1、问题:ASP 是一种编程语言吗? 答:ASP 不是编程语言,而是一种开发环境。ASP 提供了一个在服务器端执行指令的环境, 它利用了特殊的符号<%%>来区分 HTML 与必须经过服务器翻译 才能送往客户端的命令。 它可 以执行的指令包括 HTML 语言,Microsoft VBScript 和 Microsoft Jscript 等,因此可以制作出功能 强大的 Web 应用程序。 2、问题:在 Web 服务器上容纳多个 Web 站点,能使用 PWS 吗? 答:在 PWS 上只能容纳一个 Web 站点。为了在相同的
计算机上容纳多个 Web 站点,需要 使用 Windows NT Server 或 Windows 2000 Server/Professional 和 IIS。 3、问题:如何使用 6 个内置 ASP 对象? 答:ASP 提供了多个内嵌对象,无须建立就可以在指令中直接访问和使用它们,这六个对象 主要有:请求(Request)对 象、响应 (Response)对象 、
工作阶段(Session)对 象 、应用程序 (Application)对象、服务器(Server)对象、Cookies 对 象,这六个对象中的服务器(Server)对象可 加载其他组件,这可以扩展 ASP 的功能。 使用 Server.CreateObject 所建立的对象,它的生命周期在它建立时开始,在它所在的网页 程 序 结 束 时 结 束 。 如 果 想 要 让 该 对 象 跨 网 页 使 用 , 则 可 以 用 Session 对 象 来 记 录 Server.CreateObject 所建立的对象。 4、问题:为什么在使用 Response.Redirect 的时候出现以下错误:“标题错误,已将 HTTP 标题写入用户端浏览器,对任何 HTTP 的标题所作的修改必须在写入页内容之前”? 答:Response.Redirect 可以将网页转移至另外的网页上,使用的语法结构是这样的: Response.Redirect 网址,其中网址可以是相对地址或绝对地址,但在 IIS4.0 使用与在 IIS5.0 使 用有所不同。 在 IIS4.0 转移网页须在任何数据都未输出至客户端浏览器之前进行,否则会发生错误。这 里所谓的数据包括 HTML 的卷标,例如:<
HTML>,< BODY>等,而在 IIS5.0 中已有所改进, 在 IIS5.0 的默认情况下缓冲区是开启的,这样的错误不再产生。 在 Response 对象中有一 Buffer 属性,该属性可以设置网站在处理 ASP 之后是否马上将数 据传送到客户端,但设置该属性也必须在传送任何数据给客户端之前。 为 保 险 起 见 , 无 论 采 用 何 种 ASP 运 行 平 台 , 在 页 面 的 开 始 写 上 < % Response.Buffer=True %>,将缓冲区设置为开启,这样的错误就不会发生了。 5、问题:缓冲输出对于网页传输有没有影响?
答:在比较大的 Web 页中,第一部分在浏览器中出现可能会有一些延迟,但是加载整个 Web 页的速度比不用缓冲要快。 6、问题:在没有表单提交时查询字符串的值是否可以使用 Request.QueryString 集合? 答:Request 对象用于读取浏
览器的数据,它除了可以读取表单字段的内容,还可以用来读 取附带在网址后面的参数,无论请求字符串怎样添加到链接地 址中对 Request 来说都没有什么 不同。使用 get 方法提交一个表单,还是跟随一个附加查询串的链接查询字符串中所有的值,都 可以使用 Request.QueryString 集合。 7、问题:我在 ASP 脚本中写了很多的注释,这会不会影响服务器处理 ASP 文件的速度? 答:在编写程序的过程中,作注释是良好的习惯。经国外技术人员测试,带有过多注释的 ASP 文件整体性能仅仅会下降 0.1%,也就是说在实际应用中基本上不会感觉到服务器的性能下 降的。 8、问题:需不需要在每个 ASP 文件的开头使用< % @LANGUAGE=VBScript % >? 答:在每个 ASP 文件的开头使用< % @LANGUAGE=VBScript %>代码是用来通知服务器现 在使用
VBScript 来编写程序,但因为 ASP 的预设程序语言是 VBScript,因此忽略这样代码也可 以正常运行, 但如果程序的脚本语言是 JavaScrip,就需要在程序第一行指明所用的脚本语言。 9、问题:我有没有必要在每一个 ASP 文件中使用“Option Explicit”? 答:在实际应用中,VBScript 变