第1章 搭建Java开发环境 001
1.1 Java语言的产生与发展 002
1.2 Java语言的特点 002
1.3 搭建Java开发环境 003
1.3.1 下载JDK 003
1.3.2 安装JDK 006
1.3.3 Windows系统下配置和测试JDK 008
1.4 Java程序的开发过程 009
1.5 一个简单的Java应用程序 009
1.5.1 构建Java程序 010
1.5.2 编译和运行Java程序 010
1.5.3 使用Java核心API文档 011
1.6 本章小结 012
第2章 开发工具Eclipse 013
2.1 Eclipse的安装与启动 014
2.1.1 下载Eclipse 014
2.1.2 安装Eclipse中文包 016
2.1.3 启动Eclipse 019
2.2 Eclipse的工作台 020
2.2.1 Eclipse工作台概述 020
2.2.2 透视图 021
2.2.3 视图 022
2.2.4 编辑器 024
2.2.5 熟悉Eclipse的菜单栏和工具栏 025
2.3 编写Java程序 032
2.3.1 新建Java项目 032
2.3.2 新建Java类 033
2.3.3 编写Java代码 035
2.3.4 运行程序 036
2.3.5 保存并关闭Java项目 036
2.4 Eclipse资源管理 037
2.4.1 导入Java类 037
2.4.2 导入Java项目 038
2.4.3 导出Java项目 039
2.5 本章小结 040
第3章 Java语言基础 041
3.1 编码规范 042
3.1.1 Java命名规范 042
3.1.2 代码编写规则 042
3.1.3 Java程序的注释 043
3.2 常量与变量 044
3.2.1 常量的概念及使用 044
3.2.2 变量的概念及命名规则 044
3.2.3 变量的初始化及赋值 045
3.2.4 变量的有效范围 046
3.3 数据类型 048
3.3.1 基本数据类型 048
3.3.2 引用类型 053
3.3.3 基本类型与引用类型的区别 053
3.3.4 数据类型间的转换 055
3.4 运算符 061
3.4.1 赋值运算符 061
3.4.2 算术运算符 063
3.4.3 关系运算符 065
3.4.4 逻辑运算符 069
3.4.5 位运算符 071
3.4.6 字符串连接运算符 074
3.4.7 其他运算符 074
3.4.8 运算符的优先级别及结合性 076
3.5 了解Java标识符 077
3.6 本章小结 077
第1章 搭建Java开发环境 001
1.1 Java语言的产生与发展 002
1.2 Java语言的特点 002
1.3 搭建Java开发环境 003
1.3.1 下载JDK 003
1.3.2 安装JDK 006
1.3.3 Windows系统下配置和测试JDK 008
1.4 Java程序的开发过程 009
1.5 一个简单的Java应用程序 009
1.5.1 构建Java程序 010
1.5.2 编译和运行Java程序 010
1.5.3 使用Java核心API文档 011
1.6 本章小结 012
第2章 开发工具Eclipse 013
2.1 Eclipse的安装与启动 014
2.1.1 下载Eclipse 014
2.1.2 安装Eclipse中文包 016
2.1.3 启动Eclipse 019
2.2 Eclipse的工作台 020
2.2.1 Eclipse工作台概述 020
2.2.2 透视图 021
2.2.3 视图 022
2.2.4 编辑器 024
2.2.5 熟悉Eclipse的菜单栏和工具栏 025
2.3 编写Java程序 032
2.3.1 新建Java项目 032
2.3.2 新建Java类 033
2.3.3 编写Java代码 035
2.3.4 运行程序 036
2.3.5 保存并关闭Java项目 036
2.4 Eclipse资源管理 037
2.4.1 导入Java类 037
2.4.2 导入Java项目 038
2.4.3 导出Java项目 039
2.5 本章小结 040
第3章 Java语言基础 041
3.1 编码规范 042
3.1.1 Java命名规范 042
3.1.2 代码编写规则 042
3.1.3 Java程序的注释 043
3.2 常量与变量 044
3.2.1 常量的概念及使用 044
3.2.2 变量的概念及命名规则 044
3.2.3 变量的初始化及赋值 045
3.2.4 变量的有效范围 046
3.3 数据类型 048
3.3.1 基本数据类型 048
3.3.2 引用类型 053
3.3.3 基本类型与引用类型的区别 053
3.3.4 数据类型间的转换 055
3.4 运算符 061
3.4.1 赋值运算符 061
3.4.2 算术运算符 063
3.4.3 关系运算符 065
3.4.4 逻辑运算符 069
3.4.5 位运算符 071
3.4.6 字符串连接运算符 074
3.4.7 其他运算符 074
3.4.8 运算符的优先级别及结合性 076
3.5 了解Java标识符 077
3.6 本章小结 077
第4章 算法和流程控制语句 078
4.1 算法 079
4.1.1 什么是算法 079
4.1.2 算法的描述方法 079
4.1.3 程序3种控制结构 080
4.2 分支语句 082
4.2.1 简单的if条件语句 082
4.2.2 if...else条件语句 083
4.2.3 if...else if多分支语句 085
4.2.4 if语句的嵌套 087
4.2.5 switch多分支语句 089
4.2.6 if语句和switch语句的区别 092
4.3 循环语句 092
4.3.1 for循环语句 092
4.3.2 while循环语句 094
4.3.3 do...while循环语句 096
4.3.4 循环的嵌套 098
4.3.5 各循环语句间的区别 099
4.4 跳转语句 099
4.4.1 break跳转语句 100
4.4.2 continue跳转语句 101
4.4.3 return跳转语句 102
4.5 本章小结 102
第5章 数组 103
5.1 一维数组 104
5.1.1 声明一维数组 104
5.1.2 创建一维数组 104
5.1.3 初始化一维数组 105
5.1.4 使用一维数组 106
5.2 二维数组 107
5.2.1 声明二维数组 108
5.2.2 创建二维数组 108
5.2.3 初始化二维数组 109
5.2.4 使用二维数组 110
5.3 多维数组 111
5.3.1 声明多维数组 111
5.3.2 创建多维数组 111
5.3.3 初始化多维数组 111
5.3.4 使用多维数组 112
5.4 操作数组 112
5.4.1 复制数组 112
5.4.2 排序数组 113
5.4.3 比较数组 115
5.4.4 搜索数组 116
5.4.5 填充数组 117
5.4.6 传递数组 118
5.5 本章小结 119
第6章 字符串处理 120
6.1 字符串 121
6.1.1 字符串常量 121
6.1.2 声明字符串变量 121
6.1.3 创建字符串 121
6.2 连接字符串 123
6.2.1 字符串与字符串的连接 123
6.2.2 字符串与其他类型数据的连接 123
6.3 字符串操作 125
6.3.1 比较字符串 125
6.3.2 获取字符串的长度 127
6.3.3 字符串的大小写转换 127
6.3.4 查找字符串 127
6.3.5 获取字符串的子字符串 129
6.3.6 替换或去除字符串中的空格 129
6.3.7 分割字符串 130
6.4 格式化字符串 130
6.4.1 常规类型的格式化 130
6.4.2 日期和时间字符串格式化 133
6.5 使用StringBuilder类 136
6.5.1 创建字符串生成器 137
6.5.2 字符串生成器的应用 137
6.6 本章小结 139
第7章 面向对象编程 140
7.1 面向对象程序设计 141
7.1.1 面向对象程序设计的概述 141
7.1.2 面向对象程序设计的特点 141
7.2 类和对象 143
7.2.1 定义类 143
7.2.2 了解成员方法 144
7.2.3 成员变量和局部变量 145
7.2.4 构造方法的概念及用途 146
7.2.5 创建对象 147
7.2.6 使用对象 147
7.2.7 销毁对象 148
7.3 包 148
7.3.1 包的概念 149
7.3.2 创建包 149
7.3.3 使用包中的类 149
7.4 继承 150
7.4.1 继承的概念 150
7.4.2 子类对象的创建 150
7.4.3 继承的使用原则 150
7.4.4 使用this关键字 152
7.4.5 使用super关键字 152
7.5 多态 153
7.5.1 方法的重载 153
7.5.2 方法的覆盖 154
7.6 抽象类与final类 155
7.6.1 抽象类的概念及应用 155
7.6.2 final类的概念及应用 157
7.7 接口 158
7.7.1 定义接口 158
7.7.2 实现接口 158
7.8 本章小结 160
第8章 集合类 161
8.1 集合类概述 162
8.2 Collection接口 162
8.2.1 addAll(Collection? extends E col)方法 163
8.2.2 removeAll(Collection? col)方法 164
8.2.3 retainAll(Collection? col)方法 165
8.2.4 containsAll(Collection? col)方法 165
8.2.5 toArray(T[]t)方法 166
8.3 List集合 166
8.3.1 List集合的用法 166
8.3.2 使用ArrayList类 169
8.3.3 使用LinkedList类 170
8.3.4 客户化排序List集合 171
8.4 Set集合 174
8.4.1 使用HashSet类 175
8.4.2 使用TreeSet类 176
8.5 Map集合 179
8.5.1 Map集合的用法 180
8.5.2 使用HashMap类 181
8.5.3 使用TreeMap类 182
8.6 本章小结 184
第9章 异常处理 185
9.1 常见异常列表 186
9.2 Java异常处理 186
9.3 内置异常类 192
9.3.1 Error类 192
9.3.2 Exception类 193
9.4 自定义异常 194
9.5 异常处理使用原则 196
9.6 本章小结 197
第10章 I/O处理 198
10.1 Java的I/O处理方式 199
10.1.1 I/O的基本模式 199
10.1.2 Java提供的流类 199
10.2 以byte为数据单位的流类 201
10.2.1 InputStream类 201
10.2.2 OutputStream类 202
10.3 以char为数据单位的流类 203
10.3.1 Reader类 203
10.3.2 Writer类 204
10.4 常用I/O处理方式 205
10.4.1 文件类 205
10.4.2 文件的字节输入输出流 207
10.4.3 文件的字符输入输出流 209
10.4.4 对象序列化 211
10.5 对文件及文件夹进行操作 213
10.5.1 复制文件 213
10.5.2 复制文件夹 214
10.5.3 删除文件 215
10.5.4 分行写入文件 215
10.6 本章小结 216
第11章 线程 217
11.1 概述 218
11.1.1 进程 218
11.1.2 线程 218
11.2 线程的创建 219
11.2.1 线程的创建方式 219
11.2.2 继承Thread类 220
11.2.3 实现Runnable接口 222
11.2.4 两种创建线程方式的比较 223
11.3 线程的生命周期 223
11.4 线程的优先级及执行顺序 224
11.4.1 线程的优先级 224
11.4.2 线程的执行顺序 225
11.5 线程的控制 228
11.5.1 线程的启动 228
11.5.2 线程的挂起 228
11.5.3 线程状态检查 232
11.5.4 结束线程 233
11.5.5 后台线程 233
11.5.6 线程组 234
11.6 线程的同步 234
11.7 线程通信 237
11.8 多线程产生死锁 240
11.9 本章小结 241
第12章 JDBC技术 242
12.1 JDBC概述 243
12.1.1 JDBC-ODBC桥技术介绍 243
12.1.2 JDBC技术介绍 243
12.1.3 JDBC驱动类型 244
12.2 JDBC中的常用接口 245
12.2.1 Driver接口 245
12.2.2 DriverManager 245
12.2.3 Connection接口 245
12.2.4 Statement接口 246
12.2.5 PreparedStatement接口 246
12.2.6 CallableStatement接口 247
12.2.7 ResultSet接口 248
12.3 连接数据库 250
12.3.1 加载JDBC驱动程序 250
12.3.2 创建数据库连接 250
12.3.3 执行SQL语句 250
12.3.4 获得查询结果 251
12.3.5 关闭连接 251
12.4 操作数据库 251
12.4.1 添加数据 251
12.4.2 查询数据 253
12.4.3 修改数据 254
12.4.4 删除数据 255
12.5 应用JDBC事务 256
12.6 连接池技术 258
12.6.1 连接池简介 259
12.6.2 获得JNDI的名称实现对数据库的连接 259
12.7 本章小结 261
第13章 使用Java Swing 262
13.1 Swing概述 263
13.2 创建窗体 263
13.3 使用组件 265
13.3.1 JLabel(标签)组件 265
13.3.2 JButton(按钮)组件 266
13.3.3 JRadioButton(单选按钮)组件 268
13.3.4 JCheckBox(复选框)组件 269
13.3.5 JComboBox(选择框)组件 270
13.3.6 JList(列表框)组件 272
13.3.7 JTextField(文本框)组件 274
13.3.8 JPasswordField(密码框)组件 275
13.3.9 JTextArea(文本域)组件 276
13.4 常用布局管理器 277
13.4.1 不使用布局管理器 277
13.4.2 使用边界布局管理器 278
13.4.3 使用网格布局管理器 280
13.5 本章小结 282
第14章 进销存管理系统 283
14.1 需求分析 284
14.1.1 需求分析 284
14.1.2 可行性分析 284
14.2 系统设计 284
14.2.1 项目规划 284
14.2.2 功能结构分析 285
14.3 数据库设计 285
14.3.1 E-R图 285
14.3.2 数据表概要说明 287
14.3.3 主要数据表的结构 288
14.4 系统登录模块设计 290
14.4.1 登录功能设计 290
14.4.2 不规则登录窗体设计 290
14.5 程序主界面的设计 294
14.5.1 创建主窗口 294
14.5.2 初始化程序主界面的initialize()方法 295
14.5.3 添加菜单和工具按钮的方法 296
14.5.4 创建Action对象的addFrameAction()方法 298
14.5.5 获取功能窗体的getIFrame()方法 299
14.5.6 关于对话框的事件监听器 300
14.6 基础信息模块设计 301
14.6.1 商品信息管理模块设计 301
14.6.2 商品添加功能设计 301
14.6.3 设置组件布局位置的setupComponent()方法 304
14.6.4 商品修改与删除功能设计 304
14.7 进货管理模块设计 307
14.7.1 进货单功能设计 307
14.7.2 初始化表格的initTable()方法 310
14.7.3 初始化商品下拉选择框的initSpBox()方法 311
14.7.4 初始化进货单窗体的initTasks类 311
14.7.5 初始化进货票号文本框的initPiaoHao()方法 312
14.8 销售管理模块设计 313
14.8.1 销售单功能设计 313
14.8.2 初始化销售单窗体的initTasks类 314
14.9 库存管理模块设计 315
14.9.1 库存盘点功能设计 315
14.9.2 库存价格调整功能设计 318
14.10 查询统计模块设计 319
14.10.1 销售排行功能设计 319
14.10.2 执行销售排行功能的事件监听器 320
14.11 系统设置模块设计 321
14.11.1 操作员管理 321
14.11.2 权限管理 323
14.12 数据库模块 325
14.12.1 数据库连接 325
14.12.2 获取用户信息的getUser()方法 326
14.12.3 添加商品信息的addSp()方法 326
14.12.4 获取所有商品信息的getSpInfos()方法 327
14.12.5 添加入库信息的insertRukuInfo()方法 328
14.12.6 获取最大入库编号的getRuKuMainMaxId()方法 329
14.12.7 更新用户信息的updateUser()方法 329
14.13 本章小结 330
第15章 JSP入门 331
15.1 JSP技术概述 332
15.2 JSP技术特征 332
15.2.1 跨平台 332
15.2.2 静态内容和动态内容的分离 332
15.2.3 可重复使用的组件 333
15.2.4 沿用了JavaServlet的所有功能 333
15.2.5 预编译 333
15.3 JSP与其他网络编程语言的比较 333
15.3.1 CGI 333
15.3.2 ASP 333
15.3.3 PHP 334
15.3.4 JSP 334
15.4 JSP的处理过程 334
15.5 Tomcat服务器的安装和启动 335
15.5.1 Tomcat服务器的安装 335
15.5.2 Tomcat服务器的启动 336
15.6 开发与部署Web应用程序 336
15.6.1 MyEclipse开发Web应用程序 337
15.6.2 部署JSP程序 338
15.7 本章小结 339
第16章 JSP语法 340
16.1 了解JSP的基本构成 341
16.1.1 JSP中的指令标识 341
16.1.2 HTML标记语言 341
16.1.3 嵌入的Java代码片段 341
16.1.4 JSP表达式 341
16.2 JSP的指令标识 341
16.2.1 使用Page指令 342
16.2.2 使用include指令 344
16.2.3 使用taglib指令 345
16.3 JSP的脚本标识 345
16.3.1 JSP表达式(Expression) 345
16.3.2 声明标识(Declaration) 346
16.3.3 小脚本程序(Scriptlet) 347
16.4 JSP的注释 347
16.4.1 HTML中的注释 347
16.4.2 带有JSP表达式的注释 348
16.4.3 隐藏注释 348
16.4.4 小脚本程序(Scriptlet)中的注释 348
16.5 JSP的动作标识 350
16.5.1 包含文件的动作jsp:include 351
16.5.2 重定向资源的动作jsp:forward 352
16.5.3 声明使用JavaBean的动作jsp:useBean 354
16.5.4 设置JavaBean属性值的动作jsp:setProperty 360
16.5.5 获取JavaBean属性值的动作jsp:getProperty 362
16.5.6 声明使用Java插件的动作jsp:plugin 362
16.6 本章小结 363
第17章 JSP的内置对象 364
17.1 JSP内置对象的概述 365
17.2 request对象 366
17.2.1 访问请求参数 366
17.2.2 在作用域中管理属性 367
17.2.3 获取Cookie 368
17.2.4 访问HTTP报头 370
17.2.5 访问请求行元素 370
17.2.6 访问安全信息 371
17.2.7 访问国际化信息 371
17.3 response对象 372
17.3.1 重定向网页 372
17.3.2 处理HTTP文件报头 372
17.3.3 输出缓冲 373
17.4 session对象 374
17.4.1 创建及获取客户的会话 374
17.4.2 从会话中移动指定的绑定对象 374
17.4.3 销毁session 375
17.4.4 会话超时的管理 375
17.4.5 session对象的应用 375
17.5 application对象 377
17.5.1 访问应用程序初始化参数 377
17.5.2 管理应用程序环境属性 378
17.6 out对象 379
17.6.1 管理响应缓冲 379
17.6.2 向客户端输出数据 379
17.7 其他内置对象 379
17.7.1 获取会话范围的pageContext对象 379
17.7.2 读取web.xml配置信息的config对象 380
17.7.3 应答或请求的page对象 381
17.7.4 获取异常信息的exception对象 382
17.8 本章小结 383
第18章 JavaBean技术 384
18.1 JavaBean概述 385
18.1.1 JavaBean技术介绍 385
18.1.2 JavaBean的种类 385
18.1.3 JavaBean的形式和要素 385
18.2 JavaBean属性 386
18.2.1 使用Simple属性 387
18.2.2 使用Indexed属性 387
18.2.3 使用Bound属性 388
18.2.4 使用Constrained属性 388
18.3 JavaBean方法 388
18.4 JSP与JavaBean 389
18.4.1 JavaBean在JSP中的作用域 389
18.4.2 在JavaBean中连接数据库 395
18.4.3 JavaBean的移除 398
18.5 应用程序与JavaBean 399
18.5.1 可视化编程中的JavaBean简介 399
18.5.2 java.beans包 400
18.6 本章小结 405
第19章 Servlet技术 406
19.1 Servlet基础 407
19.1.1 Servlet技术简介 407
19.1.2 Servlet技术功能 407
19.1.3 Servlet技术特性 407
19.1.4 Servlet的生命周期 408
19.1.5 快速体验Servlet程序 409
19.2 Servlet API编程常用接口和类 410
19.2.1 Servlet编程接口 410
19.2.2 HttpServlet编程类 412
19.2.3 HttpServletRequest编程接口 415
19.2.4 HttpServletResponse编程接口 416
19.3 创建与配置Servlet 416
19.3.1 Servlet的创建 416
19.3.2 Servlet的配置 417
19.4 Servlet过滤器 419
19.4.1 Servlet过滤器简介 419
19.4.2 Servlet过滤器工作原理 420
19.4.3 Servlet过滤器编程接口 420
19.4.4 Servlet过滤器的配置 421
19.4.5 Servlet过滤器的典型实例 422
19.5 Servlet监听器 425
19.5.1 Servlet监听器简介 425
19.5.2 Servlet监听器的原理 426
19.5.3 Servlet上下文监听 426
19.5.4 HTTP会话监听 426
19.5.5 Servlet请求监听 427
19.5.6 Servlet监听器的典型应用 428
19.6 本章小结 430
第20章 博客网站 431
20.1 网站总体分析 432
20.1.1 项目规划 432
20.1.2 系统功能结构图 432
20.2 数据库设计 432
20.2.1 E-R图 432
20.2.2 数据表概要说明 434
20.2.3 主要数据表的结构 434
20.3 网站总体架构设计 436
20.3.1 文件架构设计 436
20.3.2 类的分布架构设计 436
20.3.3 页面效果图 436
20.4 系统配置 438
20.5 公共类的编写 439
20.5.1 数据库连接及操作类的编写 439
20.5.2 字符串处理类的编写 440
20.5.3 获取系统时间类的编写 441
20.5.4 实现分页操作类的编写 441
20.6 系统登录模块设计 443
20.6.1 页面设计 444
20.6.2 功能实现 444
20.7 用户注册模块设计 447
20.7.1 页面设计 448
20.7.2 功能实现 449
20.8 文章管理模块设计 450
20.8.1 文章类型管理 450
20.8.2 发表文章 454
20.8.3 修改文章 455
20.8.4 删除文章 457
20.9 相册管理模块设计 457
20.9.1 查看相册 457
20.9.2 相片上传 459
20.10 网络日历功能实现 462
20.11 本章小结 463
附录 实例快速检索 464