第1章 ASP环境搭建
Web应用程序运行环境是由Internet、网络设备、操作系统和Web服务器软件所组成的。学习动态网页制作的第一步就是要懂Web服务器,因为动态网页都是在Web服务器上运行的,所以第1章就介绍如何安装配置 Web 服务器和后台数据库,目的就是让大家能够完成一台Web服务器环境的搭建,这样就可以在运行环境中进行开发、调试Web应用程序,并能够进行 Web 应用程序部署。不同的 Web 应用程序开发技术具有不同的运行环境,本章介绍的是ASP应用程序运行和开发环境的搭建。学员的收获将是:
掌握Web基础知识
掌握IIS、Access、Dreamweaver的安装方法及IIS的配置方法
能够将ASP应用程序部署到Web服务器
能够进行需求分析和合理地编制出项目计划书
掌握ASP Web应用程序运行环境搭建工作过程
能够进行项目设计和制作
提高沟通意识和沟通技能
1.1 项目准备
每个项目阶段通常都规定了一系列工作任务,设定这些工作任务可使管理控制达到既定的水平。本项目准备阶段的主要工作任务是了解项目背景、进行调研、组织活动(报告会、交流会、项目队伍培训)等,为建立富有思想力和执行力的项目组织和项目启动做准备。
本项目培训主要是让参与项目开发的人员掌握 Web 应用程序开发的基础知识和 ASP 环境搭建的关键技术。在培训互动过程中,强化项目开发人员的信心。
1.1.1 Web基础知识
1.什么是Web
Web是World Wide Web的简称,也称WWW(万维网),本意是蜘蛛网的意思。它是Internet网络的一个子集,表现为 3 种形式,即超文本(Hypertext)、超媒体(Hypermedia)、超文本传输协议(HTTP)。
Web 主要是通过其自身的表现形式链接了全球 Internet 的信息和资源,为用户访问、管理和浏览信息提供交互环境。其中信息以Web页面的形式提供,信息资源由Web服务器(Web站点)提供,信息显示由Web浏览器来完成。工作过程就是用户通过执行浏览器程序来访问Web服务器中的信息资源,浏览器所显示的文件就是超文本文件。
延伸阅读:超文本(Hypertext)
超文本这个概念是托德·尼尔逊于 1969 年左右提出的,所谓超文本实际上是一种描述信息的方法。在超文本中所选用的词在任何时候都能够被“扩展”(Expend),以提供有关词的其他信息,这些词可以链接到文本、图像、声音、动画等任何形式的文件中。也就是说,一个超文本文件含有多个指针,这一指针可以指向任何形式的文件。正是这些指针指向的“纵横交错”、“穿跃网络”,使本地的、远程服务器上的各种形式的文件,如文本、图像、声音、动画等链接在一起。
2.统一资源定位器(URL)
为了使用户程序能找到位于整个 Internet 范围内的某个信息资源,Web 系统使用统一的“资源定位”规范URL(Uniform Resource Locator,又称统一资源定位器)。
URL是专为标志Internet网上资源位置而设的一种编址方式,平时所说的网页地址指的即是URL。URL可以看成是在Web信息海洋里航行的指南针,它使用户在这个海洋中不会迷失方向。URL由3部分组成:资源类型(协议)、存放资源的主机名和资源文件名。如图1.1所示为URL组成示例。
图1.1 URL组成示例
主机名:是指机器地址,可以是IP地址或域名地址(DNS地址),而www表示服务器名称,puk表示北京大学,edu表示教育部门,cn表示中国。
URL的完整格式为“协议://域名或IP地址:端口号/路径名/文件名”。
资源类型:指的是数据传输的方式,也称为协议。常见的传输协议如表1.1所示。
表1.1 传输协议
3.什么是网页
网页是用HTML或者其他语言(如JavaScript、VBScript、ASP、JSP、PHP和XML等)编写的Web文档,是Web开发对象。网页按照提供的信息类型分为静态网页和动态网页两种。
静态网页是利用 HTML(超文本标记语言)和客户端脚本编写的,主要向用户提供静态信息,用户的请求都发送到Web服务器处理,只有超文本链接提供了有限的交互能力。网页一般以扩展名.htm或.html存储。
动态网页是利用HTML和动态网页技术编写的,不能由浏览器直接浏览,需要经过专门的Web服务器软件进行解释或编译后才能由浏览器浏览。动态网页的扩展名随着动态网页技术的不同而不同,常见的扩展名为.asp、.php、.jsp、.js等。
4.Web应用程序
一个Web应用程序是一种经由Internet或Intranet,以Web方式访问的应用程序。它也是一个计算机软件应用程序,这个应用程序用基于浏览器的语言编码,依赖于通用的Web浏览器来表现它的执行结果。
Web应用程序是由一个或多个动态网页组成的,是能实现一定功能的动态网页的集合。例如,网站计数器、留言板、聊天室和论坛BBS等都是常见的Web应用程序。
Web应用程序的开发技术分为客户端开发技术和服务器端开发技术,如表1.2所示。
表1.2 Web应用程序的常用开发技术
5.什么是网站
网站是Web应用程序的容器,用户可以通过URL访问网站。
每个网站必须拥有一个必需的Web应用程序,它被称为根Web应用程序或默认Web应用程序,还可以包含多个Web应用程序。例如,购物车应用程序和登录应用程序,前者允许用户在购物过程中收集商品,后者允许用户在购买时回溯已保存的支付信息。
网站一般由域名(Domain Name,俗称网址)、网站源程序和网站空间三部分构成。
6.Web服务器
Web服务器也称为WWW服务器,主要功能是提供网上信息浏览服务。Web服务器不仅能够存储信息,还能使用户在通过Web浏览器提供的信息的基础上运行脚本和程序。
Web服务器是真正运行网站的服务器,访问一个网站就是访问Web服务器。当然,一台Web 服务器可以同时运行多个网站,当一个网站的规模太大时,这个网站还可以分布在多台Web服务器上。
当Web服务器与用户访问Web服务器位于同一台机器上时,称Web服务器为本地Web服务器,否则称之为远程Web服务器。
Web服务器是由操作系统和Web服务器软件等构成的。Web服务器软件负责网站中核心的动态网页及Web应用程序的解释或编译工作,从而保证网站动态地实现。
当前常用的Web服务器软件及支持的动态网站开发技术,如表1.3所示。
表1.3 常用的Web服务器软件及支持的动态网站开发技术
除了Web服务器外,网络上还有许多不同用途的服务器,如有根服务器、DNS服务器、FTP服务器等。
7.数据库服务器
数据库服务器是指运行在网络中的具有数据库管理系统软件的一台或多台服务器,能为用户提供有效的数据存储和管理服务。
数据库能对大批量的数据进行有序地、有规则地组织与管理,只要给出查询条件,便能很快得到查询结果,所以数据库非常适合数据的存储和检索,是Web服务器的命脉。常用的数据库管理系统软件有Oracle、Sybase、Informix、DB2、SQL Server、Access等。
1.1.2 ASP概述
1.什么是ASP
ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,可以与数据库和其他程序进行交互,是在服务器端运行的一种简单、方便的动态网站开发技术。
ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含 HTML 标记、普通文本、脚本代码及 COM 组件等。其文件类型是.asp。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的Web应用程序。
2.ASP常用的脚本语言
脚本是指嵌入到Web页面中的程序代码所使用的编程语言称为脚本语言。按照执行方式和位置的不同,脚本分为客户端脚本和服务器端脚本。客户端脚本在客户端计算机上被 Web浏览器执行,服务器端脚本在服务器端计算机上被Web服务器执行。脚本语言是一种解释型语言,客户端脚本的解释器位于Web浏览器中,服务器脚本的解释器则位于Web服务器中。静态网页只能包含客户端脚本,动态网页则可以包含客户端脚本和服务器端脚本。
ASP 带有两个脚本引擎:Microsoft Visual Basic Scripting Edition(VBScript)和 Microsoft JScript。默认语言是VBScript,当安装完ASP时,它就已存在了。也可以安装和使用其他的脚本语言引擎,如Perl等,还可以使用COM组件追寻动态交互式网页和功能强大的Web应用程序。
3.什么是IIS
IIS是Internet Information Server的缩写,意为“互联网信息服务”,是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使用户在网络上发布信息成为一件很容易的事。
IIS提供了一套完整的、易于使用的Web站点架设方案。它为ASP动态网页开发提供了技术支持。从IIS 6.0开始,Microsoft Active Server Pages(ASP)可以与Microsoft ASP.NET一起使用。目前IIS已经发展到了8.0版本。
IIS内置在Windows 2000、Windows XP Professional、Windows Server 2003、Windows Server 2008中一起发行。
1.1.3 Web工作原理
网站运行首先要由客户端提交HTTP请求,然后Web服务器中的服务器软件处理该请求,最后将处理结果返回客户端。如果客户端浏览到正确的结果,则说明该网站正常运行了,如图1.2所示。
图1.2 网站运行原理示意图
(1)客户端通过浏览器向 Internet 上的 Web 服务器发出一个 HTTP 请求(如192.168.0.1/index.asp)。
(2)利用Web服务器上的服务器软件(如IIS)运行并解释index.asp文件。
如果index.asp不涉及数据库操作,则IIS将运行结果以HTML网页形式返回给客户端浏览器;如果index.asp涉及数据库操作内容,则IIS根据index.asp的要求向数据库服务器上的数据库请求各类数据库操作,数据库服务器将操作结果返回给Web服务器软件IIS,IIS再将运行结果以HTML网页形式返回给客户端浏览器。
1.1.4 网站开发规范
任何一个项目或者系统开发之前都需要制订一个开发约定和规则,这样有利于项目的整体风格统一、代码维护和扩展。由于Web项目开发的分散性、独立性、整合的交互性等,所以制订一套完整的约定和规则显得尤为重要。
在Web项目开发中有前、后台开发之分,前台开发是利用客户端开发技术来完成的,主要职责是网站VI设计、样式设计、特效设计等。而后台开发是利用与数据库交互的各种服务器端开发技术来完成的,其主要职责是设计网站数据库和实现网站功能模板。
1.网站项目管理规范
网站项目管理就是根据特定的规范,在预算范围内,按时完成的网站开发任务,主要包括以下过程:
① 项目立项。
② 客户的需求说明书。
③ 网站总体设计及网站建设方案。
④ 网站详细设计。
⑤ 项目实施。
2.组建开发团队规范
在接到项目后第一件事是组建团队。根据项目的大小,团队可以由几十人组成,也可以是只有几个人的小团队。在团队划分中应该含有6个角色,分别是项目经理、策划、美工、程序员、代码整合员、测试员。一个人可以担任多个角色,如项目经理还可以担任策划这个角色,程序员还可以担任代码整合和测试这 2 个角色,如果项目够大、人数够多那就分为 6个组,每个组分工后再进行细分。
① 项目经理,是项目的总体设计人,开发进度的制订和监控,制订相应的开发规范,负责各个环节的评审工作,协调各个成员(小组)之间的开发。
② 策划,是提供详细的策划方案和需求分析的人,还包括后期网站推广方面的策划。
③ 美工,根据策划方案和需求设计网站的VI、界面等内容。
④ 程序员,根据项目总体设计方案进行数据库的设计和功能模块的实现。
⑤ 代码整合员,负责将程序员的代码和界面融合到一起,代码整合员可以制作网站的相关页面。
⑥ 测试员,负责测试程序。
3.开发工具规范
Web开发工具主要分为三部分,第一部分是网站前台开发工具,第二部分是网站后台开发环境,第三部分是项目管理和辅助软件。
网站前台开发主要是指 Web 界面设计,包括网站整体框架建立、常用图片、Flash 动画设计等,主要使用的相关软件有Adobe Illustrator、Adobe Photoshop、Adobe Dreamweaver、Adobe Flash等。
网站后台开发主要指网站动态程序开发、数据库建模,主要使用的相关软件有PowerDesigner(数据库建模)和Rational Rose(程序建模)。PowerDesigner在数据库设计方面应用非常强大,用它可以快速创建数据库概念和物理模型。Rational Rose是IBM公司出品的一种面向对象的统一建模语言的可视化建模工具,如果项目功能模块不是特别复杂那就避免使用,这样会节省一些时间并降低开发的复杂度。
网站项目管理主要指对开发进度和代码版本的控制。开发进度用 Microsoft Project 来制订,代码版本控制采用 Visual SourceSafe。网站测试采用 Visual Studio.NET 的附带工具Microsoft Application Center Test,它可以进行并行、负载测试等。程序文档编写采用Microsoft Office或WPS Office软件。
4.网站开发流程规范
在项目开始实施之前应该有一个工作步骤,也就是工作流程,在项目开发中最需要时间的是总体设计和系统测试,而程序编写代码所占的时间并不多。
开发流程分为前台开发和后台开发两条主线。前、后台开发在项目开发早期互相没有交叉,当然不是绝对没有,Web 策划和需求分析都是相关的,一个是网站表现形式和风格的策划,另一个是网站功能的策划,它们是相互依赖的关系。到了网站开发后期就需要把界面和功能模块结合起来形成一个统一体,也就是即将发布的网站,如图1.3所示。
图1.3 网站项目开发流程
5.数据库开发规范
为了提高数据库开发质量,降低开发周期,增强代码的可重用性和易读性,使数据库便于维护,开发人员间便于交流和协作,项目组有必要制订一套数据库开发规范。
(1)数据库表命名规范:表名长度不能超过30个字符,数据库命名以字母“db”开头(小写),后面加数据库相关英文单词或缩写。数据表以字母“tb”开头(小写),后面加数据库相关英文单词或缩写和数据表名。
(2)数据库字段命名规范:字段一律采用英文单词或词组(可利用翻译软件)命名,如找不到专业的英文单词或词组可以用相同意义的英文单词或词组代替。
如果字段是英文的,应在“描述”中加以解释。字段大小应该按照实际大小划分,如果确定数据类型字段长度,则使用char(也可以使用varchar)。
6.文件(文件夹)命名规范
文件夹命名一般采用英文,长度一般不超过20个字符,命名采用小写字母,除特殊情况才使用中文拼音。例如,images(存放图形文件)、flash(存放Flash文件)、style(存放CSS文件)、scripts(存放JavaScript脚本)、inc(存放include文件)、link(存放友情链接)、media (存放多媒体文件)等。
文件名称统一用小写的英文字母、数字和下画线的组合。
命名原则的指导思想:一是使自己和工作组中的每一个成员能够方便地理解每一个文件的意义,二是当设计者在文件夹中使用“按名称排列”的命令时,同一种类的文件能够排列在一起,以便进行查找、修改、替换、计算负载量等操作。
图片的命名原则:名称分为头尾两部分,用下画线隔开,头部分表示此图片的大类性质,如广告、标志、菜单、按钮等。
① 放置在页面顶部的广告、装饰图案等长方形的图片取名为banner。
② 标志性的图片取名为logo。
③ 在页面上位置不固定并且带有链接的小图片取名为button。
④ 在页面上某一个位置连续出现,性质相同的链接栏目的图片取名为menu。
⑤ 装饰用的照片取名为pic。
⑥ 不带链接表示标题的图片取名为title。
7.程序代码编程规范
一个良好的程序代码编程风格有利于系统的维护,也易于阅读查错。在此只讨论ASP的编程风格和约定。在ASP中所有变量是弱变量,无须定义就可以直接使用,而且代码不区分大小写。但其他语言一般这些都是要定义的,为了养成良好的编程习惯,编写代码务必按照以下规则进行。
① 每个变量名必须定义,在ASP文件的最开始添加语句,强制定义每个变量。
② 程序代码需要有缩进。
③ 函数过程编写的约定。函数或者过程命名采用“动作+名词”,每个函数需要给出相互的注释、函数功能、传入变量及作者和修改相关信息。
④ ASP内置对象区分大小写。
⑤ 数据库连接一个库时只能有一个数据库连接文件,创建数据库对象的原则是尽可能晚地打开数据库,尽可能早地关闭数据库。
⑥ 当一个对象不再使用时要释放对象资源。
⑦ 时间全部以字符串的形式保存到数据库中,这样可以使日期在不同的数据库中都能良好地保存,也方便数据库迁移。时间用14位字符串保存,日期用8位字符串保存。
8.网站首页head区代码规范
head区是指首页HTML代码的<head>和</head>之间的内容。必须加入的标签如下。
(1)公司版权注释:
<!--The site is designed by Maketown,Inc 06/2010-->
(2)网页显示字符集:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">或
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
(3)网页制作者信息:
<meta name="Author" content=swjtmp@126.com>
(4)网站简介:
<meta name="Description" content="xxxxxxxxxxxxxxx">
(5)搜索关键字:
<meta name="keywords" content="xxx,xxx,……">
(6)网页的CSS规范:
<link href="style/style.css" rel="stylesheet" type="textlcss">
(7)网页标题:
<title>xxxxxxxxxxxxxxxxxx</title>
(8)所有JavaScript的调用尽量采取外部调用:
<script type="text/javascript" src="script/xxxxxx.js "></script>
9.网站建设尺寸规范
① 目前页面标准主要按800×600、1024×768分辨率制作,实际尺寸分别为778px×434px、1002px×614px。
② 页面长度原则上不超过3屏,宽度不超过1屏。
③ 每个标准页面为A4幅面大小,即8.5in×11in。
④ 全尺寸Banner为468px×60px,半尺寸Banner为234px×60px,小Banner为88px×31px。
⑤ 小图标的标准尺寸有120px×90px、120px×60px、88px×31px、自定义。
⑥ 每个非首页静态页面含图片字节不超过60KB,全尺寸Banner不超过14KB。