2.2 ASP的内部特点
2.2.1.ASP内部6大特点
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如表1所示:
对象名称 Request Response Server Session Application 功能描述 从客户端取得信息 将信息送给客户端 提供一些Web服务器工具 储存在一个Session内用户信息,该信息仅可被该用户访问 在一个ASP-Application中让不同的客户端共享信息 ObjectContext 配合Microsoft Transaction服务器进行分布式事务处理 (表1 ASP 内部6大对象及其功能)
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。 我们可以用以下的语法直接使用这些对象:对象/属性/方法/数据集合。
2.2.2. Global文件
每一个以Active Server Pages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Application的缩写),它位于每一个应用程序的基点目录之下。当Active Server Pages做下面两个动作时,Server便会去读Global.asa文件:
①.Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。
②. 不具有任何Session的客户端向Server请求一个ASP文件时。
前面已经提到Application和Session这两个ASP的内部对象。Application对象内的
11
信息供所有正在执行该应用程序的用户分享,它创建于Web Server启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。可见,Global.asa文件的调用与Application与Session这两个对象密切相关。事实上我们通常在Global。asa文件中写入以下内容:
① Application或Session的开始事件(Start-event)。 ② Application或Session的结束事件 (End-event)。
这样,在一个Application或Session对象被创建或结束时,系统会自动完成Global.asa文件中写入的相应事件。值得注意的是,如果一个Application与一个Session同时开始,Active Server Pages会先处理Application的开始事件,而如果一个Application与一个Session同时结束,Active Server Pages则会先处理Session的结束事件。
2.3 利用ADO访问数据库
ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:
①创建数据库源名(DSN) ②创建数据库链接(Connection) ③创建数据对象 ④操作数据库
⑤关闭数据对象和链接 每一步的做法如下:
12
2.3.1.创建数据源名
DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。
2.3.2.创建数据库链接
链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
set Conn=Server.createObject(“ADOBD.CONNECTION”) 这条语句创建了链接对象Conn,接下来:
connstr=\\
conn.Open connstr
这条语句打开链接,用到了DSN,本例为“connstr”。
以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。
2.3.3.创建数据对象
ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属
13
性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:
Set Record Set=Conn.Execute(sqtStr)
这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如:
rs=“SELECT * FROM shop_books” Set Record Set=mConn.Execute(rs)
这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。
2.3.4.操作数据库
我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:
rs=“INSERT INTO tab1 VALUES(1,2)” mConn.Execute(rs) /执行插入操作
2.3.5.关闭数据对象和链接对象
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。
Record Set.close Set Record Set=Nothing /关闭创建的数据对象 mConn.close
14
Set mConn=Nothing /关闭创建的链接对象。
2.4 ASP与CGI的比较
CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。 Active Server Pages开发Web应用程序的特点: 1. 2. 3. 4. 5. 6. 7. 8. 9.
完全嵌入HTML,与HTML、Script语言完美结合。 无须手动编译和链接程序。
面向对象,并可扩展ActiveX Server组件功能。 使用脚本语言(JavaScript、VBScript或PERL)编写。 存取数据库轻松容易(使用ADO组件)。
可使用任何语言编写自己的ActiveX Server组件。 无讨论器兼容问题。
程序代码隐藏,客户端仅能看到ASP输出的HTML文件。 缩短Web开发时间。
相比之下,使用CGI开发Web应用程序具有以下缺点: 1. 2. 3. 4. 5.
不易与HTML文件集成。
须使用其他较复杂的语言来开发CGI程序。 程序开发时间较长。 存取数据库不容易。
每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口
(Port),降低Server效率。
可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库应用论文基于AS毕业论文P网上论坛的设计及应用论文(3)在线全文阅读。
相关推荐: