ASP技术简介参考

2020 年 9 月 20 日1830

  一、ASP技术简介

  ASP技术 ASP(Active Server Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface通用网关接口)的技术。目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。 简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet 上的许多站点,仍然提供"静态"(static)的主页内容。 所谓"静态",指的就是站点的主页内容是"固定不变"的。 当浏览器通过Internet 的HTTP (Hypertext Transport Protocol)协议,向站点服务器(Web Server)要求提供主页的内容时,站点服务器收到要求后,就传送原已设计好的静态的HTML 的文件数据给浏览器。 一个"静态"的站点,若要更新主页的内容,必须手动的来更新其HTML的文件数据。而随着Web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。当在浏览器上填好表单(form)的输入数据,以提供HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个HTML 文件。站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。 根据用户请求生成动态主页的传统方法有CGI、ISAPI等。CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术和另一普遍使用的开发动态网页的技术Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如javascript和IDC(Internet Database Connector)等功能有限,不敷使用。 ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。ASP与常见的在Client端实现动态主页的技术如Java applet、ActiveX Control、VBScript、javascript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端技术的Script命令则是由浏览器来解释执行。由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。 ASP通过后缀名为.asp的ASP文件来实现,一个.asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。当用户从浏览器输入了.asp文件的地址后,浏览器就将这个URL请求发给Web Server,如果Web Server上装了ASP,就调用ASP。ASP读出相应.asp文件,解释并执行命令,动态生成一个HTML页面回传Web Server,然后Web Server再把结果发送给浏览器。ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到HTML文件中(将HTML文件的后缀名改为.asp),这使得HTML文件的编写与脚本的开发融合在一起。通过ASP内置的对象、服务器组件(Server Component)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。ASP比较网关及服务器扩展模式有着以下优点:

  (1)完全与HTML文件融合在一起;

  (2)容易创建,不需要其它编译、链接程序;

  (3)面向对象的并通过ActiveX Server对象可扩展。

  二、电子商务数据访问方式

  电子商务是指通过电子方式,并在网络基础上实现物资、人员过程的协调,以便商业交换的活动。在电子商务系统中,Web提供了与客户进行通信联络的有效手段,利用Web技术,实现Web服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。 实现Web服务器与数据库的连接一般有两种方法:一种是利用中间件技术在两者之间建立连接和通信,如CGI(通用网关接口)和API(应用程序编程接口)。Web服务器通过调用CGI程序实现与Web浏览器的交互,即CGI程序接受浏览器发给Web服务器的信息,进行处理后,将相应结果再送回给Web服务器,通过Web服务器将信息传送给浏览器。但CGI程序在响应速度和资源利用等方面有较大局限性,客户端每请求一个CGI程序,服务器端便打开一个进程,当请求的数量较大时容易引起瓶颈现象,开发人员常利用API编程来扩展服务器功能,API程序占系统资源少,运行效率较高,但它的编程较CGI程序更为复杂;另一种是由浏览器中的Java小应用程序(Java Applet)通过浏览器访问Web服务器上的`数据库,利用了JDBC(Java Database Connectivity)技术,它通过JDBC提供的API实现对Web Server的访问。由于Java Applet本身的局限性,目前大多数的应用是基于中间件技术的。 ASP也是属于中间件的一种模式,但在Windows平台上它比较网关及服务器扩展模式有着较大的优点。网关的最大特点是它的平台无关性,但网关程序通常较难编写和改变。网关程序通常是一个独立的程序,并不和HTML文件融合在一起,它需要用如C、C++、VB、Perl等语言来编写独立的应用程序,而ASP应用改变了这一点。使用ASP不仅可以读取Access和 SQL Server的数据库,而且还可以读取其他ODBC(Open Database Connect 开放式数据库互联)兼容的数据库。在ASP中访问数据库是通过ADO(ActiveX Database Object活动数据对象)及事务处理语句来实现的。ADO是一种操作Microsoft所支持的数据库的方法,是一项容易使用并且可扩展的将数据库访问添加到 Web 页的技术。ADO对象的使用与DAO(数据访问对象)、RDO(远程数据对象)的方式相似。在ASP中,ADO可以看作是一个服务器组件,更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。

  三、ASP在电子商务中的应用

  在电子商务中,对用户而言,进行网上信息查询的目的是寻找自己需要的产品或服务,而对于商品或服务提供者来说,其目的则是向用户推销自己的产品或服务。因此,让用户通过浏览器查询服务器的后端数据库是许多Web服务提供者必需有的服务,ASP通过内置的ADODB组件来实现这一功能。可以使用ADO去编写紧凑简明的脚本以便连接到ODBC 兼容的数据库和 OLE DB 兼容的数据源。具体的操作步骤可以归纳为以下几步:

  ① 创建数据库源名(DSN) ADODB通过ODBC工作,因此要在ODBC中设置DSN(数据源名)。打开Windows的"控制面板",双击"ODBC"的图标,然后选择"文件 DSN "的属性页,单击<添加>,选择数据库驱动程序,然后单击"下一步",按照屏幕的指示键入数据源文件的名称,然后单击"下一步",再单击"完成"创建数据源。

  ②创建数据库链接 链接用以保持一些关于正在访问的数据的动态信息,以及链接者信息。利用ADODB的成员函数Open和先前设定的DSN与数据库连接,其语法如下: SetConnect=Server.CreateObject("ADODB.Connection") #39;创建了链接对象Connect。 Connect.Open("DSN=dsnname;UID=userID;PWD=password") #39;打开链接。dsnname为数据源名;userID为用户名;password为用户口令。

  ③创建数据对象 ADO中的数据对象通常保存的是查询结果。RecordSet 是ADO中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。其创建方法如下: Set RecordSet =Connect.Execute(sqtStr) #39;创建并打开了对象RecordSet ,sqtStr是一个串,代表一条标准的SQL语句。例如: sqlStr="SELECT*FROM b1" Set RecordSet =Connect.Execute(sqlStr) 这条语句执行后,对象RecordSet中就保存了b1中的所有记录。

  ④操作数据库 可利用Execute方便地执行数据的插入、修改、删除等操作。如执行插入操作: sqlStr="Insert Into b1Values(1,2)" Connect.Execute(sqlStr)

  ⑤关闭数据对象和链接 在使用了ADO对象之后,一定要关闭数据对象和链接。在ASP中通过调用方法close实现关闭。 关闭创建的数据对象:Record Set .close Set Record Set=Nothing 关闭创建的链接对象:Connect. close Set Connect=Nothing 完整的程序片段:

  //产生组件实例

  <% SetConnect=Server.CreateObject("ADODB.Connection")

  //连接数据库

  Connect.Open("DSN=dsnname;UID=userID;PWD=password")

  //执行查询

  SQL=select*fromtablename SetRS=Connect.Execute(SQL) %>

  //显示结果

  <%dowhile not="">

  <%=rs(fieldname)%> <% rs.movenext="" loop="">

  上述是用ASP访问数据库的全过程,由于应用面向对象思想,所有操作都比较简单,用户需要注意的仅是对数据结构的了解、当前所操作的对象及对象的属性等等,只要对这些有了清晰的认识,再加上ASP强大功能,在网络上使用数据库,实现用户与页面间交换信息,就再也不是什么难事了。

  四、主要功能程序段

  4、1 打开数据库

  option explicit

  dim conn,connstr,db,rs

  db="database/#MyShop.mdb" //数据库路径

  Set conn = Server.CreateObject("ADODB.Connection")

  connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")

  conn.Open connstr

  4.2 数据库查询操作

  //大类查讯

  set rs=server.CreateObject("adodb.recordset")

  //只读方式打开

  rs.open "select anclass,anclassid from anclass",conn,1,1

  do while not rs.eof

  response.write ""

  &trim(rs("anclass"))&" "

  rs.movenext

  loop

  rs.close

  //小类查询

  dim rs2

  set rs2=server.CreateObject("adodb.recordset")

  rs2.open "select nclass,nclassid from nclass where anclassid="&rs("anclassid")&" order by nclassidorder",conn,1,1

  do while not rs2.eof

  response.write ""

  &trim(rs2("nclass"))&" "

  rs2.movenext

  loop

  4.3 添加记录操作

  set rs=server.CreateObject("adodb.recordset")

  //可写方式

  rs.open "select bookid,username,zhuangtai,zonger from actions",conn,1,3

  rs.addnew //添加一条新记录

  rs("bookid")=bookid //添加相应的记录

  rs("username")=username

  …………

  rs("zhuangtai")=6

  rs("zonger")=0

  rs.//更新数据库

  4.4 删除记录操作

  //从表actions中删除actionid 匹配的记录

  conn.execute " from actions where actionid="

  &request.QueryString("actionid")

  4.5 记录的修改和查看

  set rs=server.CreateObject("adodb.recordset")

  rs.Open "select * from books where bookid="&bookid,conn,1,3

  rs("anclassid")=int(request("anclassid")) //修改各项记录

  ………………

  rs.Update

  rs.Close

  五、结束语

  随着Web技术的发展,基于Intranet的电子商务系统无疑较传统商务有着更大的应用前景,如何提务系高这种电子商统中的数据访问效率及事务处理能力仍是当前人们所关注的问题。

【关于ASP技术简介参考】相关文章:

1.ASP.NET简介

2.关于ASP模板类代码参考

3.EDA技术与应用简介

4.EDA技术简介

5.ASP技术基础入门教程

6.关于asp 的常用函数用法

7.J2EE技术简介

8.锻造安全技术简介

上一篇: asp.net 操作INI文件读写类实例代码

下一篇:asp缓存类代码

相关文章

优秀的asp读书笔记参考

优秀的asp读书笔记参考

一、Response对象 1、使用Response对象可以从服务器向用户发送输出的数据 2、http头信息是什么呢? 比方说,在http头中包含浏览器缓存当前获得的网页的时间标志,我们可以通过Response对象来向浏览器发送禁止缓存的标志。 3、Response对象的常用方法 1、Binar...

2018-05-03

asp.net的学习过程讲解

asp.net的学习过程讲解

那些年觉得看视频是很轻松的了解一个东西,但是这样的不足就是感觉太慢了,没有看书来得快,所以在有了一些了解后,还得看点书,也许书上的不一定好,但书上会把每一个应该说到的地方说到,好有个初步的认识。比如说.NET平台、组件等知识的介绍,所以,那些...

2018-05-02

asp编程学习注意什么

asp编程学习注意什么

asp编程学习注意什么?要学好这一编程,你是怎么做的?看看下面的注意事项吧! 1.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; 2.会用asp,并不说明你会asp; 3.看asp的书,是学不了asp语言的; 4.浮躁的...

2018-05-02

学习如何调试ASP的环境

学习如何调试ASP的环境

如何调试ASP的环境: 学习目的:安装调试ASP的环境,并且调试第一个简单的程序。 因为我们学ASP的目的就是想建立一个网站,那么一般习惯是建立的网站内所有文件应该同时放到一个文件夹中(当然这个文件夹中还可以按需要设置子文件夹!),所以在这里我在E盘建立...

2018-04-30

ASP脚本循环语句详细教学

ASP脚本循环语句详细教学

ASP 动态服务器页面环境的特点就在于它是通过一种或几种脚本语言而写成的,脚本语言可以看作是编程语言的简化版,它易于学习和掌握,这给广大动态网站的设计者们提供了相当大的便利。可以这么说 : 脚本语言运用的得当与否直接关系到 ASP 应用程序的优与劣。...

2018-04-30

ASP的chr(0)文件上传漏洞原理及解决方案

ASP的chr(0)文件上传漏洞原理及解决方案

我们在用ASP开发文件上传功能的时候,为了防止用户上传木马程序,常常会限制一些文件的上传,常用的方法是判断一下上传文件的扩展名是否符合规定,可以用right字符串函数取出上传文件的文件名的后四位,这样很容易就能判断了,但是这里面有一个漏洞,非常危...

2018-04-28

0 0