有没有人整理过asp学习过程中的笔记摘要?
最近在复习asp
最开始接触asp的时候,看asp入门系列的书,然后尝试自己做一个网站,哪里不懂了就去翻看相关的资料,从来都没有很系统的学习过asp,当然也会漏掉很多非常有用但是我却没有接触过的功能、技巧或者编程思路。于是重新开始看书,顺便摘录了一些有用的或者将来可能会忘记的片断。念书的时候都没有这么认真地想要做笔记,其实也不容易,烦人,所以写了一点点就放弃了。也难怪了,名校高三学生的笔记就要比教学课本值钱多了,人家已经把重点,难点,疑点都提出来了么。
有没有哪个大大写过系统的asp学习笔记?有的话借来看看。以下是我开了个头的笔记
Asp学习笔记
一、 基础
1、 避免在同一个页面上混用脚本语言
如果同一页面上有几种脚本语言,asp不得不一个接一个加载多种脚本引擎,并把相应的代码送给相应的引擎。这将降低处理速度,增加内存使用量。另外,假如编写的是一个顺序执行的代码,可能会与他们在页面中出现的顺序不同的顺序执行。
例如如下代码,无法确保Jscript代码结果在网页中首先出现还是第三出现
<%@LANGUAGE=”Jscript”%>
<HTML>
<BODY>
<SCRIPT RUNAT=”Server” language=”Jscript”>
Response. write (‘First<BR>’)
</SCRIPT>
<SCRIPT RUNAT=”SERVER” language=”vbscript”>
Response. write “Second<br>”
</script>
<%
Response.write (‘Third<br>’) //Jscript is the default in this page
%>
</body>
</html>
2、 在脚本和其他内容中避免过多的环境切换
每当asp遇到一个脚本段,必须执行并把结果发到iis,然后再次返回去解释页面。因此,使用response.write语句(只创建发往客户端的文本)能使页面的效率更高。比如下面的VBscript:
<body>
<% intResult=7+6-1
strTheSum=”seven plus six minus one”
response.write “The result of calculating “ & strTheSum & “ is & CStr(intResult)
%>
</body>
与下段相比,效率更高:
<%
intResult=7+6-1
strTheSum=”seven plus six minus one”
%>
<body>
The result of calculating <% = strTheSum %> is <%=CStr(intResult)%>
</body>
3、 无脚本的asp
Asp处理不包括任何脚本的.asp页的速度是很快的,假如正在创建的站点或web应用程序文件最终可能使用asp,最好让这些文件使用.asp文件扩展名,而不用考虑它们是包含服务器端脚本还是仅仅包含静态(html和文本)内容。
二、 请求和响应的处理(request对象和response对象)
1、 访问一个asp集合来下载一个值是费时的需计算资源的过程,因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用集合中的一个值,应该考虑将其存贮成为一个局部变量,例如:
strTitle=request.form(“title”)
strFirstNmae=request.form(“FirstName”)
strLastName=request.form(“LastName”)
if len(strTitle) then strTitle=strTitle & “”
if strFirstName=”” then
strFullName=strTitle & “” & strLastName
else if len(strFirstName)=1 then
strFullName=strTitle & strFirstName & “.” & strLastName
else
strFullName=strTitle & strFirstName & “” & strLastName
end if
2、 request对象的一个特殊功能
strPage=request(“page”)
当不能保证所需要的值在request.form中或者在request.querystring中的时候可以用这方法,这将按序搜索全部的集合——querystring、form、cookies、clientcertificate、servervariables,直到发现第一个匹配值的名称。这样做比直接访问适当的集合效率低且不安全,除非能绝对保证这个值不会出现在另外一个集合。总之,使用“搜索全部集合”技术要格外小心,且只在没有其他技术能够提供你需要的结果时使用。
3、 遍历cookies集合
为了使用cookies集合更加方便,可使用名称为Haskeys的附加属性。假如访问的cookie本身也是一个集合,即它是一个多值的cookie,这将返回True。使用Haskeys属性可以遍历完整的request.cookies集合,从而获得所有cookie的列表及它们的值。
For each objItem in request.cookies
If request.cookies(objItem).Haskeys then
For each objItemkey in request.cookies(objItem)
Response.write objItem & “(“ & objItemkey & “) =” _
& request.cookies(objItem)(objItemkey) & “<br>”
Next
Else
Response.write objItem & “=” & request.cookies(objitem) & “<br>”
End if
Next
4、 遍历servervariables集合
<%
For each item in request.servervariables
Response.write item & “=” & request.servervariables(item) & “<br>”
Next
%>
用for each….next可以遍历所有的集合