ASP是Active Server Pages的简称,它是一种经典的网站编程环境,使用ASP你可以利用运行环境提供的功能来完成一个动态网站的开发。Access和SQL Server都是知名的数据库解决方案,它们为网站运行所必须的数据提供了容器。
本书基于如上三个核心,深入浅出地阐述了使用ASP进行动态网站开发的基本知识和开发技巧。在这本书中,作者不仅讲述了语言本身,还大大拓展了语言之外的东西,譬如对如何用全局的观点进行系统设计开发、网站的运行效率和健壮性,甚至如何利用网站进行营销等等这些内容都一一进行了详述。全书语言风趣幽默、通俗易懂,全书贯穿大量精心设计的范例,对难点、疑点的讲解极为透彻,让你迈入ASP学习的第一步直至攀上网站开发及运营的珠穆朗玛峰。
本书的另外一个特色就是不仅讲解ASP本身,同时还讲解了前台脚本——JavaScript和符合Web标准的网站设计知识,让你了解前台和后台是如何进行绝妙搭配的。
嘿,您好,我叫韩国峰,生于二十世纪八十年代。
在我写这本书的时候,有一个热门词汇叫做“八零后”。而我,则可以被称为一个“八五后”的IT写手。在2002年的时候,我开始学习ASP,到如今算来已经有六个年头了。在我学习ASP的时候,使我迷茫的往往不是ASP的技术上的问题,而是,ASP究竟、是否、还能够“走多远”。
网上不乏有文章说到“ASP已经到了其末路,而微软以ASP.NET来取代了ASP”、“学习ASP没有前途,也没有‘钱途’”。当然,我们不能完全地否认这些观点,尤其是当我们面对很现实的问题——很多ASP程序员的工资相对.NET程序员来说还比较低(很遗憾这一点,如果您是这其中的一员,我强烈的建议您读读这本书,因为,这本书有可能会让您的老板对您刮目相看并提高您的工资)。
我窃以为,ASP还是可以存活相当长一段时间的。ASP、PHP、ASP.NET、JSP它们各有各的特色所在,这也就是为什么不能简单的说ASP.NET是ASP的简单升级了(在开始的时候,ASP.NET还被叫做ASP+)。
ASP.NET和JSP更偏重于企业化的开发,它们更强调一些面向对象的特征以及代码的模块性、协同工作性和开发效率,而PHP也被众多大型的网站所采用,首先,PHP一般部署在开源免费的Linux平台上,这可以降低企业的成本。那么我们的ASP呢?我认为,ASP是初学者学习网站编程的一个很好的起点。有人将ASP比作自行车,非常容易上手,放在家里,随便去哪里都可以骑,相比ASP.NET这辆汽车,会让您少面对很多问题,譬如堵车)。的确是这样的,试想,编写一个小型的网站,我们的确可以使用ASP来快速的完成工作,熟练的程序员利用自己的代码库。也许在ASP.NET程序员还没有建立好“网站解决方案”之前就完成了大多数的编码(一个夸张的比喻)。而ASP相对于.NET来说,没有将大多数的HTTP往来操作细节以服务器端控件的形式予以隐藏(限POSTBACK)的思想,因此,学习ASP更利于对网站编程中的客户端与服务器端的交互进行更好的理解。
当然,纸上谈来终觉浅,觉知此事要身躬。既然看到了这本书,您不妨就将它认真的读下去,以后有机会和其他的网页编程方案进行比较时您会有更多的体会。
下面来谈谈如何学习网站编程。网站编程的学习不是一个孤立的过程,其中诸如语法这样的编程本身的问题只是一个方面,如果说像ASP.NET这样的技术可以将网站编程的各个环节有效分开的话,那么对于学习ASP而言,您就要解决更多的问题,这并非是麻烦,而是要求您学习、了解更多的知识。
首先,您需要对什么是网站这样一个问题有自己的认识。您在平常上网时,打开页面需要点击链接、注册用户需要提交表单,而现在您有一个机会来自己做这样一个东西,具体如何做,在书中我将为您一一道来。就做网站而言,有很多常见的任务:它们的算法是怎样的、数据结构是如何设计的、数据是如何存储的,这些是您需要在制作网站中自己理解和总结的。举一个简单的例子,今天在论坛上看到有朋友问,像校内网里面和好友打招呼这样的操作是如何完成的?可能在一般人眼里,这个功能很复杂,当您点击“打招呼”按钮的时候,是不是直接向对方的浏览器传递一条信息呢?不是的,这仍然还是一个最简单的数据存储,当点击“打招呼”按钮时,不过是将相应的数据存到数据库中,当对方浏览页面时再取出这个信息,并加入提示。有大量类似的操作其数据的存储和使用方式都是一样的,比如论坛短消息等,这种举一反三的能力是至关重要的。当您对诸如此类的网站基本任务都有所了解和研究后,语言本身可能就不会是重点问题了,无论用ASP、PHP、.NET都是可以实现的。
其次,对于客户端编程技术,我们也应当有些了解,在服务器端用ASP的环境来编程,而在客户端,我们一般采用JavaScript来进行编程。由于对用户体验概念和Ajax的狂热,JavaScript近年来地位大大提高,它对于服务器端的程序会的很大的辅助作用,甚至在某些特殊情况下,能够减少90%的服务器端代码。另外,熟知符合Web标准的HTML和CSS也会让你的服务器端代码省却很多工作,比如最简单的、在商城网站的设计中,每一行需要放三个商品图片,通常用表格布局时您需要判断是否到达指定数量,需要输出结束一行表格的代码,而使用符合Web标准的代码,即使
这样的代码,您可以在CSS中轻松控制每个图片的宽度高度。多出的图片会自动排版到下一行。
最后,就是职业生涯的问题了,如果您不想一直闷头于天天写重复的代码,那么我有两个建议:
第一,您可以通过学习设计模式、敏捷开发一类的知识,来学会对项目进行总体规划,进而学习项目管理的知识,了解如何带领团队开发出脍炙人口的网站;
第二,您可以了解网站推广、网络营销的知识,从商业角度来看待网站开发的工作。
在以往的书籍写作中,由于出版社的出版要求不同,我在写作时,更多的采用严肃认真和教材一样的风格,而在这本书,感谢陈冰老师给了我一个机会,采用与以往完全不同的风格来进行写作。在这本书里,更多的,我想和您以聊天一样的语言来讨论ASP的学习。“聊天”是否会使得我的写作不认真呢,当然不是。在写作之前我就了解到,陈冰老师是一个对自己策划的图书非常严格甚至出了名的苛刻的 编辑。在写作这本书时我也始终惴惴不安,所以,我力图使得我的书能够对您有最大帮助。
我刚才说了,这本书与我以往,甚至与您所看到的大多数技术书籍,风格不同,这种不同也不止体现在语言上,很多时候也体现在内容中。作为草根派的我,并不愿意在自己的作品中太多的用教条的方式来讲解整整一本书的理论,我希望将我这几年来开发ASP的方法、技巧和感想与您分享。所以,对于本书中讲解理论的部分,您应当更加重视,这是因为,这些理论是我从大量的技术文档中提炼出来的一些自己认为有价值的内容,希望可以让您的学习事半功倍。当然,我强烈建议您在阅读本书前,从网上找到相应的语法手册作为参考和补充(提示:上Google搜索“VBScript手册”、“SQL手册”等)。另外,我活跃在蓝色理想论坛上,在后台数据库编程版面,曾经参与过很多的讨论,也解答了各个阶段的从事ASP的朋友们的上千个问题,通过对这些问题的总结,我也希望在本书中能够尽量扫清您在初学ASP时的障碍。而在实例部分,您可以了解到我的一些开发思想。开发思想是无所谓完全正确或者错误的,您可以带着疑问和批判的眼光来看,同时也欢迎和感谢您对我的书中的内容提出质疑,这个时候请您发邮件给我,我们进行讨论,并共同进步。
在本书中您只能学到ASP以及网站编程的知识吗?不是的。正如我上面谈到的,如果您想比其他的程序员更进一步的话,那么我认为您还有很多与ASP相关联的知识要学习。本书的一个特色就是,我为您提供了对于一个网站的完整解决方案的讲述。这里面还包括了网页的制作(我更偏向于使用最近比较流行的DIV+CSS方式),简单的客户端脚本的开发(例如JavaScript,书中我将帮助您完成使用JavaScript的流行框架——Prototype库来完成这些工作)。另外,我所学的专业是电子商务,我希望能够在我的专业范围内,对于网站的运营和网络营销这些方面给您一些帮助。
这本书的写作,是从2007年2月开始的,写了七、八个月完成了初稿之后,又在陈冰老师的悉心指导和批评下,进行了长达四个多月的修改,经过出版社的层层把关,最终呈现在您的面前。这不是我出版的第一本书,然而我可以肯定,这绝对是我截止到目前,写得最认真的一本书。我学习ASP已经有六个年头了,我非常希望能够把我这六年的经验和感想做一个总结,作为自己在ASP路上的一个里程碑,感谢出版社和读者给了我这个机会。
听我絮叨的“自吹自擂”了这么长时间,现在您可以泡一杯清茶,坐在电脑旁,翻开这本书,来迈出ASP网站编程的第一步了,我们将在书中继续聊,如果聊得还不尽兴,您可以发送邮件到hanguofeng@yeah.net来联系我。
最后,我对给予我指导的前人的著作和作者表示深深的感谢,他们的著作指引许多人从入门直到成为专家。对网上热心的教程写作者进行感谢,他们默默无闻、不计报酬的传播知识的态度令人敬佩。对我的家人和朋友,尤其是我的母亲表示歉意和感谢,他们对我写作本书时的“躲进小楼成一统”一直包容和体谅着。
韩国峰
2008年6月8日