图书前言

Java于1995年诞生,至今有18个年头了。在这18年间,它已经发展成Internet时代最伟大的计算机语言。它具有跨平台、纯粹的面向对象、适合于单机和网络编程等诸多优点。无论在桌面系统(JavaSE)、企业分布式计算(JavaEE)以及嵌入式设备(JavaME)的开发和应用上,Java语言都提供了简单而且富有成效的解决方案。Java语言的使用是免费的,开放源代码的。全世界的许多计算机专家,各种机构、公司、大学等都在为Java的发展出谋划策,而这一切都源自于Sun公司(2009年被Oracle公司收购)天才们的构想和激情的创造。

国内许多高校在1999年前后就开始开设这门课程,在美国和其他发达国家,Java语言这门课程更为普及,甚至连文科专业也开设。由于Java技术发展日新月异,旧的教材已经跟不上教学的要求。尤其在今天,网络技术走向成熟,JavaEE、JavaME大行其道,许多新技术层出不穷,JavaSE 7.0新版本、新特性的推出更方便了程序的编写。

在2006年3月初春的时候,《Java程序设计之网络编程》第1版由清华大学出版社正式出版,至今已有6年的时间了。承蒙广大读者的厚爱,到2009年该书第2版出版之前,已经6次印刷,销售量达到1万7千余册,已达到畅销书的水平,这是一个可喜的成绩。在2008年“第八届全国高校出版社优秀畅销书”评选活动中,该书荣获二等奖。多年来,许多老师和读者给该书提出了相当多的宝贵意见,使笔者受益匪浅。

2008年3月,由笔者主编的《JavaEE Web编程(Eclipse平台)》一书在USA IBM公司创新奖项(IBM Eclipse Innovation Award)和Eclipse联盟的大力支持下在机械工业出版社出版,该书一经出版也取得了相当好的销量,至今已经三次印刷。该书可以作为大学计算机专业的教材,同时为Java技术爱好者学习JavaEE技术(如Servlet、JSP、Struts、Hibernate、Sping、Tomcat等)提供了一个好的选择。

2009年8月,我们在清华大学出版社出版了《Java程序设计之网络编程(第2版)》。该书重点放在了两个方面,一方面是Java面向对象基础编程,另一方面重点放在介绍网络编程方面,包括了Applet、网络通信技术、Java安全技术、Servlet与JSP技术、JavaEE概念、JavaEE流行框架以及JavaME等技术。虽然该书不失为一本好的教材,也取得了较好的销量,但由于内容全面、知识点过多,导致篇幅较大,对初学者造成一定的困惑。正是由于这个原因,我们决定编写本书。

本书其实就是《Java程序设计之网络编程(第2版)》的精简版。一方面压缩JavaEE中的高端内容,另一方面将目前Java语言的最新发展、新技术反映到该书中,为Java程序设计语言的学习提供较好的选择。

本书分两个重点,一是Java面向对象基础编程。我们知道,万丈高楼从地起,再好的房子也得从基础开始。所以在数据类型、程序流程控制、面向对象概念、类、继承、接口、字符串、异常以及Java最基础的类库等方面都进行了详细的论述。同时本书中也介绍了线程、输入输出技术、图形界面编程、JDBC数据库技术等内容。二是重点放在网络编程方面,包括了Applet、网络通信技术、Servlet和JSP技术以及JavaEE流行框架等技术。Java技术框架目前发展得非常庞大,应该对其主要的技术进行了解,以便为今后的学习打下坚实的基础。其实Java技术每一个方面的内容都非常丰富和精深,可以很好地解决实际问题。这正是Java的魅力所在。

下面介绍本书各章内容。

第1章介绍Java基础知识,如Java产生的历史、发展、简单的输入输出、JDK开发环境和一些集成开发环境的介绍。

第2章详细介绍简单数据类型、运算符、数组等内容。

第3章详细介绍程序流程控制。

第4章详细介绍Java面向对象的特点,如抽象、多态、封装等,对对象、类进行了详细的介绍。

第5章详细介绍了继承、接口、内部类等内容。

第6章详细介绍字符串处理相关类的使用及字符串和其他数据的转换。

第7章详细介绍java.lang和java.util包中所定义的类和接口,尤其详细介绍了Java的集合框架。

第8章详细介绍Java异常处理机制。

第9章详细介绍Java的输入输出机制。

第10章详细介绍Java的线程处理机制。

第11章介绍Java图形用户界面设计、事件处理机制。

第12章介绍Applet的生命周期、主要方法,以及Applet的简单应用。

第13章的内容是数据库编程,介绍JDBC访问数据库的流程、相关的类及接口。学习这一章时需要一定的数据库知识。

第14章主要介绍网络编程技术、包括了URL通信、Socket通信、数据报以及RMI等内容。

第15章主要介绍Web服务器容器、Servlet技术、JSP技术。

第16章主要介绍流行轻型框架,包括了Hibernate框架、Struts框架和Spring框架,同时介绍Hibernate Synchronizer插件。

本书同时力求重点突出、层次清晰严谨、语言通俗易懂、内容覆盖面广。各章均提供了丰富的示例和练习,同时也提供相关内容的多媒体课件(PPT格式)。本书可作为高等院校应用型本科(含部分专科、高职类)各相关专业(如计算机、电子、通信、网络安全等)的程序设计教材,也适合于编程开发人员培训、广大计算机技术爱好者自学使用。

根据作者的教学体会,本书的教学安排可以为40~68学时。如果学时少,可以根据学生的水平删减一部分内容。更详细的教学日历的安排,可以参考重庆大学精品课课程网站http://eol.cqu.edu.cn。

在清华大学出版社的网站(http://www.tup.tsinghua.edu.cn)上提供了本书的所有例题源代码、各章习题参考答案以及各章多媒体课件(PPT格式)。在重庆大学精品课程网站“Java程序设计语言”课程上也提供了同样的内容。在选用本书作为教材时,读者也可以访问该网站上关于Java程序设计教学的其他丰富内容,例如教学大纲、教学日历、实验项目、课程设计、在线考试、案例库、参考文献、精彩文章等内容,均是围绕本教材展开的。

另外,《Java程序设计之实验及课程设计教程》(ISBN 9787302254119)一书已经于2011年7月在清华大学出版社出版,可以作为本书的配套实验用书。

尽管作者在写作过程中投入了大量的时间和精力,但由于水平有限,错误和不足之处仍在所难免,敬请读者批评指正(任何建议或索要课件可以发至邮箱cqlizhx@163.com),我们会在适当时间进行修订和补充,并发布在重庆大学计算机学院Java精品课程网站http://eol.cqu.edu.cn上。

李芝兴编写第1、第4、第5、第6、第8、第13、第15和第16章,杨瑞龙编写第2、第3、第7、第9和第14章,刘骥编写第11和第12章,刑永康编写第10章,曹渝昆编写第13章。李芝兴负责统稿,杨瑞龙对全书提出了许多宝贵的意见。本书的最终出版得到了许多老师和同学的帮助。在本书出版之际,一并向他们表示诚挚的感谢。

编者

2012年8月于重庆大学