前言:
现在小伙伴们对“asp的正确输出方法”可能比较关怀,朋友们都需要了解一些“asp的正确输出方法”的相关资讯。那么小编同时在网络上搜集了一些有关“asp的正确输出方法””的相关资讯,希望大家能喜欢,你们一起来了解一下吧!以我设计的生产物资信息管理系统为例,与数据库连接用到2个asp文件:
第1个:Jxc_Conn.asp
<%
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
Server.ScriptTimeout=90
On Error Resume Next
'******打开主数据库
'数据库所在目录
dbfolder="data/"
'数据库名称
dbname="Jxc_PoMis.mdb"
%>
1.Buffer
Buffer的优点:
Buffer从英文直译过来的意思是“缓冲区”,这里我们也可将它称为缓冲。
缓冲区是服务器端存储数据的地方,客户端所获得的数据可以从程序的执行结果直接输出,也可以从缓冲区输出。区别是两种方式在速度上的差异:
在web中,当一个asp程序被请求的次数不多时,二者基本上没有什么差异,至少我们感觉不出来。
但是当有很多人请求一个asp程序时,有没有缓冲区,速度就有明显的区别。没有缓冲区,每个请求asp程序的人的客户端所得到的结果都是asp程序执行一次的结果,有缓冲区时,服务器预先将asp程序执行结果缓冲,访问时每个客户端所得到的结果就是缓冲区内缓存的结果。
比如有10000个用户同时访问一个asp页面,若这个asp程序没有缓冲,那么程序将被执行一万次,服务器负荷的增大,直接导致客户端打开页面速度变慢;
如果这个asp程序执行结果被缓冲了,那么,每个客户端直接从缓冲区获得数据,服务器将不会因为访问增加而增加程序执行次数,因此客户端打开页面的速度也就比上一种情况要快。这就是Buffer的优点。
如何将asp程序缓冲
这个问题其实很简单,只要在asp程序的第一行加上:
<% Response.Buffer = True %>
就可以了,也可以根据需要,中途用response.clear把之前的内容清掉,或者直到所有程序执行完或者遇到
<% Response.Flush %>或<% Response.End %>语句,释放缓冲区的信息。
2.ExpiresAbsolute
ExpiresAbsolute属性指定缓存于浏览器中的页的到期日期和时间。
Now()-1,通俗地讲,它是让页面立即过期,不缓存页面,也就是说用户访问这个页面,每次是从服务器请求得来的最新数据。
所以这里指的是页面过期,重新向服务器进行HTTP请求。
3.Expires: 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区中的版本。一般情况下,当用户请求WEB服务器时,服务器把请求回复给客户端。在客户端,浏览器把缓存作为一种加快速度的策略,就是当请求时先检查缓存的情况,如果有就直接调缓存了,而不请求服务器了。 在WEB程序设计中,有时为了防止重复的提交或者严格的次序等,必须让用户的数据立即在使用后就过期,当用户后退时就显示过期而不能继续使用。也算是为安全考虑的吧。
一般,response.expires写在页面的最上端,后面跟的是一个时间,就是过期的时间,0表示立即过期。
4.CacheControl:决定代理服务器是否能缓存 ASP 生成的输出。
5. response.addheader "pragma","no-cache" 是不要网页存于缓存之中。相当于<meta http-equiv="pragma" content="no-cache">,addheader 是发送给浏览器 HTTP 头信息,将该信息存在浏览器的头信息里。
5. Server.ScriptTimeout 这个属性给定Asp脚本执行的最大时间,如果asp程序的运行时间超过了这个属性规定的值,Asp就会报错。由于IIS默认的ScriptTimeout值是90秒,这是在IIS Metabase中设置的,所以我们可以在我们的程序中改变这个值,例如设为100,这样就把Asp程序执行最大时间改为100秒了, 不过这里有一点需要注意的,就是设置的ScriptTimeOut值,要比IIS默认的设定值大, 也就是说如果我们这样设定ScriptTimeOut的值:
<%Server.ScriptTimeOut=60%>
就不起作用了, 因为默认值是90,设定的值只能比90大如果比90小的话,那么仍然以90秒为准。
当然,IIS默认的90秒也是可以更改的,具体可以参考如何修改IIS Metabase的相关文章。
第2个:Jxc_Config.asp
<%
'*******打开主数据库联接
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbfolder&dbname)
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connstr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "<p style='font-size:26pt' align=center>数据库连接出错!</p>"
Response.Write "<p style='font-size:9pt' align=center>可能出错原因:年初进行数据库的初始化,</p>"
response.write "<p style='font-size:20pt' align=center>待全厂物资盘点完毕后可正常使用。</p>"
Response.End
End If
'***************
%>
这个文件相对简单,是定式,绝大多数连接Access数据都这么用,相关于一个程序块,拿过来用就可以。
写出来的过程,也是学习的过程,这中间不可避免地会出现这样那样的错误,在这里诚恳地希望大家多多批评指正,我也好及时改进,谢谢。
下一节介绍什么呢,大家可以在评论区讨论。
标签: #asp的正确输出方法 #asp连接数据库的三种方法 #asp怎么连接数据库 #asp连接数据库登录页面打不开 #asp连接数据库的三种方法是什么