ASP技术在交互式网页设计中的运用

交互|设计|网页|网页设计

  一、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") '创建了链接对象Connect。 Connect.Open("DSN=dsnname;UID=userID;PWD=password") '打开链接。dsnname为数据源名;userID为用户名;password为用户口令。

  ③创建数据对象 ADO中的数据对象通常保存的是查询结果。RecordSet 是ADO中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。其创建方法如下: Set RecordSet =Connect.Execute(sqtStr) '创建并打开了对象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.EOF%>   
<%=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 "<A href=javascript:turnX('r"&rs("anclassid")&"')>"
&trim(rs("anclass"))&"</A> "
    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 "<A href=class.asp?aid="
&rs("anclassid")&"&nid="&rs2("nclassid")&">"
&trim(rs2("nclass"))&"</A> "
  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.update  //更新数据库

  4.4 删除记录操作

//从表actions中删除actionid 匹配的记录
conn.execute "delete 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的电子商务系统无疑较传统商务有着更大的应用前景,如何提务系高这种电子商统中的数据访问效率及事务处理能力仍是当前人们所关注的问题。

时间: 2024-11-02 16:46:32

ASP技术在交互式网页设计中的运用的相关文章

网页设计中最常见的30款英文字体

  关于英文字体,对我们网页设计师朋友们来说一定并不陌生,即使我们很少做英文语系的网站,但在浏览国外网站的时候,大家一定都会有或多或少的认识.其实不单单是在网页中,很多移动操作系统和浏览器中都广泛使用了今天我们即将介绍的这些字体. 想必大家也都能猜出来像 Arial.Helvetica 这种大名鼎鼎的字体肯定在里面了,那么还有什么呢?一起来详细了解一下吧! 首先,补充个小知识: 1.网页设计中的英文字体,一般有以下五类: serif(衬线) sans-serif(无衬线) monospace(等

网页设计中最常用到的设计细节

前一段时间在企业管理界流行一句格言叫"细节决定成败".企业管理当然不是我们这里要讨论的主题,但是,把这句话放在网页设计当中的确是颠扑不破的 真理.我们的眼睛和感觉总是非常敏锐的,即使是完全不了解网页设计技术的人也能够从一堆拙劣的设计作品当中挑选出那一个优秀的设计作品. 虽然他说不出来为什么这件东西比那些都好,但是直觉会告诉他他自己喜欢哪一个.如果别人向我们问起为什么这件作品要优于其它呢?我们的回答是"很大一部分原因是因为优秀的设计作品总是充满了丰富的细节."在这篇文

网页制作高手进阶:网页设计中的文字运用

设计|网页|网页设计  如今,互联网越来越走近我们的生活,网上冲浪也渐渐成为我们生活不可缺少的一部分.网络世界五彩缤纷,涌现出大量优秀精美的网页.大量网络信息的呈现,无非就是通过文本.图像.Flash动画等,其中, 文本是网页中最为重要的设计元素.对于网页设计初学者而言,了解和掌握网页设计中的文字排版设计就显得尤为重要,下面笔者想谈谈一己之见.     文字的格式化     1.字号.字体.行距字号大小可以用不同的方式来计算,例如磅(Point)或像素(Pixel).因为以像素技术为基础单位打印

学院观点:网页设计中的十大新错误

错误|设计|网页|网页设计 曾经我指出的网页设计中的十大错误,至今在很多站点上依然可见,并且影响着页面的可用性.也就是说,这三年来情况并未得到多大改善. 不幸的是,新的网络技术及其应用导致了一个全新层次的错误.以下是其中最严重的十个. 一. 破坏或减慢"后退"按钮 (我的看法:有时候对页面的适当控制是必须的.) "后退"按钮是网络用户的生命线,同时也是继超文本连接后最常使用的导航特征.用户可以随意尝试网页所指向的任何地方,而只需点击一两次"后退"

网页设计中META标签写法的常见错误及后果

错误|设计|网页|网页设计 网页设计中META标签写法的常见错误及后果[摘要]:网页设计中META标签描述和关键词写法的常见错误包括:整个网站所有的网页使用同样的META标签内容,META标签中网页介绍信息与网站内容缺少相关性等.本文归纳了网页设计中META标签写法的常见错误,并分析了出现不合理的META标签设计的可能后果. 网页设计中META标签写法的常见错误及后果 搜索引擎优化通常会涉及到网页META标签的话题,META标签内容写作的是网络营销导向网站建设中网页设计的基本工作内容之一,在网络

HTML网页设计中关于字体设计的详细讲解

设计|网页|网页设计     ●字体(Font)的设置是网页制作新手遇到的第一个难点.如何控制字体大小,如何取消超链接字体的下划线是网友来信问得最多的.好,我们来彻底研究一下字体的各个方面:     字符集的设定.     在查看html文件原代码时,我们经常可以在文件头<head>和</head>之间看到这么一句代码:     <meta http-equiv="Content-Type" content="text/html; charset

网页设计译文:网页设计中数学的运用

"数学是美妙的."对于在数字和公式面前畏缩的人来说,这听起来也许是荒谬的.但是,从最小的贝壳到最大的漩涡星系,自然界和我们这个宇宙中大部分美丽的东西都呈现出数学特性. 其实,古代最伟大的哲学家之一亚里斯多德曾说过:"数学格外地展现了秩序.对称和极限,而这些是美的极致形式". 由于其美丽的天性, 数学一直以来都是艺术和建筑设计的一部分.但它至今还没有在网站设计中发挥作用.其原因可能是因为我们大多认为数学是创造性的对立面.相反,其实数学可以成为创作创意设计的工具.也就是

设计参考:网页设计中的渐变文字应用实例

使用色彩渐变作为一种处理类型是在网站设计中制作迷人的文字的一种非常流行的技术.它们用于多种情况:网站logo.介绍性文字.视觉元素等等.但是请特别小心:造成时尚或俗气的只是在Photoshop设置里面的一些小错误,一点细微的差别就可能适得其反. 如果你正好在寻找网页设计中的渐变文字类的实例和灵感,这里是一些很不错的例子.希望能为你的设计提供些参考. 虽然用Photoshop/Fireworks等制图软件可以很容易的创建漂亮的文字渐变效果,但是我们同样也可以用CSS创建漂亮的文字渐变效果,而用CS

网页设计中实用的制作技巧

我们知道一个网页要想获得更多的回头率,一个非常重要的一条就是要不断更新. 1.灵活运用样式 熟悉网页设计的网友就知道,调用Style的方法非常多,我们能单击鼠标右键选择Custon Style来调用Style标准,也能在状态栏中的元素列表上单击右键来调用Style.虽然不同的方法达到的效果看似相同,但实际上产生的HTML代码则完全不同.比如用Custon Style来调用Style标准,在网页代码中就生成一个〈span〉标签,这样的标签一多就会使文件十分臃肿而且影响浏览器的解析速度,所以我们应尽