图4.3显示了ASP的工作原理,当浏览器通过HTTP协议向web服务器申请一个由*.asp定义的页面时,web服务器响应HTTP请求,用ASP引擎解释被申请文件。当遇到ASP脚本命令时,ASP引擎调用相应的脚本引擎(脚本引擎以组件的形式驻留在web服务器上)进行处理。ASP提供两种脚本引擎,即VBScript引擎和VJScript引擎,若要使用其他脚本语言,需要在web服务器上另外安装相应的脚本引擎;当遇到基于COM标准的组件(组件本身是经过编译的可重用二进制码)时,ASP引擎启动相应的组件完成指定的功能。若ASP文件含有访问数据库的请求,ASP内置组件ADO(ActiveX Date Ob—ject) 通过ODBC与数据库连接,对数据库进行访问,并将访问结果返回web服务器。ASP引擎
将脚本和组件的运行结果生成相应的HTML语法成分,与文件中原有的文本和HTML标记一起组成标准HTML页面送至客户端浏览器[3]。
4.3.3 ASP的技术特点
在使用ASP技术时应遵循这样一个原则:即ASP脚本必须与基于COM标签的组件配合使用才能开发出具有实用价值的动态web应用程序。
基于组件,可以把应用程序的开发分成两大类任务:一类是开发能被很多程序使用的核心组件;另一类是集成这些核心组件提供的服务,构造出实现特定功能的应用程序。Microsoft及一些“中间件”厂商已针对不同的应用领域提供了许多组件产品,组件的使用者只需要理解组件的接口,不需要知道组件的内部结构和组件使用的数据。
在ASP技术中,ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件集成在一起,以形成最终的软件产品。利用组件,开发人员可以专门做自己最擅长的工作,从而减少开发难度;利用组件,还有助于开发人员将用户界面与应用逻辑、数据服务分开,快速开发出可重性高的基于三层客户/服务器结构的web应用程序。综上所述,ASP具有如下一些特点:
(1)使用普通的文本编辑器(如记事本)即可进行编辑设计;
(2)ASP脚本无需编译,容易编写,可在服务器端直接解释执行;
(3)与浏览器无关,用户端只要使用可执行HHML码的浏览器,即可浏览ASP所设计的页面;
(4)面向对象,在ASP脚本中可以方便地引用系统组件和ASP内置组件,还能通过定制ActiveX Server Component(ActiveX服务器组件)来扩充功能;
(5)ASP的源程序不会被传到客户端,因而可以避免所写的源程序故他人窃取,也提高了程序的安全性;
(6)与任何ActiveX Scripting语言兼容, 除了可使用VBScript和JScript语言进行设计外,还可通过Plug_in的方式,使用由第三方提供的其它Scripting语言来扩充功能[5]。
4.4 用ASP进行动态网页设计
所谓“动态”并不是指在页面上放几个GIF动画图片,其含义大致包含以下两方面:
(1)“交互性”即网页的内容会根据用户的要求和选择而动态响应或改变。
(2)“自动更新”即无需手动更新HTML文档,便会自动生成新的页面,可以大大节省工作量。
根据用户请求生成动态网页的传统技术方案主要有三种:
(1)最早的渠道是利用CGI(Common Gateway Interface),即通用网关接口;
(2)利用web服务器厂商提供的专用接口如:ISAPI,NSAPI;
(3)利用JAVA访问数据库(JDBC)。这三种方案存在一个共同的问题,就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。
ASP技术的出现使web动态网页设计成为一件轻松愉快的工作。只要几行脚本语句,就能将后台的数据库信息发布到Internet上,在编程和网页脚本的可读性方面大大优于传统的技术方案。
ASP文件是一种嵌入了可在服务器端执行脚本的HTML文档,与ASP兼容的web服务器执行这些脚本,现场生成相应的HTML语言成分,与网页中原来的HTML语言合成到一起,共同作用到前端。一个ASP文件就是一个文本文件,其中包含了以下内容:
(1)TexT(文本)
(2)HIML tags(HTML标记)
(3)Script命今 [4]
下面是本网页中ASP程序的一段源码:
<img src="../Image/FMLN193.GIF" width="500" height="4"> <br>
<br>
</div>
<table width="40%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#CCCEEE">
<td width="22%" nowrap><div align="center"><font color="#990000">属
编 号:</font></div></td>
<td width="78%" nowrap>
<%response.Write(records("shuid"))%>
</td>
</tr>
<tr bgcolor="#DDDEEE">
<td nowrap><div align="center"><font color="#990000">所 属 科:</font></div></td>
<td nowrap>
<%response.Write(records("keid"))%>
</td>
</tr>
<tr bgcolor="#CCCEEE">
<td nowrap><div align="center"><font color="#990000">拉丁名称:</font></div></td>
<td nowrap>
<%response.Write(records("latinname"))%>
</td>
</tr>
<tr bgcolor="#DDDEEE">
<td nowrap><div align="center"><font color="#990000" >中文名称:</font></div></td>
<td nowrap>
<%response.Write(records("chinesename"))%>
</td>
</tr>
<tr bgcolor="#CCCEEE">
<td nowrap><div align="center"><font color="#990000">相关描述:</font></div></td>
<td nowrap>
<%response.Write(records("miaoshu"))%>
</td>
</tr>
</table>
<div align="center"><br>
<a href="javascript:history.back(1)">【返回】</a><br>
由于采用了B/S模式,使得整个系统大在的减少了工作量。图4.4显示了B/S模式
与传统媒体不同,网页除了文字和图像以外,还包含声音、视频和动画等新兴多媒体元素,更借助由代码语言编程所实现的各种交互式效果,增加了网页界面的生动性和复杂性,也使得网页设计者需要考虑更多页面元素的排布、优化。一般来说,网页的界面主要由下面几个因素构成:
(1)文字:文字元素是信息传达的主体部分。网页中的文字主要包括标题、信息、文字链接、几种主要形式。标题和传统媒体中信息传达的基本作用相同,是内容的简概说明一般比较醒目、优先编排。文字作为占据页面重要比率的元素,同时又是信息重要载体,它的字体、大小、颜色和排布对页面整体设计影响极大。
(2)图形:图形在网页界面中具有重要作用。合理的运用图形。可以生动直观、形象地表现设计主题。网页中常用的图形格式包括jpg和gif,这两种格式压缩比高,得到了规范浏览器的支持,下载速度快,具有跨平台的特性,不需要浏览器安装插件即可直接阅览。图形元素包括标题、背景、主图、链接图标四种。
(3)页面版式:版式是网页界面设计的重要组成部分,它将文字、图形等视觉元素进行组合配置,使页面整体视觉效果美观和谐,便于阅读,实现信息传达的最佳效果。
(4)色彩:彩色网页比单色网页更具吸引力;色彩本身具有象征作用。
(5)多媒体:网页构成中的多媒体元素主要包括音频、视频和动画。这些是界面构成中最吸引人的元素 。
(6)技术:网页的技术要素并非任何情况下在网页中都能直观体现,但是却代
表了设计的整体水平,也是衡量设计成功的重要标准。网页界面设计最基本的技术要求包括:浏览器、传输速度、屏幕分辨率、颜色显示。