面送至客户端浏览器[3]。
4.3.3ASP的技术特点
在使用ASP技术时应遵循这样一个原则:即ASP脚本必须与基于COM标签的组件配合使用才能开发出具有实用价值的动态web应用程序。
基于组件,可以把应用程序的开发分成两大类任务:一类是开发能被很多程序使用的核心组件;另一类是集成这些核心组件提供的服务,构造出实现特定功能的应用程序。Microsoft及一些"中间件"厂商已针对不同的应用领域提供了许多组件产品,组件的使用者只需要理解组件的接口,不需要知道组件的内部结构和组件使用的数据。
在ASP技术中,ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件集成在一起,以形成最终的软件产品。利用组件,开发人员可以专门做自己最擅长的工作,从而减少开发难度;利用组件,还有助于开发人员将用户界面与应用逻辑、数据服务分开,快速开发出可重性高的基于三层客户/服务器结构的web应用程序。综上所述,ASP具有如下一些特点:
(1)使用普通的文本编辑器(如记事本)即可进行编辑设计;
(2)ASP脚本无需编译,容易编写,可在服务器端直接解释执行;
(3)与浏览器无关,用户端只要使用可执行HHML码的浏览器,即可浏览ASP所设计的页面;
(4)面向对象,在ASP脚本中可以方便地引用系统组件和ASP内置组件,还能通过定制ActiveXServerComponent(ActiveX服务器组件)来扩充功能;
(5)ASP的源程序不会被传到客户端,因而可以避免所写的源程序故他人窃取,也提高了程序的安全性;
(6)与任何ActiveXScripting语言兼容,除了可使用VBScript和JScript语言进行设计外,还可通过Plug_in的方式,使用由第三方提供的其它Scripting语言来扩充功能[5]。
4.4用ASP进行动态网页设计
所谓"动态"并不是指在页面上放几个GIF动画图片,其含义大致包含以下两方面:
(1)"交互性"即网页的内容会根据用户的要求和选择而动态响应或改变。
(2)"自动更新"即无需手动更新HTML文档,便会自动生成新的页面,可以大大节省工作量。
根据用户请求生成动态网页的传统技术方案主要有三种:
(1)最早的渠道是利用CGI(CommonGatewayInterface),即通用网关接口;
(2)利用web服务器厂商提供的专用接口如:ISAPI,NSAPI;
(3)利用JAVA访问数据库(JDBC)。这三种方案存在一个共同的问题,就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。
ASP技术的出现使web动态网页设计成为一件轻松愉快的工作。只要几行脚本语句,就能将后台的数据库信息发布到Internet上,在编程和网页脚本的可读性方面大大优于传统的技术方案。
ASP文件是一种嵌入了可在服务器端执行脚本的HTML文档,与ASP兼容的web服务器执行这些脚本,现场生成相应的HTML语言成分,与网页中原来的HTML语言合成到一起,共同作用到前端。一个ASP文件就是一个文本文件,其中包含了以下内容:
(1)TexT(文本)
(2)HIMLtags(HTML标记)
(3)Script命今[4]
下面是本网页中ASP程序的一段源码:
属
编号:
<%response.Write(records("shuid"))%>
所属科:
<%response.Write(records("keid"))%>
拉丁名称:
<%response.Write(records("latinname"))%>
中文名称:
<%response.Write(records("chinesename"))%>
相关描述:
<%response.Write(records("miaoshu"))%>
【返回】
由于采用了B/S模式,使得整个系统大在的减少了工作量。图4.4显示了B/S模式
图4.4B/S模式原理图
的工作原理。在前端采用IE、Netscape等的浏览器将用户提交的操作信息向Web服务器发出HTTP请求,Web服务器通过ASP和一些中间组件访问后台数据库,并将操作结果以HTML页面的形式返回给前端浏览器。
4.5利用ASP进行动态数据查询
为了将从数据库中获得的数据显示在客户端浏览器中,需要在ASP文件中加入Table对象。Table对象可以用来显示从Server端数据库中通过SQL查询得到的记录。使用Dreamweaver等可视化工具可以方便地对*.ASP文件进行用户界面的设计。包括添加Table对象、动态GIF文件等。以下是本网页中的一段查询代码:
<%
word=request(trim("Keyword"))
setrecords=server.CreateObject("ADODB.recordset")
ifrequest("select2")="精确"then
ifrequest("select1")="科"then
sql="select*fromkebiaowherekeID='"&word&"'orchinesename='"&word&"'orlatinname='"&word&"'"
elseifrequest("select1")="属"then
sql="select*fromshubiaowhereshuID='"&word&"'orchinesename='"&word&"'orlatinname='"&word&"'"
elseifrequest("select1")="种"then
sql="select*fromzhongbiaowherezhongID='"&word&"'orchinesename='"&word&"'orlatinname='"&word&"'"
elseifrequest("select1")="标本"then
sql="select*fromspecimenbiaowherebiaoID='"&word&"'orchinesename='"&word&"'orlatinname='"&word&"'"
endif
iferr.number<>0then
response.write"数据库操作失败:"&err.description
endif
elseifrequest("select2")="模糊"then
ifrequest("select1")="科"then
sql="select*fromkebiaowherekeIDlike'%"&word&"%'orchinesenamelike'%"&word&"%'orlatinnamelike'%"&word&"%'"
elseifrequest("select1")="属"then
sql="select*fromshubiaowhereshuIDlike'%"&word&"%'orchinesenamelike'%"&word&"%'orlatinnamelike'%"&word&"%'"
elseifrequest("select1")="种"then
sql="select*fromzhongbiaowherezhongIDlike'%"&word&"%'orchinesenamelike'%"&word&"%'orlatinnamelike'%"&word&"%'"
elseifrequest("select1")="标本"then
sql="select*fromspecimenbiaowherebiaoIDlike'%"&word&"%'orchinesenamelike'%"&word&"%'orlatinnamelike'%"&word&"%'"
endif
iferr.number<>0then
response.write"数据库操作失败:"&err.description
endif
endif
records.opensql,connectstr,1,3
%>
当WebServer处理完用户的HTTP请求后,将结果发送至浏览器上,用户就可以看到结果。
4.6ASP访问数据库
4.6.1ASP内置对象和组件
ASP提供了功能强大的六个内置对象和五个内置组件
内置对象:
(1)Request(请求):从前端用户取得信息
(2)Response(响应):将信息送给前端用户
(3)Server(服务器):提供Web服务器工具
(4)Session(会话):储存在一次会话内的用户信息,仅被该用户访问
(5)Application(应用):管理所有的会话信息,供所有用户共享
(6)ObjectContext(对象上下文):配合Transaction服务器进行分布式事务处理
前三个很常用,Request和Response是用来实现webServer与浏览器交互。Request的一个重要方法是ForM(),其作用是提取浏览器的用户输入信息。如下面的语句可以取得用户填在文本框里面的内容:Request.Form("nane")显然,这比CCI等方法所需要的复杂编程简单多了。而输出要用到Response的一个重要方法Write,如:"Response.writeourmessage"该语句向浏览器输出了一条消息。
内置组件:
(1)数据库存取组件:ASP提供ADO来存取具有ODBC标准的数据库
(2)广告轮显组件:用来维护、构建Internet广告
(3)浏览器兼容组件:将浏览器的功能数据提供给服务器,以便送出适合于各种浏览器的Web页面
(4)文件存取组件:提供文件读写的工具
(5)文件超链接组件:提供对Web页面的管理
4.6.2ASP访问数据库工作原理
访问Web数据库的技术有以下几种方式:公共网关接口CGI(CommonGatewayInterface)、InternetServer应用程序编程接口ISAPI(InternetServerApplicationProgrammingInterface)、Java、Plug-in(插件)和ASP技术。这些技术都是为了克服HTML静态页面发展起来的。
ASP是一个基于Web服务器的脚本开发环境,在ASP平台上可开发和运行动态的、交互的、高性能的Web服务器应用程序。
图4.5ASP访问数据库原理图
图4.5说明了ASP访问数据库工作原理。ASP程序在Web服务器端工作,当前端用户请求一个ASP主页时,Web服务器响应HTTP请求并调用ASP引擎执行该文件并解释执行其中的脚本,若脚本中有访问数据库请求,立刻通过ODBC或ILEDB与相应的后台数据库相连,同数据库访问组件ADO完成操作,最后,ASP根据访问数据库的结果生成HTML语言的主页返回给前端用户,用户看到的只是HTML网页,而看不到ASP程序代码,增强了保密性。
4.6.3ASP连接数据库的方法
ASP提供两种访问
上一篇:
矿井提升设备的选型设计
下一篇:
凉凉的清晨