第1章 搭建Java开发环境 1
1.1 Java语言的产生与发展 2
1.2 Java语言的特点 2
1.3搭建Java开发环境 3
1.3.1下载JDK 3
1.3.2安装JDK 6
1.3.3 Windows系统下配置和测试JDK 8
1.4 Java程序的开发过程 9
1.5一个简单的Java应用程序 9
1.5.1构建Java程序 10
1.5.2编译和运行Java程序 10
1.5.3使用Java核心API文档 11
1.6本章小结 12
第2章 开发工具Eclipse 13
2.1 Eclipse的安装与启动 14
2.1.1下载Eclipse 14
2.1.2安装Eclipse中文包 16
2.1.3启动Eclipse 19
2.2 Eclipse的工作台 20
2.2.1 Eclipse工作台概述 20
2.2.2透视图 21
2.2.3视图 22
2.2.4编辑器 24
2.2.5熟悉Eclipse的菜单栏和工具栏 25
2.3编写Java程序 32
2.3.1新建Java项目 32
2.3.2新建Java类 33
2.3.3编写Java代码 35
2.3.4运行程序 36
2.3.5保存并关闭Java项目 36
2.4 Eclipse资源管理 37
2.4.1导入Java类 37
2.4.2导入Java项目 38
2.4.3导出Java项目 39
2.5本章小结 40
第3章 Java语言基础 41
3.1编码规范 42
3.1.1 Java命名规范 42
3.1.2代码编写规则 42
3.1.3 Java程序的注释 43
3.2常量与变量 44
3.2.1常量的概念及使用 44
3.2.2变量的概念及命名规则 44
3.2.3变量的初始化及赋值 45
3.2.4变量的有效范围 46
3.3数据类型 48
3.3.1基本数据类型 48
3.3.2引用类型 53
3.3.3基本类型与引用类型的区别 53
3.3.4数据类型间的转换 55
3.4运算符 61
3.4.1赋值运算符 61
3.4.2算术运算符 63
3.4.3关系运算符 65
3.4.4逻辑运算符 69
3.4.5位运算符 71
3.4.6字符串连接运算符 74
3.4.7其他运算符 74
3.4.8运算符的优先级别及结合性 76
3.5了解Java标识符 77
3.6本章小结 77
第4章 算法和流程控制语句 78
4.1算法 79
4.1.1什么是算法 79
4.1.2算法的描述方法 79
4.1.3程序3种控制结构 80
4.2分支语句 82
4.2.1简单的if条件语句 82
4.2.2 if.else条件语句 83
4.2.3 if.else if多分支语句 85
4.2.4 if语句的嵌套 87
4.2.5 switch多分支语句 89
4.2.6 if语句和switch语句的区别 92
4.3循环语句 92
4.3.1 for循环语句 92
4.3.2 while循环语句 94
4.3.3 do.while循环语句 96
4.3.4循环的嵌套 98
4.3.5各循环语句间的区别 99
4.4跳转语句 99
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/.处理 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 Call ableStatement接口 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.6JList(列表框)组件 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添加入库信息的insertRuku.Info()方法 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章 ServIet技术 406
19.1 ServIet基础 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