资源描述:
《基于_脚本语言_delphi定制asp对象_模型的asp技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2012-07-19################2司01文2建-,0田7胜-利19######2#0#12-07-19########(许昌学院计算机科学技术学院河南许昌461000)【摘要】:说明了完全利用脚本语言实现ASP应用系统开发的缺点和开发一个优异的ASP组件应该注意的问题.提出了在Delphi良好的开发环境中,利用"脚本语言+Delphi定制的ASP对象"这一开发模型,开发ASP应用系统的可行性及优点.【关键字】:ASP对象,脚本语言,Delphi0.引言ASP(ActiveServerPage)是目前非常流行的Web程序设计技术
2、,它主要是用来开发Internet/Intranet应用程序的技术.许多人都知道,可以利用,VisualBasic,Vbscript或利用Visualc/c++等作为开发语言开发ASPWeb应用系统.因此有些人就总结说只有利用Microsoft的开发工具才能开发ASPWeb应用系统.这使得许多Delphi爱好者多少有点失落,其实Delphi也可以象Vi-sualBasic一样快速开发ASPWeb应用系统,而且像Visualc/c++一样兼具弹性和效率.只不过介绍这一块知识的Delphi书籍较少或即便介绍也不够详细罢了,事实上在实际应用中利用Del
3、phi去做ASPWeb应用系统的的确不多.笔者曾利用Delphi作为开形如ObjectPascal这种编译语言,因此并不适合使用脚本语言来编写整个Web应用系统的逻辑程序.它只适合于开发小型或雏形的Web应用系统.这里建议绝对不要把完全使用脚本语言来开发Web系统,否则该Web系统会运行的非常缓慢且不稳定并且没有扩展性也就是说当浏览器用户人数一多,系统就变得不稳定了.正是由于利用纯脚本语言开发ASPWeb系统存在诸多缺点,而针对于其缺点Delphi又能进行一定程度上的弥补.因此利用Delphi开发ASPWeb系统的优点显而易见.2.开发一个优异的
4、ASP对象应该注意的问题服务器端的ASP对象是在服务器计算机上执行的,必须相发工具加ASP技术做过一个上机考试系统,就是利用"脚本语应地编制代码,对服务器端对象的不恰当编程可能导致速度明言+Delphi定制的ASP对象"这种开发模型建造了一个ASPWeb应用系统.下面笔者就从ASP技术、脚本语言的概念入手,介绍完全用脚本语言开发ASPWeb应用系统的缺陷及正确的ASP开发思想,近而说明利用Delphi开发ASPWeb应用系统的可行性及"脚本语言+Delphi定制的ASP对象"这种开发模型的正确性.1.什么是ASP及用脚本语言开发ASP系统的缺点所
5、谓ASP应用系统就是在HTML内内嵌脚本语言,然后以显下降、安全漏洞或者其他更恶劣的问题.因此,应注意以下几个原则:1)充分考虑ASP对象在服务器端运行。服务器端对象不应该具有GUI(图形用户界面),不应该出现需要用户进行人机交互的消息框或其他对话框.因为服务器端对象是在服务器上运行,网络用户是看不到可能弹出的任何对话的。因为对象需要能够同脚本或其他组件进行交流,无需同用户交流.另外,还应该避免试图从应用程序中访问HKEY_CURRENT_USER注册表项,避免使用对线程不安全的控件及程序段.2)服务器端对象必须实现恰当的线程模式。利用单线程组件
6、可能导致服务器限制一个线程的会话,这将带来速度的明显下降应该选择Dephi的Apartment线程模式并且努力避免单线程组件.脚本语言使用ASP对象来取得HTTP要求的信息,根据这些HTTP要求来处理结果,如果有需要的话就用ADO存取数据库.当处理完毕之后再使用ASP对象把结果回传给客户端的浏览器.Microsoft提供了一些默认的ASP对象允许程序员处理HTTP要求.并且把处理的结果主页回传给浏览器.我们可以称这些基本的ASP对象为默认的ASP对象.这些默认的ASP对象包括了Response,Request,Application,Sessio
7、n,Server及ObjectCon-text对象.这些默认的ASP对象的具体功能见参考文献.只是这3)服务器对象应该尽可能地少含方法和属性,每一个方法或属性的调用都需要大量处理。因此,一个编写的好的服务器端对象应该不含明显的方法和属性,对象含有的那些方法和属性会带来更多的参数,参数调用越少,性能就越好,尤其在网络应用程序需要支持许多用户时,这个技巧和许多开发人员的经验是相反的,尽量少的是用带有许多参数的调用也许会带来另外一些问题,如使得编码和调试更加困难,但是速度上的改进与付出的努力是相当的.些默认的ASP对象都是Activex对象,因此它们可
8、以使用在一般应用程序中或脚本语言中.在目前的版本中,Microsoft是把这些默认的ASP对象实现在ASP.DLL之中.而ASP.DLL