- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于BS中可重用COM组件模型的设计与实现
基于B/S中可重用COM组件模型的设计与实现
吴力挽
(湖北大学 数计学院 ,湖北武汉 430062)
摘 要:利用存储过程的预编译机制,将存储过程应用于COM组件模型,是本文讨论的一项关键技术。在该技术的基础上,提出了三种可重用的COM组件模型,并在VB6.0环境下对三种组件给出了详细设计和实现。
关键字:存储过程,预编译,COM组件模型,重用性
引言
COM组件编程是WEB开发中的一项重要技术。由于COM组件编译一次,到处运行的特性,使得COM组件在许多大型信息系统中得到广泛应用。本文将WEB开发最通用的代码模块提取出来,提出了三种常用的COM组件模型,它们分别是数据库连接组件,登陆验证组件,数据分页组件。
一. 三种组件介绍
1.数据库连接组件
数据库连接组件封装的是数据库用户,数据库密码,服务器IP地址等重要信息.在WEB开发中,程序员会将这些参数封装在一个公用模块中,没有经过任何加密处理,因此是很不安全的.一旦程序出现了漏洞,这些重要数据就会被黑客所截取,容易造成系统源码的泄漏和数据库的非法入侵.
2.登陆验证组件
登陆验证组件主要是对用户的登陆进行验证判别,如:管理员的登陆和注册用户的登陆都可以通过该组件来完成.在该组件中,会调用一个登陆验证的存储过程.利用存储过程,一是编译预处理,大大加快了程序的运行速度;二是可以杜绝SQL注入,因为存储过程使用了参数化的传递方式.
3.数据分页组件
数据分页组件是对大数据量分页的一种高效处理组件.充分利用分页存储过程,使得分页处理速度大大加快.经过F5键刷新测试,使用存储过程的分页组件响应延迟只有零点几秒,而没有使用分页存储过程响应延迟是2秒以上.
二. 三种组件的设计和实现
1.数据库连接组件
启动VB6.0,新建一个Active dll的工程.单击”工程”,选择”引用”,钩选” microsoft? active? server? pages? object? library”和”microsoft activeX data objects 2.1 library”两项.将类模块名改为dbconn,将工程的名称改为dbclass,保存工程文件dbclass.vbp和类文件dbconn.cls.
在dbconn.cls中编写如下代码:
下面是变量的声明部分
Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session
下面定义公用函数(在VB中访问ASP对象,即在VB中可以用MyApplication等同于ASP中的Application、MyRequest等同于ASP中的Request、 MyResponse等同于ASP中的Response、 MyServer等同于ASP中的Server、 MySession等同于ASP中的Session 使用)
Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub
释放变量,以利于内存回收
Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub
以上的函数是必须的,定义一个函数,里面定义了数据库的驱动,用户名,密码,数据库名
Public? Function? dbdriver()? As? Variant datasource? =? driv
您可能关注的文档
最近下载
- 幼儿园食品供应商的会议记录.docx
- 2025年国企建设工程项目安全文明施工标准化图集(三维图示)ppt315页.pptx
- 《GB_T 21431 - 2023建筑物雷电防护装置检测技术规范》最新解读.pptx VIP
- 广州市住宅工程质量潜在缺陷保险质量风险管理服务规程.doc VIP
- 小数巧算思维课(课件)五年级上册数学人教版(1).pptx
- 《疫苗研究》课件.ppt VIP
- 【A纺织公司存货管理问题及完善对策研究(数据图表论文)】7500字.docx VIP
- alice`s adventures in wonderland(爱丽丝漫游奇遇记).pdf VIP
- 糖心苹果创业项目.pptx VIP
- 浙教版五年级上全册人自然社会教案.pdf VIP
文档评论(0)