前言
ASP是经典的动态网页制作技术,相对于其他几种动态网页开发语言,ASP具有简单易学、运行环境易于配置等优点,是初学者学习Web应用程序设计的理想入门语言,且通过学习ASP能为以后学习其他Web编程技术打下良好的基础。
由于动态网页设计技术的实用性强,在各行各业中应用广泛,已成为一项基本的计算机应用技能。因此在我国高校中有很多专业都开设了动态网页设计方面的课程,该门课程的内容以讲述ASP或ASP.NET两种编程环境最常见。虽然ASP.NET代表更新的技术,但教学难度也更大,主要表现为:
(1) ASP.NET的优点是代码与页面分离,但对于初学者来说,这个优点却变成了“缺点”,因为开发ASP.NET不得不安装Visual Studio和Dreamweaver两种开发软件,而ASP应用程序的开发却可以完全在Dreamweaver中进行。
(2) ASP.NET封装了很多功能细节,如开发者无须编写代码,使用一个数据控件就可以在页面上显示一个数据表,虽然这样入门学习会快些,但不利于了解具体的实现原理。
(3) 对于完成同一个功能的程序而言,ASP.NET的代码通常要比ASP的代码长得多,代码太长浪费阅读时间,且不利于初学者找到代码中的关键内容。
动态网页设计课程的教学目标是让学生了解Web应用程序开发的基本原理,从这一点上看,ASP完全能够满足教学需要,而不必刻意去追求新技术,因为新技术在若干年后也会成为老技术。但本书在最后的附录中总结了ASP和ASP.NET技术的区别,读者在掌握ASP后,再学习这两种技术的不同之处,相信也能很快掌握ASP.NET技术。
目前市场上ASP的教材很多,但这些教材在使用时仍存在一些问题,本书在写作时主要解决以下问题。
(1) 对于安装IIS来说,绝大多数教材都以Windows XP为环境进行介绍,但教学中发现,现在很多学生用的操作系统都是Windows 7,普遍反映不知道如何在Windows 7中安装IIS,因此本书同时介绍了这两种操作系统下IIS的安装。
(2) 对ASP的传统内容去粗取精,Web应用程序的功能主要是查询、添加、删除和修改记录,因此本书对这些功能的实现进行了重点叙述,在普通的ASP程序、生成静态网页的ASP程序和Ajax程序中分别实现了查询、添加、删除和修改等功能模块,并介绍了相关实例。对ASP中一些不常用的或过时的组件,则内容从略。
(3) 在传统ASP教材内容的基础上,增加了新的流行内容,如不使用分页属性对大型记录集进行分页,可生成静态HTML文件的新闻系统,尤其是对基于jQuery的Ajax技术进行了全面的介绍。
(4) Ajax技术已经成为企业开发中应用最广泛的技术之一,不管采用什么样的开发平台,只要开发B/S架构的应用,那么表现层就一定会使用Ajax技术。但对于初学者来说,常常对原始Ajax程序中冗长的代码和晦涩的名称感到畏惧,失去了学习的信心。
但Ajax技术是当今Web编程中非常有必要学习的一种技术,这主要基于以下几方面原因。
(1) Ajax技术非常具有实用价值。目前,无论是大型门户网站,还是电子商务类网站,都充斥着大量Ajax技术应用的典型例子。另外,基于B/S架构的管理信息系统(如ERP)中,也需要大量应用Ajax技术。
(2) 通过学习Ajax技术可以使读者对XML、RSS、Web Service、SOAP这些技术的用途有更深入的理解,是读者学习更高级软件开发技术的一条便捷通道。
(3) 学习Ajax技术的难度其实并不大,一般认为,只要扎实地掌握了JavaScript技术和一门服务器端编程语言(如ASP),就能在短时间内掌握Ajax技术,因为Ajax技术涉及的知识内容并不多,而且jQuery已在很大程度上简化了Ajax的开发。
(4) 通过学习Ajax开发实用的程序能使读者巩固已学习过的JavaScript和ASP的知识。这就是本书使用较大篇幅介绍Ajax技术的初衷。
本书的内容可分为三部分,第1~4章是Web前端开发的内容,第5~8章是ASP动态网页开发的内容,第9章和第10章是基于jQuery的Ajax开发的内容。之所以这样安排,是因为Ajax是一种比较复杂的技术,需要读者对客户端开发和服务器端编程都要有比较深入的理解。因此书中这些内容并不是完全独立的,而是相互联系组成一个整体。如果教师只讲授第5~10章的内容,大概需要54学时,讲授全部内容则需要约80学时。
本书为教师提供了教学用多媒体课件、实例源文件和习题参考答案,可登录清华大学出版社网站免费下载,也可和作者联系(tangsix@163.com)。
本书由唐四薪担任主编,郑光勇、林睦纲担任副主编,唐四薪编写了第3~8章的内容。郑光勇、林睦纲编写了第1章和第2章的部分内容。参加编写的还有: 中兴网信科技有限公司欧阳宏和秦智勇,编写了第9~10章内容; 谭晓兰、喻缘、刘燕群、唐沪湘、刘旭阳、陆彩琴、唐金娟、谢海波、尹军、袁建君等,编写了第2章的部分内容。
本书的写作得到衡阳师范学院“十三五”专业综合改革试点项目“计算机科学与技术”的支持。
由于编者水平和教学经验有限,书中错误和不妥之处在所难免,欢迎广大读者和同行批评指正。
编者2017年6月