第1部分:Internet技术基础
第1章 Internet与W eb基础知识(3)
1.1 Internet与Web的发展历程(3)
1.2 Internet与Intranet(4)
1.3 Web的特点(5)
1.4 Internet提供的服务(6)
1.5 使用Internet(7)
第2章 W eb协议(10)
2.1 分组交换技术(10)
2.2 TCP/IP协议(11)
2.3 路由器(14)
2.4 IP地址(14)
2.5 DNS域名系统(16)
2.6 客户机/服务器工作模式(17)
2.7 HTTP协议(18)
第3章 简单的W eb文档(20)
3.1 用HTML创建一个简单的Web文档(20)
3.2 HTML的段落级标记元素(23)
3.3 HTML的文本级标记元素(25)
3.4 表格制作(27)
3.5 框架(FRAME)(27)
3.6 XML语言(28)
3.7 FrontPage 2000简介(39)
第4章 JavaScript(40)
4.1 JavaScript的含义(40)
4.2 JavaScript的基本特点(44)
4.3 事件与函数(44)
4.4 JavaScript与框架(FRAME)(50)
4.5 状态行(55)
4.6 数组(58)
4.7 表单(59)
第5章 W eb网站设计准则(64)
5.1 定义网站的目标(64)
5.2 概要设计(66)
5.3 网站功能设计(68)
5.4 网站结构设计(70)
5.5 网站的艺术性设计(72)
第2部分:Java程序设计语言第6章 Java概述(77)
6.1 Java简介(77)
6.2 Java平台的安装和执行环境(79)
第7章 Java语言的基本概念及流程控制(84)
7.1 Java语言基础(84)
7.2 标识符与关键字(90)
7.3 常量与变量(91)
7.4 运算符及其优先级(95)
7.5 条件语句(96)
7.6 循环语句(98)
7.7 转移语句与返回语句(98)
7.8 异常处理(99)
第8章 Java小应用程序applet(102)
8.1 applet简介(102)
8.2 applet的创建(103)
8.3 applet类和方法(105)
8.4 applet的应用(107)
第9章Java的多线程机制与I/O 操作(118)
9.1 多线程机制的含义(118)
9.2 多线程机制的实现(118)
9.3 THREAD类(121)
9.4 线程的生命周期(122)
9.5 创建用户界面(127)
9.6 应用程序对文件的访问(131)
第10章 JAVA 网络程序设计(137)
10.1 网络程序设计概述(137)
10.2 Java·net包(137)
10.3 服务器程序的编写(141)
10.4 客户机程序的编写(144)
2Web设计原理与编程技术第3部分:企业W eb技术
第11章 CGI技术(149)
11.1 CGI基础(149)
11.2 CGI接口规范(152)
11.3 CGI的传送方式(157)
11.4 FORM 表单和CGI(158)
11.5 使用C语言编写CGI程序(166)
第12章 Java Server Page概述(172)
12.1 Java Server Page简介(172)
12.2 JSP与ASP的比较(173)
12.3 JSP和XML 的集成(176)
12.4 Servlet介绍(179)
12.5 JSP与Servlet的关系(180)
12.6 JSP的发展前景(182)
第13章 JSP运行和开发环境(183)
13.1 JSP运行和开发环境概述(183)
13.2 JSP开发运行环境的安装(185)
13.3 JSP开发工具(193)
第14章 JSP语法(194)
14.1 JSP的基本构成(194)
14.2 脚本元素(195)
14.3 指令元素(196)
14.4 动作元素(203)
14.5 JSP内建对象(211)
第15章 JSP与JavaBean(223)
15.1 JavaBean组件概述(223)
15.2 JSP中的JavaBean(224)
15.3 JSP中使用JavaBean(227)
第16章 JSP访问数据库编程(232)
16.1 JDBC简介(232)
16.2 JDBC数据访问模型(232)
16.3 常用的JDBC API简介(234)
16.4 JDBC在JSP中的应用(238)
附录A(248)
过去的几年中,由于SUN 公司开发的Internet产品——Java闯入人们的视野,Internet应用在我们的眼前豁然开朗,一个前所未有的、全新的Web天地出现在人们面前。世界上无数的企业出于竞争、减少成本和进一步提高生产效率的目的而把自身与复杂的互联网络联在一起,越来越多的企业意识到必须在自己的公司架构起Internet/Intranet系统,一方面让世界各地的人在Internet上通过浏览器来访问公司的Web服务器以及后台数据库服务器上的商业信息,另一方面建立电子商务,即企业到客户(B2C)、企业到企业(B2B)、企业应用集成(EAI)等。一时间,基于Internet技术开发Web应用的狂潮席卷全球。市场的火爆使掌握了Internet技术与Web编程的大学毕业生在求职市场十分抢手,为适应计算机网络技术的发展和市场需求,我校计算机科学与工程学院不失时机地在高年级大学生中开设了课程《Web设计原理与编程技术》。作者开课3年的实践证明,该课程不仅深受计算机专业学生们的欢迎,而且还吸引了大量外院学生旁听。然而,每一次当我们为学生选购教材时,情况却令人吃惊。由于《Web设计原理与编程技术》课程内容必须包括Internet基础技术、客户/服务器编程、网站架构设计、Web编程等知识,而这些内容涉及HTML/XML、JavaScript、Java、CGI、Servlet、JSP、JavaBean、JDBC技术等必要的教学内容。尽管市面上在需要的大部分领域都有不少好书,但我们发现要购买3本、4本甚至5本书才能很好地满足本门课程的教学需要。为此,过去的3年中,我们不得不从一大堆相关书籍和网上在线参考资料中组织自编讲义。我们相信其他兄弟院校肯定也遇到了同样的问题。因此,我们认为,尽快编写一本系统地介绍有关Internet与Web设计技术的教材成为当务之急。编写《Web设计原理与编程技术》教材最难处理的恐怕是内容的取舍问题。Internet技术的飞速发展使得新的网络技术和新的网络服务不断问世,Web设计技术和产品也日新月异,在非常有限的篇幅和不断挤压的专业课时中,应当将哪些最为重要、最为实用的内容交给学生呢?在浩瀚无际的Internet海洋中,如何把握Internet的核心内容,如何把握Web设计主流技术的发展方向,这是作者必须认真思考的问题。我们认为在大学的课堂中最重要的是把基本原理和技术的基本思路讲清楚,显然不应该将教材写成技术手册或技术规范文档,新的、但还不成熟的内容也不宜写入教材。考虑到技术驱动和市场驱动两个因素,我们把能够提供企业Internet/Intranet一揽子解决方案的Java技术作为一条主线来组织本教材,这在国外目前十分流行。这一观点在湖南省计算机学会规划教材研讨会上也得到了兄弟院校同行和专家们的认可。根据这一思想,我们在编写教材时将本书分为3部分、共计16章,下面对每一部分做一个简要的介绍。第1部分:Internet技术基础(1~5章)Internet是Web设计的底层通信基础,只有先理解网络通信,才能进行专业级的 Web设计。在这一部分中,我们介绍了作为Internet许多其他的通信协议基础的TCP/IP协议栈的体系结构;利用Socket套接字建立客户/服务器应用程序的概念和Web的通信协议HTTP。这部分可作为《计算机网络》课程有关互联网内容的补充,其目的是试图让学生们对Internet有一1前 言个较全面的认识。服务器的JavaScript并不多见,但嵌入Web文档中、在客户端的浏览器里解释执行的JavaScript却很流行,作为易于掌握Web编程技术,目前还不能割省这方面的内容。Web网站设计准则一章则从软件工程的观点阐述了作为一名专业级人员如何来思考网站设计。读者通过第1部分的学习应该掌握了基本网页的制作。第2部分:Java程序设计语言(6~10章)不了解Java,就不了解Internet编程。这不仅是因为Java天生就是Internet的编程语言,而且还是由于它具有如下卓越的特性:真正的面向对象程序设计语言;与平台无关的体系结构;支持多线程和强大的网络编程功能;无指针以及完善的安全机制。尽管Java是一种通用程序设计语言,它的功能十分强大,但我们有选择性地介绍了 Javaapplet、多线程、I/O技术以及网络编程等内容,我们认为这些知识与Web设计技术是息息相关的。读者通过第2部分的学习应该掌握了基本的 Java编程,特别应该掌握客户/服务器应用程序的编程。第3部分:企业W eb技术(11 ~16章)基于CGI的Web设计技术是一种解决与以任何语言编写的后端应用程序之间进行通信的传统方法。对于许多需要快速开发Web应用程序和提供动态生成Web页面内容的开发人员而言,它也是一种相当简单的编程模式。Java2platform EnterpriseEdition简称为J2EE,是Sun公司为大中型企业应用建立的高水准的结构,它获得了各大开发平台,如UNIX、LINUX、Windows提供商的积极支持,并已成为当今企业应用开发的主流产品。JSP技术是J2EE平台上的一个关键性的组件。由于JSP技术被设计成独立于平台和服务器,我们可以利用这一技术建立先进、安全和跨平台的动态网站。它的建立来源于通用的工具、服务器和数据库供应商,因此,我们认为JSP有着非常广泛的发展前景,这就是我们为什么摈弃目前还很流行的ASP的主要原因。本课程的前导课程为《操作系统》、《数据库系统》以及《计算机网络》前半部分的基础知识。适宜大学四年级计算机和其他相关专业的本科生使用。建议理论学习40学时,上机实验8学时,可另附加课程设计。本教材以作者近3年的讲义为写作基础,对全部内容做了调整和重写,其中徐建波教授编写了第1~5章,周新莲博士编写了第6~10章,蒋云霞同志编写了第12~16章,杨鼎同志编写了第11章。姜腊林同志修改和审定了第1~2章,习胜丰、陈爱民同志修改和审定了第3~4章,王楚正同志修改和审定了第13~14章,毛宇同志修改和审定了第15章,章才能同志修改和审定了第16章,徐建波教授最后对全书统一做了增删和修改,并最后定稿。由于作者水平有限,加上时间紧迫,书中难免还存在一些缺点和错误,殷切希望读者批评指正。作者的电子邮件地址:jbxu@ hnust.edu.cn
编 者
2005年5月