ASP编程技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1站长专用!!第12章ASP编程技术ASP(MicrosoftActiveServerPages)是一套微软开发的服务器端运行的脚本平台,ASP内含于IIS当中。现在ASP有了新的版本ASP.NET,相信大家经过前面章节的学习已经有很好的掌握。但是,由于ASP很容易学习和掌握,而且经过多年的发展已经积累了相当数量的使用该程序开发的动态网站和应用程序,因此,学习ASP编程技术仍然十分必要。本章将解答ASP编程技术的有关问题,以及学会使用ASP编程技术设计和开发动态网站。目的是让读者掌握功能强大的而且发展成熟的ASP编程技术。本章中主要解答以下内容:如何记录用户访问时间本节将讲解如何记录用户访问网站的时间。如何优化ASP程序本节将讲解如何优化ASP程序。如何在ASP中处理错误本节将讲解如何在ASP中处理错误。如何连接Excel文件Excel是Microsoft公司的Office套件中的一种软件,他主要用来处理电子表格。本节将讲解如何在ASP中连接Excel文件。如何将MDB数据库转换到Excel本节将讲解如何将MDB数据库转换到Excel文件中。ASP中访问数据库的方式有那些在ASP脚本中可以通过三种方式访问数据库:传统的IDC(InternetDatabaseConnector)方式,ADO(ActiveXDataObjects)方式以及RDS(RemoteDataService)方式。本节将介绍这几种方法。如何使用ASP创建日志文件本节将讲解如何使用ASP创建日志文件。如何使用FileSystemObject处理文件FileSystemObject是ASP中很重要的一个处理文件的组件。本节将讲解如何在ASP中使用FileSystemObject。如何验证email地址是否合法本节将讲解如何验证email地址是否合法。如何获取系统信息我要用ASP编程技术开发专业的动态网站2要实现获取系统信息的功能,需要用到Request对象的ServerVariables方法。本节将讲解如何实现这个功能。如何检测浏览器要实现检测浏览器属性的功能,可以使用ActiveX组件BrowserCapabilities。本节将讲解如何实现这个功能。如何获取驱动器信息使用FileSystemObject(FSO)对象模式,可以有计划地处理驱动器和文件夹,就像在Windows资源管理器中交互式地处理它们一样。可以复制和移动文件夹,获取有关驱动器和文件夹的信息等等。本节将讲解如何获取驱动器信息。如何查看源文件本节将讲解如何查看源文件。如何实现网站流量统计本节将讲解如何实现网站流量统计。如何实现在线考试本节将制作一个简单的在线考试系统。如何实现在线投票有了Internet,投票活动就成了一件“轻松愉快”的事情,你要做的事只是动动手,按几下按钮就大功告成了,而且可以立即看到投票结果。此外,在线投票还有一个重要的特点就是:完全透明、不存在“暗箱操作”的可能。本节将讲解如何实现在线投票。如何发送邮件在ASP中发送邮件的方法有很多种,常用的有使用CDONTS.NewMail对象组件和使用Jmail组件。本节将主要介绍使用Jmail组件发送邮件的方法。如何制作留言本网上留言是网络浏览者经常光顾的地方,因此留言本是一个常用的的交流信息手段。本节将讲解如何在ASP中制作留言本。如何实现电子商店现在电子商务已经是大家都熟悉的词了,网上购物、网上售票也不再是陌生的词汇。本节将讲解如何在ASP中实现电子商店功能。如何迁移到ASP.NET由于ASP.NET不支持VisualBasicScriptingEdition(VBScript),但是它却支持VisualBasic.NET,而VisualBasic.NET与VBScript又非常相似。所以大多数包含VBScript的ASP页仍必须经过更改后才能在ASP.NET下运行。本节将讲解如何迁移到ASP.NET。134.如何记录用户访问网页时间问题如何在ASP中记录用户访问网页时间?解决思路有两种很好的方法来记录用户访问网页的时间并统计停留时间,第一个是使用基于ASP服务器的Session,第二个是通过保持客户端cookies。(1)Session技术使用该技术将用到global.asa文件中的Session_onStart和Session_onEnd事件句柄。其3中,当用户打开网页的时候,触发Session_onStart事件,记录访问的时间。当用户离开网页时,触发Session_onEnd事件,记录离开的时间。两个时间差就是用户访问网页的时间。(2)Cookie技术当访问网页时,程序新建一个Cookie并记录当前的时间,在需要统计访问时间的时候就可以读取该Cookie中的时间。下面将使用第一种方法来实现记录用户访问网页时间的功能。具体步骤1.编写ASP文件“example134.asp”,代码如下:%@Language=VBScript%HTMLBODY%Session.Timeout=1Response.Write默认Timeout设置:&Session.Timeout&分钟BrResponse.Write您进入本站的时间:&Session(In)&BrResponse.Write请在1分钟后刷新本页&BrBrifNotIsEmpty(Application(Out))thenResponse.Write您上次进入本站的时间:&Application(In)&BrResponse.Write您上次离开本站的时间:&Application(Out)&BrResponse.Write浏览时间(分钟):&_Datediff(n,Application(In),Application(Out))&BrBrEndIfifIsEmpty(Session(Out))thenResponse.Write刷新前和刷新后Session(Out)的值都为空&BrEndIf%/BODY/HTML2.编写“Global.asa”文件,代码如下:SCRIPTLANGUAGE=VBScriptRUNAT=ServerSubSession_OnStartSession(In)=Now'函数Now取得当前时间。EndSubSubSession_OnEndSession(Out)=NowApplication.LockApplication(Out)=Session(Out)Application(In)=Session(In)Application(Out).UnLockEndSub4/SCRIPT注意:global.asa是一个可选的文件,必须放在根目录下,或是虚拟目录的根目录下。这样,可以确保一个应用程序共享一个global.asa文件。正是它可以在应用程序开始始终追踪应用程序对象与会话对象。专家指点保存文件。把文件“example134.asp”放在“website”虚拟目录下。在浏览器中浏览网页“example134.asp”,如图12.1所示。图12.1记录访问时间135.如何优化ASP程序问题如何优化ASP程序?专家指点下面将介绍一些有关优化你的ASP程序的方法。(1)少用会话变量使用会话变量会降低网站的工作效率,每个新来的访问者都会创建一个会话变量,直到用户离开网站后20分钟后会话变量的内存才被释放。如果可以的话,你可以调整会话结束时间以及时释放被占用的内存(session.timeout=10′10为10分钟)或关闭会话(enablesessionstate=false)。(2)不要缓存ASP页因为缓存ASP页,直到全部页都提交后才输出页面,对于大的HTML页,会让浏览者长时间等待,所以不要用response.buffer缓存你的ASP页。(3)不要使用框架框架会增加浏览器对服务器的请求数,使服务器的负担更重,这就是为什么现在大多数网站不用框架的缘故。你可以用ASP的包含语句(#include)或用scriptsrc=frame.js/script将导航区包含在网站的所有页面内,这样同样有框架的功能。5(4)不要乱用图片图片是网站不可少的,它可以美化你的页面,不过图片对于网页的下载速度影响很大,你应少用图片,用到的图片要用一些图片压缩工具处理,一般处理后的图片都比原来小得多,因此会加快页面的显示速度。(5)不要在网页里使用太大的表格如果你的网页里放一个大的表格,再在这张大的表格里放小的表格和图片、文字,这样就和我前面所说的缓存ASP页一样,直到全部页都下载后才显示页面,因为浏览器要得到表格的/table后才显示这张表格,所以建议你不要使用大的表格,你可以把大的表格分成多个小表格。136.如何在ASP中处理错误问题ASP是非常简单的,以至于许多的开发者不会去思考错误处理,正确处理错误能够让应用程序更加合理。那么如何在ASP中处理错误?专家指点一般有三种主要的错误类型:(1)编译错误这种错误出现一般都是代码的语法问题,因为编译错误而导致辞ASP停止运行。(2)运行错误这个错误是发生在你准备运行ASP时的。例如:如果试图给一个变量赋值,但是却超出了该变量允许的范围。(3)逻辑错误逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要彻头彻尾地检查代码。因为编译错误一般是和逻辑错误一起发生的,一般都能显示出来,所以担心的就只是运行错误。它不但终止ASP的运行,而且给用户丢下一堆很不友好的文字。那么我们要怎样处理运行错误呢!?我们先来看看,ASP唯一提供给我们的错误命令“OnErrorResumeNext”(这里提醒一下初学者,在ASP中只有OnErrorResumeNext语句,没有OnErrorResumeGoto语句)如果你不使用OnErrorResumeNext语句的话,一切运行错误都会发生,这个是致命的,那么就会有一段错误代码“展现”给用户,而且ASP程序也会停止。在程序最上面使用OnErrorResumeNext语句时,所有的错误都会被忽略,程序会自动执行下一条语句。这样程序就会完全执行,出错后用户也不会看到出错信息。但是这样也有不好的地方,那就是如果程序没有按照想像的执行的话,就很难找到到底是哪里出了问题,所以就得在必要的地方对错误进行处理。1.处理错误在ASP中,处理错误的最好的办法就是在程序最底端放上代码来处理错误。这里推荐在每个ASP程序都使用缓冲区。这样的话,如果错误发生,页面就会停止,页面内容也会被清除,这样用户就不会看到错误信息。如下代码:%@LANGUAGE=VBScript%%'设置buffer为True6Response.Buffer=True'开始错误处理OnErrorResumeNext%%'错误处理IfErr.Number0Then'清除页面Response.Clear'显示错误信息给用户%HTMLHEADTITLE/TITLE/HEADBODYBGCOLOR=#C0C0C0FONTFACE=ARIALAnerroroccurredintheexecutionofthisASPpageBRPleasereportthefollowinginformationtothesupportdeskPBPageErrorObject/BBR错误Number:%=Err.Number%BR错误信息:%=Err.Description%BR出错文件:%=Err.Source%BR出错行:%=Err.Line%BR/FONT/BODY/HTML%EndIf%在上面的代码中可以看到,首先设置OnErrorResumeNext,这样出现错误就不会影响程序的执行。2.错误处理和数据库在错误处理中加入数据库的执行是很复杂的。假若有一个程序,有很多的命令去向数据库中添加记录

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功