目录
第1篇 Java语言基础 第1章 Java语言概述 1 1.1 Java语言的发展简史 1 1.2 Java 2 SDK的版本 2 1.3 Java程序的运行机制 3 1.3.1 不错语言程序的运行机制 3 1.3.2 Java程序的运行机制与JVM 4 1.4 Java程序的运行环境 5 1.4.1 安装JDK 5 1.4.2 设置Java程序的运行环境 7 1.5 开发Java Application 9 1.5.1 Java API概述 9 1.5.2 Java Application的编译与运行 9 1.6 JDK开发工具 11 1.7 本章小结 12 1.8 课后习题 12 第2章 Java语言基础知识 13 2.1 注释 13 2.2 标识符与关键字 15 2.2.1 分隔符 15 2.2.2 标识符 16 2.2.3 关键字 16 2.2.4 标识符的命名 16 2.3 基本数据类型 17 2.3.1 整数类型 17 2.3.2 浮点数类型 17 2.3.3 字符类型 18 2.3.4 布尔类型 18 2.4 常量 18 2.4.1 整型常量 18 2.4.2 浮点型常量 20 2.4.3 字符型常量 21 2.4.4 布尔型常量 21 2.5 基本数据类型的相互转换 21 2.5.1 自动转换 22 2.5.2 强制转换 22 2.6 运算符 23 2.6.1 算术运算符 23 2.6.2 关系运算符 24 2.6.3 逻辑运算符 25 2.6.4 位运算符 26 2.6.5 赋值运算符 27 2.6.6 三元运算符 28 2.7 运算符的优先级与结合性 29 2.8 流程控制 29 2.8.1 分支结构 29 2.8.2 循环结构 32 2.8.3 控制循环结构 34 2.9 本章小结 36 2.10 课后习题 36 第3章 Java语言的面向对象特性 39 3.1 类与对象 39 3.1.1 类的定义 39 3.1.2 成员变量与局部变量 40 3.1.3 成员方法 42 3.1.4 对象的创建 44 3.1.5 对象的使用 45 3.1.6 对象的销毁 46 3.1.7 方法重载 47 3.1.8 关键字this 48 3.1.9 构造方法 49 3.2 封装 51 3.2.1 封装的概念 51 3.2.2 访问控制 52 3.2.3 package与import 55 3.3 继承与多态 57 3.3.1 继承 57 3.3.2 方法的重写 60 3.3.3 多态 61 3.3.4 对象类型的强制转换 63 3.3.5 Object类 65 3.4 数组 66 3.4.1 一维数组 66 3.4.2 多维数组 69 3.4.3 数组的复制 71 3.5 本章小结 72 3.6 课后习题 72 第4章 Java语言面向对象的不错特性 74 4.1 基本数据类型的包装类 74 4.2 处理对象 78 4.2.1 打印对象与toString()方法 78 4.2.2 “==”运算符与equals()方法 79 4.3 关键字static 81 4.3.1 类变量与实例变量 81 4.3.2 类方法与实例方法 82 4.3.3 静态初始化代码块 82 4.3.4 静态导入 83 4.4 关键字final 84 4.5 抽象类 85 4.5.1 抽象类的定义 86 4.5.2 抽象类的作用 87 4.6 接口 89 4.6.1 接口的定义 90 4.6.2 接口的实现 91 4.6.3 多重继承 91 4.6.4 接口与抽象类 92 4.6.5 接口的新特性 94 4.7 内部类 97 4.7.1 内部类的定义 97 4.7.2 内部类的使用 98 4.7.3 内部类的特性 98 4.8 枚举类 103 4.8.1 枚举类的定义 104 4.8.2 实现接口的枚举类 107 4.8.3 包含抽象方法的枚举类 108 4.9 本章小结 109 4.10 课后习题 109 第5章 Java语言异常处理 118 5.1 概述 118 5.2 异常处理机制 120 5.2.1 捕获并处理异常 120 5.2.2 将方法中产生的异常抛出 123 5.3 自定义异常类 125 5.3.1 必要性与原则 125 5.3.2 定义与使用 127 5.4 Java的异常跟踪栈 129 5.5 本章小结 130 5.6 课后习题 130 第6章 Java语言泛型编程 132 6.1 概述 132 6.2 使用泛型 134 6.2.1 定义泛型类、泛型接口 134 6.2.2 从泛型类派生子类 136 6.3 类型通配符 138 6.4 泛型方法 141 6.5 擦除与转换 142 6.6 泛型与数组 144 6.7 本章小结 144 6.8 课后习题 144 第7章 Java语言输入/输出 149 7.1 Java I/O流 149 7.1.1 流的概念 149 7.1.2 字节流 150 7.1.3 字符流 151 7.1.4 I/O流的套接 153 7.1.5 常用的I/O流 153 7.2 File类 162 7.2.1 创建File类对象 162 7.2.2 操作File类对象 162 7.3 RandomAccessFile类 164 7.3.1 创建RandomAccessFile类对象 164 7.3.2 操作RandomAccessFile类对象 165 7.4 对象序列化 166 7.4.1 基本概念 166 7.4.2 对象序列化的方法 166 7.4.3 构造可序列化对象的类 167 7.5 本章小结 170 7.6 课后习题 170 第8章 类型封装器、自动装箱与注解 177 8.1 类型封装器 177 8.1.1 Character封装器 177 8.1.2 Boolean封装器 177 8.1.3 数值类型封装器 178 8.2 自动装箱 178 8.2.1 自动装箱的方法 179 8.2.2 表达式中发生的自动装箱/拆箱 179 8.2.3 布尔类型和字符类型的数值的自动装箱/拆箱 181 8.3 注解 181 8.3.1 基础知识 181 8.3.2 定义保留策略 182 8.4 本章小结 182 8.5 课后习题 183 第9章 Lambda表达式 184 9.1 Lambda表达式简介 184 9.2 Lambda表达式的简化形式 186 9.3 作为参数使用Lambda表达式 188 9.4 访问变量 188 9.5 本章小结 191 9.6 课后习题 191 第2篇 Java Web应用开发技术 第10章 Oracle JDeveloper 10g概述 193 10.1 Java 2企业版概述 193 10.1.1 Java EE体系结构 193 10.1.2 客户层 194 10.1.3 表示层 195 10.1.4 业务层 195 10.1.5 企业信息系统层 195 10.2 安装Oracle JDeveloper 10g 196 10.3 集成开发环境(IDE) 197 10.3.1 命令工作区 198 10.3.2 开发工作区 199 10.3.3 信息浏览工作区 200 10.4 联机帮助 201 10.5 IDE工作环境配置 202 10.6 JDeveloper对象库 202 10.7 本章小结 203 第11章 Oracle AS 10g Container for Java EE 205 11.1 Java EE应用的构成 205 11.2 OC4J概述 207 11.3 OC4J应用开发特性 208 11.4 初始化OC4J 210 11.5 使用和部署Web应用 211 11.5.1 注册Web应用 211 11.5.2 Web应用结构 212 11.6 本章小结 213 第12章 基本Servlet程序设计 214 12.1 Servlet的基本概念 214 12.2 基本Servlet结构 215 12.2.1 GenericServlet与HttpServlet 215 12.2.2 Servlet的生命周期 216 12.3 用Oracle JDeveloper 10g开发Servlet 217 12.3.1 创建基本的Servlet 217 12.3.2 分析BasicServlet类 220 12.3.3 部署Web应用 221 12.4 本章小结 226 第13章 Servlet API 2.3程序设计 227 13.1 javax.servlet包 227 13.1.1 javax.servlet接口 227 13.1.2 javax.servlet类 228 13.1.3 Servlet接口 229 13.1.4 GenericServlet类 229 13.1.5 ServletRequest接口 229 13.1.6 ServletResponse接口 230 13.2 javax.servlet.http包 230 13.2.1 HttpServletRequest接口 230 13.2.2 HttpServletResponse接口 231 13.2.3 HttpServlet类 232 13.3 构造一个HTTP请求头的Servlet 233 13.4 Servlet会话处理 235 13.4.1 HttpSession接口 235 13.4.2 计数器Servlet 236 13.5 本章小结 237 第14章 基本JSP程序设计 238 14.1 JSP概述 238 14.1.1 JSP的运行原理 238 14.1.2 JSP的生命周期 239 14.1.3 JSP的执行过程 240 14.2 JSP脚本元素 240 14.3 基于IDE开发JSP页面 242 14.4 JSP隐含对象 244 14.4.1 对象的使用范围 245 14.4.2 request对象 245 14.4.3 response对象 246 14.4.4 out对象 249 14.4.5 session对象 250 14.4.6 application对象 254 14.4.7 page与config对象 255 14.4.8 pageContext对象 256 14.5 本章小结 256 第15章 JSP指令、操作与JavaBean 258 15.1 JSP指令 258 15.1.1 page指令 259 15.1.2 include指令 262 15.2 JSP操作 263 15.2.1 <jsp:include>与<jsp:param>操作 263 15.2.2 <jsp:forward>操作 263 15.3 JSP与JavaBean 265 15.3.1 JavaBean的存取范围 265 15.3.2 使用JavaBean 265 15.3.3 JavaBean在JSP中的应用 267 15.4 本章小结 269 第3篇 Java数据库开发技术 第16章 Oracle DB XE基础知识 271 16.1 Oracle DB XE简介 271 16.2 Oracle DB XE系统需求 272 16.3 安装Oracle DB XE 272 16.4 Oracle DB XE体系结构 274 16.4.1 Oracle实例 274 16.4.2 Oracle数据库 275 16.5 启动和停止Oracle DB XE 276 16.6 连接Oracle DB XE 277 16.7 Oracle Application Express 277 16.8 本章小结 280 第17章 Oracle DB XE模式对象 281 17.1 SQL概述 281 17.2 数据库模式对象 281 17.3 创建表 283 17.4 维护表结构 287 17.5 输入和修改表数据 287 17.6 本章小结 288 第18章 用SQL访问Oracle DB XE 289 18.1 SQL函数 289 18.1.1 数值型函数 289 18.1.2 字符型函数 290 18.1.3 日期型函数 290 18.1.4 转换函数 291 18.1.5 聚集函数 291 18.2 SQL操作符 292 18.3 用SQL查询数据 293 18.4 用SQL输入数据 299 18.5 用SQL更新数据 300 18.6 用SQL删除数据 301 18.7 本章小结 302 第19章 Oracle JDBC程序设计 303 19.1 JDBC的基本概念 303 19.2 java.sql包 304 19.3 JDBC的工作原理 305 19.4 JDBC驱动程序 306 19.5 基于JDBC API访问通用数据库 308 19.6 基于JDBC API连接Oracle DB XE 310 19.6.1 Oracle JDBC驱动程序 310 19.6.2 命名服务与目录服务 312 19.6.3 javax.sql包 313 19.6.4 JDBC数据源 314 19.6.5 基于Oracle JDeveloper 10g连接Oracle DB XE 317 19.6.6 PL/SQL程序设计环境 322 19.7 本章小结 323 第20章 基于JDBC API的Web应用开发 324 20.1 Connection接口 324 20.2 Statement接口 325 20.3 SQLException类 327 20.4 ResultSet接口 328 20.4.1 串行访问ResultSet 328 20.4.2 ResultSet接口中的方法 329 20.4.3 结果集元数据 331 20.4.4 可被更新和滚动的结果集 332 20.5 PreparedStatement接口 335 20.6 CallableStatement接口 337 20.7 DatabaseMetaData接口 338 20.8 本章小结 340 第21章 Java EE Web应用开发案例分析 341 21.1 Web应用设计的重要性 341 21.2 问题的提出 342 21.3 MVC设计模式 343 21.4 结构化Web应用 345 21.5 Java EE Web应用开发案例 347 21.5.1 数据表的设计 347 21.5.2 功能概述 347 21.5.3 体系结构 348 21.5.4 显示模块的设计 350 21.5.5 修改模块的设计 352 21.5.6 添加模块的设计 356 21.5.7 删除模块的设计 358 21.6 本章小结 359 参考文献 360
内容摘要
1.1Java语言的发展简史
1991年,Sun 公司(现在已经被Oracle 公司收购)由James Gosling和Patrick Naughton领导的名为Green的项目研究小组,为了方便在消费类电子产品上开发应用程序,试图寻找一种合适的编程语言。消费类电子产品种类繁多,包括PDA、机顶盒和手机等。即使同一类消费电子产品所采用的处理器芯片和操作系统也不尽相同,并且还存在着跨平台的问题。起初,Green小组考虑用C++语言编写应用程序,但是研究表明,对消费类电子产品而言,C++程序过于复杂和庞大,安全性也不令人满意。最后,Green小组基于C++语言开发出了一种全新的编程语言——Oak。Oak语言采用了许多C语言的语法,提高了安全性,并且是一种完全面向对象的程序设计语言。但是由于种种原因,Oak 语言在商业上并没有获得成功。而随着Internet的发展,Sun公司发现Oak语言具有的跨平台、面向对象、安全性等特点非常符合Internet的需要,于是对Oak语言的设计做了改进,使其具有适用于Internet应用与开发的特点,并最终将这种编程语言命名为Java。
1995年5月23日,Sun公司在Sun World 95大会上正式发布了Java 语言,以及使用Java语言开发的浏览器HotJava。Java 语言被美国著名的IT杂志PCMagazine 评为“1995年十大优秀科技产品”之一。HotJava使Java语言第一次以Applet的形式出现在Internet上。Applet既可以实现WWW静态页面的内容显示,又可以实现动态页面的内容显示和动画功能,充分表现出Java语言是一种适用于Internet应用程序开发的编程语言。同时,Sun公司决定通过Internet让世界上所有的软件开发人员都可以免费地下载用于开发和运行Java程序的JDK(JavaDevelopment Kit)。
Java语言与C和C++语言有着直接的关联。Java语言的语法继承自C语言,它的对象模型改编自C++语言。Java语言与C和C++语言的这种关联非常重要,因为C/C++语言的程序员可以很容易地学习Java语言。反之,Java语言的程序员也可以比较容易地学习C/C++语言。
需要注意的是,Java语言并不是C++语言的增强版,Java语言与C++语言既不向上兼容,也不向下兼容。Java语言并不是用来取代C++语言的,两者将会并存很长一段时间。
1996年1月,Sun 公司发布了JDK1.0。JDK是用于编译、运行Java Application和JavaApplet的Java SDK(Software Development Kit)。1997年2月,Sun公司发布了JDK 1.1。与JDK 1.0的编译器不同,JDK 1.1增加了即时(Just-In-Time,JIT)编译器,它可以将指令保存在内存中,当下次调用时不再需要重新编译,从而提升了Java程序的执行效率。1998年12月,Sun公司在发布JDK 1.2时,使用了新的命名方式,即Java 2 Platform。而修订后的JDK被称为J2SDK(Java 2 Platform Software Developing Kit),并分为标准版 J2SE(Java 2 StandardEdition)、企业版J2EE(Java 2 Enterprise Edition) 和微型版J2ME(Java 2 Micro Edition)。2000年5月,Sun公司发布了JDK1.4。JDK1.4由于有IBM、Compaq和Fujitsu等公司的参与,使得Java语言在企业应用领域得到了突飞猛进的发展,涌现出了大量基于Java语言的开放式源代码框架(如Struck、Hibernate和Spring等)和大量的企业级应用服务器(如BEA WebLogic、Oracle AS和IBM WebSphere等),标志着Java语言进入了一个飞速发展的时期。2004年10月,Sun公司发布了JDK 1.5。在JDK1.5中增加了泛型、增强的for语句、注释(Annotation)、自动拆箱和装箱等功能。2005年6月,在JavaOne大会上,Sun公司发布了Java SE6,并对各种版本的JDK统一更名。例如,J2SE被更名为Java SE,J2EE被更名为Java EE,J2ME被更名为Java ME。
在Java语言的早期阶段,Applet是Java编程的一个关键部分。Applet不仅给Web页面添加了动态页面,还是Java语言的高度可视化部分。但是,Applet依赖于Java浏览器插件,它
的运行必须得到浏览器的支持。最近,Java浏览器插件对Applet的支持程度已经逐渐减弱。因为没有浏览器的支持,Applet就是不可见的。基于这个原因,从JDK9开始,不再推荐使用Java对Applet的支持功能。这就意味着这个特性在将来的版本中将被删除。
1.2 Java 2 SDK的版本
1. Java SE
Java SE为开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java Application提供了支持。Java SE包含支持Java Web服务开发的类,并为Java EE提供基础架构。Java SE主要包括J2SDK Standard Edition和Java 2 Runtime Environment(JRE)Standard Edition,Java的主要技术都将在这个版本中体现出来。
精彩内容
本书基于JDK 9编写,书中除了介绍Java语言的基本语法和面向对象程序设计等内容,还介绍了Servlet、JSP和JavaBean等Java EE Web开发技术,以及如何用Oracle JDeveloper 10g这个强大的IDE开发Java Web应用等。本书共21章,分为Java语言基础、Java Web应用开发技术和Java数据库开发技术3篇。书中每章都有实例,并且在最后一章中给出了基于MVC设计模式开发的Java EE Web应用开发案例分析。作者对重点实例还阐述了编程思想并归纳了必要的结论和概念。本书在编写上充分体现了简单易学的特点,步骤清晰、内容丰富,并带有大量插图,以帮助读者理解基本内容。同时,本书对内容的编排和例题的选择进行了严格的控制,确保一定的深度与广度。本书可以作为本科(包括职业本科)和高职高专院校Java Web应用开发相关课程的教材,也可以作为工程技术人员的参考用书。
以下为对购买帮助不大的评价