前言
从互联网诞生那天起,互联网技术的进步和应用就从未放慢发展的脚步。最近几年,网络基础设施建设日益完善,WiFi更加普及,网络资源及应用增长迅猛,智能手机与移动应用发展迅速,新的概念和应用不断涌现,网络应用已经深入人心。与此同时,几年来,我对教育的理解,对高等教育人才培养、对课程和教师的责任也在不断地进行反思,一种新的教学理念日趋成熟,就是在课程教学中教师要做到: 从知识传授到能力培养和素养形成的转变,每门课都应为学生的素养形成做出贡献。为此,定位于专业基础课和通识类教育教材的《Web技术导论》又到了修订的时候了。
回顾本书的写作初衷和2005年2月的第一次出版,十多年过去了,虽然互联网的应用已经今非昔比,但令人欣慰的是,本书以B/S三层架构为主线的知识结构设计,显示出了强大的生命力,表明了这种结构的科学性和合理性,它始终是我们认识互联网、进行互联网开发与应用的思维主线。在学习的过程中,没有什么比思想的升华和思维的感悟更令人快乐了,这些年来,对互联网技术的咀嚼,让我们汲取着技术的营养和滋润,也慢慢地体会到互联网技术的美好。
光阴荏苒,从《Web技术导论(第3版)》出版到现在,一晃又是五年。在我的课堂教学和Web系统研发中,对Web系统的认识不断深入。特别是对Web研发中的许多技术问题,有了新的体会,对互联网应用创新有了新的感悟,也恰逢“互联网+”这样一个时代背景,我应该把这些新的东西写出来,和大家分享,希望哪怕是一点点思路和想法对你的学习和工作有所启发和帮助,都会令我获得很大的欣慰。
本次改版最大的考虑就是突出重点,对于实用性弱的内容,加强思想凝练,减少篇幅。例如,对于Web服务、XML技术,重点讲解思想,具体内容的讲解将减少。对于HTML,将增加HTML5内容的讲解,突出CSS等重点应用。另外,对数据库SQL语言,客户端编程、服务端编程,设计的代码案例更加突出实用,强调代码质量,对那些没有实际应用背景、纯粹的语法例子代码进行了删减。
本次改版仍分为6章,主要内容如下。
第1章Web基础。介绍Internet的产生和发展,万维网的概念,HTTP通信原理,以及Web应用的概念。介绍Web相关核心技术,包括Java技术、XML技术、Web服务等。介绍计算机应用模式的演变,讲解C/S架构和B/S架构的思想和结构。
第2章Web服务器的架设和管理。介绍Web服务器的概念,Web服务器的功能。主要讲解Windows服务器中IIS的配置和管理,讲解Apache和Tomcat的功能以及它们的关系,Apache和Tomcat的架设和管理,讲解虚拟主机和虚拟目录的概念及其配置方法。
第3章标记语言HTML基础。讲解标记语言思想,然后详细介绍HTML标记语言的语法,对CSS技术、图层进行了深入讲解,并安排了大量的例子解释相关标记的含义和使用。对可扩展标记语言XML的思想、XML和HTML的本质区别做了简单介绍。
第4章网页设计与制作。网页作为Web应用的主要用户界面,在HTML基础上,加强了网页设计的讲解,包括: 页面功能与内容设计、页面布局设计、页面视觉设计以及页面效果设计等。介绍了相关的开发工具,包括SublimeText代码编辑器,MyEclipse集成开发环境以及Dreamweaver页面制作工具。
第5章客户端编程。首先讲解Web浏览器的基本工作原理,然后讲解客户端脚本程序设计语言JavaScript、浏览器对象模型BOM、HTML文档对象模型DOM等内容,AJAX技术,以及JavaScript库jQuery等。通过三个综合案例,详细讲解了JavaScript中菜单的实现、表单数据的有效性验证、表单数据的处理等问题。这些综合案例中包含了许多Web开发中所需要的代码,相信通过这些案例的学习,对你的Web开发能力会有所帮助。
第6章服务端编程。介绍了互联网中Web应用系统的概念,讲解了B/S三层结构、客户端与服务端编程、字符编码、网络攻击与信息安全等重要问题。讲解了Java程序设计语言基础,包括Java技术的特点、类与对象、接口、包等基本概念,介绍了JavaBean、Servlet服务器程序的概念,这些概念是开展基于Java技术的服务端编程的基础。重点讲解了JSP技术和数据库编程。在本次修订中,删除了原有占用较大篇幅的综合案例,增加了Web系统设计与开发一节,介绍了Web系统开发的基本流程、相关文档结构及软件工具。
笔者作为互联网用户和Web技术的开发者、实践者,同时作为一名学院派和公司派相结合的高校教师,希望这本书的知识结构和内容对于读者了解Internet和WWW,学习Web系统开发,进行Web编程,以及提高Web应用水平等能有所帮助。也希望书中的大量实例在读者未来的Web研发中,能给读者的编程以启发,为读者节省宝贵的项目研发时间。软件开发是一个积累的过程,让我们一起在这种积累中进步,来享受成功的乐趣。
在本书的写作过程中,非常感谢我的同事巩裕伟老师、焦文江老师、杨兴强老师、阚铮老师和李蕴老师的工作及提出的建议与意见,感谢使用本书的众多高校任课老师对本书的认可及对本书修订提出的建议与意见,感谢我的学生王洪岩、候明良、罗琦、刘义明、苏雪、常跃峰、崔旭、朱岩、田容雨、张会昌、卢艳萍、田韶存等,他们都参与了许多项目的研发工作,编写了大量程序代码,祝愿他们在以后的工作和生活中一切顺利,取得更大的成绩。此外,还要感谢山东大学本科生院、山东大学研究生院的立项支持,感谢教育部全国高校教师网培中心对本书的厚爱,感谢清华大学出版社付弘宇编辑长期以来对本书的辛勤付出。
由于本书涉及的内容非常广泛,在深度和广度上很难做到完美,同时,也由于作者本人的知识面和精力有限,书中肯定存在错误和不足,敬请各位同行和读者批评指正。
本书的配套课件等相关资源可以从清华大学出版社网站www.tup.com.cn下载,在本书或课件的下载使用中遇到任何问题,请联系fuhy@tup.tsinghua.edu.cn。
作者Email: hxw@sdu.edu.cn。
郝兴伟
2018年1月