asp知识整理笔记1(问答模式)
近来有很多的读者向我们咨询学习asp的方法和在学习中遇到的一些问题,其中有一些是初学者经常遇到和面临的问题。为了让读者在学习asp的过程中加深对asp的了解,并能够有效地解决遇到的问题,我们特别收集了比较有代表性的一些问题,在此列举出来并一一给予解答,希望能在这有限的篇幅里为你学习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,就需要在程序第一行指明所用的脚本语言。
问题未完待续,希望这八个问题可以解答大家的疑惑,之后还有许多经典问题与大家分享,不要错过哦