制作网络动态页面所需掌握的技能
目前,普遍采用的三种网络动态页面编程语言包括ASP(Active Server Pages)、JSP(JavaServer Pages)和PHP(Hypertext Preprocessor)。
概述:
ASP全称Active Server Pages,是一种WEB服务器端的开发框架,通过它能够创建并执行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为其开发工具。
PHP是一种跨平台的服务器端嵌入型脚本语言。它广泛借鉴了C、Java和Perl语言的语法,并结合PHP自身的特性,使得WEB开发者能够迅速编写出动态生成的页面。它支持现今绝大部分数据库。另外,PHP是完全免费的,无需付费,你可以从PHP官方站点()免费下载。而且你可以无限制地获取源代码,甚至可以加入你需要的个性化功能。
JSP是由Sun公司推出的一种新一代网站开发语言,Sun公司凭借其在Java领域的深厚功底,将Java从Java应用程序和Java Applet领域拓展,诞生了JSP,即Java Server Page。JSP在Servlet和JavaBean的支持下,能够实现功能强大的网站程序。
三者均具备在HTML代码中嵌入特定程序代码、由语言引擎解析执行程序代码的功能。但JSP代码会被编译成Servlet并由Java虚拟机解析执行,这种编译操作仅在第一次请求JSP页面时发生。在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用于描述处理逻辑。普通的HTML页面仅依赖于Web服务器,而ASP、PHP、JSP页面需要额外的语言引擎来解析和执行程序代码。程序代码的执行结果会被重新嵌入到HTML代码中,然后一同发送给浏览器。ASP、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器无需任何额外软件支持。
技术特性
ASP:
1.采用VBScript、JScript等易于理解的脚本语言,结合HTML代码,可以快速地构建网站应用程序。
2.无需编译,易于编写,可在服务器端直接执行。
3.可以使用普通的文本编辑器,如Windows的记事本,进行编辑设计。
4.与浏览器无关(Browser Independence),客户端只需使用支持执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active Server Pages所使用的脚本语言(VBScript、Jscript)均在WEB服务器端执行,客户端的浏览器无需支持这些脚本语言。
5.Active Server Pages能与任何ActiveX scripting语言兼容。除了可以使用VB Script或JScript语言进行设计外,还可以通过plug-in的方式,使用第三方提供的其它脚本语言,如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)对象。
6.可以使用服务器端的脚本来生成客户端的脚本。
7. ActiveX Server Components(ActiveX服务器组件)具有无限可扩展性。可以使用Visual Basic、Java、Visual C++、COBOL等程序设计语言来编写所需的ActiveX Server Component。
PHP:
1.数据库连接
PHP可以编译成支持多种数据库连接的函数。PHP与MySQL是现在绝佳的搭档。你还可以自己编写外围的函数去间接访问数据库。通过这种方式,当你更换使用的数据库时,可以轻松地修改代码以适应这种变化。PHPLIB就是最常用的可以提供一般事务所需的一系列基础库。但PHP提供的数据库接口支持不统一,比如对Oracle、MySQL、Sybase的接口,都不相同。这也是PHP的一个不足之处。
JSP:
1.将内容的生成和展示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或XML标签来设计和格式化最终页面。使用JSP标签或小脚本生成页面上的动态内容。生成内容的逻辑被封装在标签和JavaBeans组件中,并绑定在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标签和Beans中,那么其他人,如Web管理人员和页面设计者,可以编辑和使用JSP页面,而不会影响内容的生成。在服务器端,JSP引擎解析JSP标签,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并将结果以HTML(或XML)页面的形式发送回浏览器。这有助于保护作者的代码,同时保证任何基于HTML的Web浏览器的完全可用性。
2.强调可重用的组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或Enterprise JavaBeans)来执行应用程序所需的更复杂处理。开发人员可以共享和交换执行普通操作的组件,或者使得这些组件为更多使用者或用户群体所使用。基于组件的方法加速了整体开发过程,并使得各种团队在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标签简化页面开发
Web页面开发人员并非都是熟悉脚本语言的程序员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标签中进行动态内容生成所需的。标准的JSP标签能够访问和实例化JavaBeans组件,设置或检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标签库,JSP技术是可以扩展的。今后,第三方开发人员和其他人可以为常用功能建立自己的标签库。这使得Web页面开发人员能够使用熟悉的工具和如同标签一样的执行特定功能的组件来工作。
JSP技术很容易整合到多种应用架构中,以利用现有的工具和技术,并扩展到能够支持企业级的分布式应用。作为Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。
JSP技术易于融入众多应用架构之中,以便利用既有的工具和技能,并能拓展至支持企业级分散式应用。作为Java技术家族的一员,以及Java 2EE的组成部分,JSP技术能支持高度复杂的Web应用。
由于JSP页面的内嵌脚本语言基于Java编程语言,且所有JSP页面均被编译为Java Servlet,因此JSP页面具备Java技术的所有优势,包括强大的存储管理和安全性。
作为Java平台的一部分,JSP具备Java编程语言“编写一次,到处运行”的特性。随着越来越多的供应商将JSP支持集成到他们的产品中,您可以使用所选择的服务器和工具,修改工具或服务器不会影响现有应用。
应用范围
ASP是微软开发的动态网页语言,继承了微软产品的一贯传统,只能在微软的服务器产品上运行,如IIS(Internet Information Server)(Windows NT)和PWS(Personal Web Server)(Windows 98)。Unix下也有ChiliSoft的组件支持ASP,但ASP本身功能有限,必须通过ASP+COM的组合来扩展,Unix下的COM实现起来非常困难。
PHP3可在Windows、Unix、Linux的Web服务器上正常运行,还支持IIS、Apache等通用Web服务器,用户更换平台时无需修改PHP3代码,即可直接使用。
JSP与PHP3类似,几乎可在所有平台上运行。如Win NT、Linux、Unix。在NT下,IIS通过一个额外服务器,例如JRUN或ServletExec,就能支持JSP。知名的Web服务器Apache已经支持JSP。由于Apache广泛应用于NT、Unix和Linux上,因此JSP有更广泛的执行平台。尽管目前NT操作系统占据了很大的市场份额,但在服务器方面Unix的优势仍然很大,而新兴的Linux更是势头强劲。从一个平台迁移到另一个平台,JSP和JavaBean甚至无需重新编译,因为Java字节码都是标准的、与平台无关的。
性能比较
有人进行过实验,对这三种语言分别进行循环性能测试和数据库访问测试。
在循环性能测试中,JSP仅用了令人惊讶的四秒钟就完成了2000020000的循环。而ASP、PHP测试的是20002000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。
数据库测试中,三者分别对Oracle 8进行1000次Insert、Update、Select和Delete操作:JSP需要13秒,PHP需要69秒,ASP则需要73秒。
前景分析
目前在国内,PHP与ASP应用最为广泛。而JSP作为一种较新的技术,国内应用较少。但在国外,JSP已经是一种比较流行的技术,尤其是在电子商务类网站,多采用JSP。
采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺陷,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大流量站点,解决方案只有一个:分布式计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合应用于电子商务中。
ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windows的COM/DCOM获得ActiveX规模支持,通过DCOM和Transaction Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。
三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,其核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,并且声明不再开发传统软件。
总之,ASP、PHP、JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。
如何制作动态网站
重点介绍动态网站的搭建、设计和页面制作,页面制作包括主页设计、分页面设计,分页面又包括注册页面、登录页面、分类显示页面和详细页面。动态网站的管理包括数据的添加、修改和删除,这些都要通过专门的页面来实现,或者通过添加服务器行为来实现。
1动态网站的搭建
动态网站,顾名思义,动态地展示页面信息,能够随时自动更新数据,能够用极少的页面展示无限丰富的内容。它不是简单意义上的文本和图片的动态展示,而是真正基于数据库的网站与客户的动态沟通,能够响应不同客户的不同需求而展示不同的页面。与静态网站相比,动态网站的最大优势在于便于管理,设计简洁,以最少的人力管理网站,节约成本。当然这些都要基于网站的规划设计。搭建一个动态网站首先需要一个安装有服务器程序的电脑。也可以使用Windows系统的电脑,安装上IIS和完整版的Office办公软件,就可以简单地实现动态网站的制作了。
1.1部署IIS,构建服务器系统
安装步骤:进入控制面板,点击添加或删除程序,单击添加/删除Windows组件,弹出Windows组件向导,选择Internet信息服务(IIS),点击下一步,然后选择源文件位置,点击安装。如果出现放入安装光盘的对话框,再进一步选择相应的文件。安装文件在网上可以下载。安装完成之后,右击我的电脑,在弹出的快捷菜单中选择管理,进入计算机管理对话框。展开服务和应用程序组件,展开Internet信息服务,右击默认网站,在弹出的快捷菜单中选择属性,即弹出默认网站属性对话框。点击主目录选项卡,确定网站在计算机上的位置,勾选脚本资源访问、读取、写入、记录访问和索引资源。点击文档选项卡,添加文档index.asp并上调至第一位。单击确定。部署完默认网站之后,就可以进行具体网站的制作了。
安装流程:进入控制面板,点击添加或移除程序,点击添加/删除Windows组件,弹窗Windows组件向导,选择Internet信息服务(IIS),点击下一步,接着选择源文件位置,点击安装。若出现插入安装光盘的提示,再进一步选择相应的文件。安装文件可在网上下载。安装结束后,右击我的电脑,在弹出的快捷菜单中选择管理,进入计算机管理对话框。展开服务和应用程序组件,展开Internet信息服务,右击默认网站,在弹出的快捷菜单中选择属性,即弹出默认网站属性对话框。点击主目录选项卡,确定网站在计算机上的位置,勾选脚本资源访问、读取、写入、记录访问和索引资源。点击文档选项卡,添加文档index.asp并上调至第一位。点击确定。部署完默认网站后,就可以进行具体网站的制作了。
1.2 创建动态网站
安装Dreamweaver并打开软件。执行站点新建站点命令,打开站点定义对话框,第一步为站点起一个名字,如my web,点击下一步;选择是,我想使用服务器技术,选择一种服务器技术如ASP VBScript,点击下一步;选择您将文件存储在计算机上的什么位置?,输入地址,点击其后的文件夹图标浏览选择网站要存放的位置,如D盘根目录,点击下一步;设置测试URL的根目录并且测试URL,如果弹出信息框URL前缀测试已成功,说明站点配置无误,点击下一步;选择否,点击下一步;确认信息,点击完成。动态网站就部署好了。
2 动态网站主页的布局与制作
网站首页是一个网站的入口,因此在整个网站制作中起到至关重要的作用。网站的设计风格根据网站的主题而定,是注重形象还是突出个性。网站的整体基色也非常关键,教育类网站多是以冷色调为主,促使人冷静思考。本校的网站以灰色调为主,突出教育信息,给人一种庄严肃穆的感觉。网站的主页由网站的标志性图标(logo)、标志性建筑banner、一级导航条和几个分类栏目组成。整个网站首页往往是由几个局部组成,包括top.ASP、left.asp和bottom.ASP等,有的甚至更多。这样做的目的是为以后制作其他页面提供便利。因为动态网站上的网页多是嵌套而成,只要是修改某一个部分页面,其他页面也会随之改变,而不用一个一个去修改,省去很多无效工作。嵌套结构使得其他页面的制作更加快捷,只要是制作好网页的主体,需要top,就嵌入top.ASP,让栏目更加清晰,也便于不同页面之间的跳转。底部也是一样,就如同Word中复制粘贴一样,在网站上粘贴往往要重新定义源文件地址,而嵌套就省去了这些工作。
在将主页与局部页面嵌套的时候要注意以下几点才能使这项工作做得准确无误:首先,要在代码视图中删去多余的头文件head,删去等标签;其次,切换到包含文件页面,进入设计视图,页面属性中将编码改为简体中文(GB18030),以使汉字能够以正常的方式显现出来。另外在给文件起名字的时候,会英文的使用英文,不会的使用汉语拼音,因为软件是外国人编辑的,不能适用中文的名称。
在主页上要制作一些小的栏目,也可以称作是二级栏目,便于读者快速地查找所关心的网站的主要内容。在二级栏目上,多采用记录集和添加重复区域的方式显示数据,数据往往根据栏目的大小限定条数,一般是5~10条。主页上往往还要出现一些友情链接,是一些内容与之相关的网站网址。在某一部分甚至可以添加主管人的姓名和联系方式,便于读者与网站管理人员的沟通。主页上还要预留出网站管理的后台入口,方便管理人员管理甚至是修改页面。
3 动态网站分类显示页面的制作
网站分类页面的制作相对于主页要简单得多,通常是插入一个表格,或者是使用绘图软件制作好一张大图,再用fireworks裁成相应的小图,之后加以html文件保存,需要的时候整体载入,再去掉无用的部分。小图载入的优势就在于可以加快页面的显示速度,减少读者的等待时间。在需要显示内容的地方插入一个2行?列的表格,比如说是文章编号、文章标题、发布者、发布时间、点击数等内容。在第一列输入这些内容,然后单击绑定选项下的加号,添加记录集。记录集名称自定,但是不允许使用已经分配给代码库的专用代码名称,如delete等,以避免产生代码混淆。这里显示的内容一般是以时间为标准降序排序,以便查看新增加的文件。
添加完记录集之后,要绑定记录集,具体步骤:在文章编号的对应表格内插入相对应的ID,文章标题下方插入title等依次类推进行插入。绑定完记录集之后是添加服务器行为,创建重复区域。首先将光标放在绑定记录集之内,单击最近的一个tr,选定这一行;然后单击服务器行为下的加号,在弹出的快捷菜单中选择重复区域,显示所有记录。如果记录内容太多的话,就要添加记录集分页和记录集导航。具体做法:将光标放在放置记录集的表格后的位置上,在菜单栏内单击数据选项卡,点选记录集分页按钮,在级联菜单中选择记录集分页导航条;再点选记录集导航状态按钮,添加记录集状态。
4 动态网站详细页面的制作
详细页面的制作与分类显示页面的制作相似,它的作用是实现分类显示页面的具体跳转。具体说一下就是当点击分类显示页面的某一文章标题时,即展开其详细内容的页面,可以进一步了解其内容。具体做法:绘制一个3行6列的表格,将第一行合并居中,第三行合并、左对齐;第二行分别在第一列输入发布者,第三列输入发布时间,第五列输入浏览次数;建立记录集,并且在第一行插入标题,第三行插入内容,其他类推插入。
详细页面的编制与分类展示页面的编制相近,其功能在于实现分类展示页面的具体链接。具体而言,当在分类展示页面点击某篇文章的标题时,即可展开展示其详细信息的页面,以便更深入地了解其内容。具体操作:绘制一个3行6列的表格,将第一行合并并居中,第三行合并并左对齐;第二行分别在第一列填写发布者,第三列填写发布时间,第五列填写阅读量;创建数据集,并在第一行插入标题,第三行插入正文,其余依次类推插入。
在构建动态网站的过程中,常常会遇到无法正常展示的问题,只能不断调整,积累经验。