《Java宝典》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:孙浏毅等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121086854
  • 页数:764 页
图书介绍:本书内容包括:Java概述、Java入门,Java语言的基础,Java中面向对象的思想。在Java中怎样创建类,创建对象,类的访问。类,接口,抽象类之间的继承和实现,Java中一些异常的处理,Java中集合的框架,Java中文件流,多线程的操作。对数据库的操作,Java应用程序和界面程序的开发。以及Java Web程序,Jsp页面,JavaBean实体和Web servlet技术。并且附带了几个完整的Java程序编写的项目。

第1部分 基础篇 1

第1章 Java概述 2

1.1 Java介绍 2

1.1.1 Java的历史与发展 2

1.1.2 Java的应用领域 3

1.1.3 Sun技术认证简介 3

1.2 Java语言的特点 3

1.2.1 简单 3

1.2.2 面向对象 3

1.2.3 与平台无关性和可移植性 4

1.2.4 可靠性和安全性 4

1.2.5 多线程并发机制 5

1.2.6 分布式 5

1.2.7 动态的内存管理机制 5

1.3 Java开发环境介绍 5

1.3.1 下载与安装JDK 6

1.3.2 环境变量的设置 7

1.3.3 JDK的命令行工具 9

1.4 Java程序的开发 9

1.4.1 编写并运行Java应用程序 9

1.4.2 编写并运行Applet小应用程序 11

1.5 使用Eclipse开发Java程序 13

1.5.1 安装Eclipse及新建Java项目 13

1.5.2 使用Eclipse开发Java应用程序与Applet小应用程序 15

1.6 第一次编译和运行Java程序时的常见问题 17

1.6.1 javac不是内部或外部命令 17

1.6.2 无法找到类定义 17

1.6.3 找不到文件 18

1.6.4 找不到符号 19

1.6.5 其他可能错误 20

1.7 小结 20

第2章 Java语言基础 21

2.1 Java语言的基本要素 21

2.1.1 标识符 21

2.1.2 关键字与保留字 22

2.1.3 分隔符 23

2.1.4 代码注释 24

2.2 常量与变量 25

2.2.1 常量 25

2.2.2 变量 25

2.2.3 使用常量和变量需要注意的问题 26

2.3 基本数据类型 26

2.3.1 整数类型 26

2.3.2 浮点类型 28

2.3.3 字符类型 29

2.3.4 逻辑类型 31

2.3.5 数据类型转换 31

2.4 引用数据类型 33

2.5 运算符与表达式 34

2.5.1 算术运算符与算术表达式 34

2.5.2 赋值运算符与赋值表达式 36

2.5.3 关系运算符与关系表达式 36

2.5.4 逻辑运算符与逻辑表达式 37

2.5.5 位运算符与位运算 39

2.5.6 移位运算符 40

2.5.7 条件运算符 41

2.5.8 字符串连接运算符 42

2.5.9 运算符的优先级 43

2.6 全局变量和局部变量 44

2.7 小结 45

第3章 流程控制 46

3.1 分支控制语句 46

3.1.1 简单的if语句 46

3.1.2 if…else语句基本格式 47

3.1.3 嵌套的if…else语句 49

3.1.4 switch多分支选择语句 50

3.2 循环控制语句 53

3.2.1 while循环语句 53

3.2.2 do…while语句 55

3.2.3 for循环语句 56

3.3 跳转控制语句 58

3.3.1 continue语句:跳出当次循环 58

3.3.2 break语句:退出当前所在循环 60

3.3.3 带标号的跳转控制语句 61

3.4 综合应用程序举例 62

3.4.1 测试你的体重是否标准 62

3.4.2 随机彩票模拟程序 64

3.5 小结 65

第4章 数组 66

4.1 一维数组 66

4.1.1 一维数组声明 66

4.1.2 一维数组初始化 67

4.1.3 一维数组引用 68

4.1.4 一维数组的应用 69

4.2 多维数组 70

4.2.1 二维数组声明 70

4.2.2 二维数组初始化 70

4.2.3 二维数组引用 72

4.2.4 多维数组 72

4.2.5 二维数组的应用 73

4.3 增强的for循环 74

4.4 数据保存与内存分配 75

4.4.1 数据的保存 75

4.4.2 一维数组的内存分配 75

4.4.3 多维数组的内存分配 76

4.5 与数组有关的类Arrays 77

4.5.1 判断两个数组是否相等的equals()方法 77

4.5.2 填充数值的fill()方法 78

4.5.3 排序数组的sort()方法 79

4.6 数组的复制 81

4.7 应用程序举例 82

4.7.1 对数组元素进行排序 82

4.7.2 实现矩阵的转置 84

4.8 小结 85

第5章 字符串与正则表达式 86

5.1 字符串的创建和初始化 86

5.2 String类主要方法的使用 87

5.2.1 获取字符串长度 87

5.2.2 比较字符串 87

5.2.3 查找字符串中某个位置的字符 91

5.2.4 查找指定子字符串在字符串中第一次或最后一次出现的位置 91

5.2.5 检查字符串的起始字符和结束字符 92

5.2.6 截取子串 93

5.2.7 字符串的替换 93

5.2.8 字符串的大小写转换 94

5.2.9 去除字符串首尾空格 95

5.2.10 字符串转换 95

5.3 可变字符串的创建和初始化 97

5.4 StringBuffer类主要方法的使用 98

5.4.1 获取可变字符串长度 99

5.4.2 比较可变字符串 99

5.4.3 追加和插入字符串 100

5.4.4 反转和删除字符串 101

5.4.5 减少用于字符序列的存储空间 101

5.4.6 StringBuffer类型转换成String类型 102

5.5 字符串应用程序举例 103

5.5.1 使用异或运算符实现字符串加密与解密 103

5.5.2 统计字符串中关键字的个数 104

5.6 对字符串进行分析的StringTokenizer类 105

5.7 正则表达式 107

5.7.1 模式匹配 108

5.7.2 特殊字符匹配 109

5.7.3 元字符匹配与限定符的匹配 110

5.8 正则表达式应用程序举例 111

5.8.1 实现时间匹配 111

5.8.2 实现E-mail地址匹配 113

5.9 小结 114

第2部分 面向对象篇 115

第6章 面向对象思想 116

6.1 对象和类 116

6.1.1 对象和类的概念 116

6.1.2 类的声明 117

6.1.3 类的实体 118

6.1.4 对象的创建和使用 120

6.1.5 对象的生命周期 121

6.2 关于句柄的理解 122

6.3 面向对象的软件开发方法 124

6.4 面向对象的特点 125

6.4.1 抽象 125

6.4.2 继承 126

6.4.3 封装 127

6.4.4 多态 129

6.5 小结 129

第7章 方法的调用和参数的传递 131

7.1 构造方法 131

7.2 方法的调用 133

7.2.1 向对象发送一条消息 133

7.2.2 方法中return关键字的使用 134

7.2.3 非静态方法的调用 135

7.2.4 静态方法的调用 137

7.2.5 方法调用的常见错误 138

7.2.6 构造方法的调用 138

7.3 方法的重载 139

7.3.1 一般方法的重载 139

7.3.2 构造方法的重载 141

7.4 方法的参数传递 142

7.4.1 基本数据类型作为参数传递 142

7.4.2 对象参数的传递 143

7.4.3 字符串作为参数传递 145

7.4.4 数组作为参数传递 147

7.5 方法调用应用程序举例 148

7.5.1 计算两个数的最大公约数 148

7.5.2 计算矩阵对角元素和 149

7.6 方法的递归调用 150

7.6.1 递归的定义 150

7.6.2 递归的使用 151

7.7 递归调用应用程序举例 154

7.7.1 递归与循环的转换 154

7.7.2 使用递归方法计算两个数的最大公约数 154

7.8 小结 155

第8章 继承、聚集与多态 156

8.1 类的继承 156

8.1.1 继承中的子类与父类 156

8.1.2 Java类的单一继承 157

8.1.3 类的继承中变量的访问和隐藏 159

8.1.4 方法的重写 161

8.1.5 类的继承中构造方法的调用 162

8.1.6 类的继承中构造方法的执行 164

8.1.7 类的继承应用程序举例:汽车类继承的设计 165

8.2 类的聚集 168

8.3 继承与聚集的选择 170

8.4 强制类型转换与类型检测 171

8.5 安全的向上转型 172

8.6 继承的利与弊 173

8.7 多态 174

8.7.1 什么是多态 175

8.7.2 多态在软件开发中的应用 175

8.7.3 多态是基于继承的 177

8.8 动态绑定 179

8.9 向下转型 180

8.10 小结 180

第9章 信息封装与实施细节的隐藏 181

9.1 Java中的包 181

9.1.1 使用package关键字声明包 181

9.1.2 包的命名规则 183

9.1.3 使用import关键字导入包 183

9.1.4 导入包时的命名冲突问题 186

9.1.5 静态导入包 189

9.1.6 设置classpath类路径 190

9.1.7 Java标准包 190

9.2 访问控制符 191

9.2.1 访问控制权限 191

9.2.2 使用私有类型private关键字 192

9.2.3 使用友好类型friendly关键字 192

9.2.4 使用保护类型protected关键字 194

9.2.5 使用公共类型public关键字 195

9.3 应用程序举例:成员变量的隐藏 196

9.4 小结 198

第10章 类的高级特性 199

10.1 使用this和super关键字 199

10.1.1 使用this关键字引用成员变量 199

10.1.2 使用this关键字引用当前对象 201

10.1.3 使用this关键字调用构造方法 201

10.1.4 super关键字使用的场合 202

10.2 使用static关键字 203

10.2.1 使用static关键字修饰变量 203

10.2.2 使用static关键字修饰方法 204

10.2.3 使用static关键字静态初始化 206

10.3 使用final关键字 208

10.3.1 使用final关键字修饰变量 208

10.3.2 使用final关键字修饰方法 210

10.3.3 使用final关键字修饰类 210

10.4 抽象类和抽象方法 212

10.4.1 抽象类和抽象方法的声明 212

10.4.2 应用程序举例:计算图形体积 213

10.5 接口 215

10.5.1 接口的声明与实现 215

10.5.2 接口的扩展 218

10.5.3 接口与多态 219

10.5.4 接口作为参数 220

10.5.5 抽象类与接口的比较 221

10.5.6 应用程序举例:使用接口对常数分组 222

10.6 内部类与匿名内部类的使用 223

10.6.1 使用内部类 223

10.6.2 局部内部类 225

10.6.3 静态内部类 226

10.6.4 使用匿名内部类 227

10.6.5 应用程序举例:使用内部类控制汽车行驶 228

10.7 克隆技术 230

10.7.1 对象赋值与克隆 230

10.7.2 实现克隆方法 231

10.7.3 克隆技术的应用:实现对象的浅度克隆和深度克隆 231

10.8 小结 234

第11章 Java中的集合 235

11.1 Collection接口:集合类的根接口 235

11.2 集Set 237

11.2.1 HashSet类:对元素随机排序的集合类 237

11.2.2 TreeSet类:对元素排序的有序集合类 239

11.3 列表List 240

11.3.1 ArrayList类:实现数组的动态操作 240

11.3.2 ArrayList转换为数组 243

11.3.3 调整当前ArrayList容量 243

11.3.4 Vector类:实现动态数组线程安全向量类 244

11.3.5 Stack类:表示后进先出的对象栈 246

11.4 映射Map 247

11.4.1 HashMap类:将键-值映射关系存储到散列表 247

11.4.2 Hashtable类:线程安全的散列表 249

11.5 迭代器Iterator 251

11.6 Collections类:提供与集合操作有关方法的类 253

11.6.1 对指定列表排序和反转 253

11.6.2 支持集合的线程同步方法 254

11.7 应用程序举例 254

11.7.1 顺序输出HashMap映射中的键值 254

11.7.2 顺序输出HashMap映射中的键对应的值 256

11.8 小结 257

第12章 Java常用类 258

12.1 所有类的父类Object类 258

12.1.1 判断两个对象引用上是否相同的equals()方法 258

12.1.2 返回对象运行时类的getClass()方法 259

12.1.3 返回对象哈希码值的hashCode()方法 260

12.1.4 返回对象字符串表示的toString()方法 260

12.2 与基本数据类型对应的封装类 261

12.3 与数学计算有关的类 263

12.3.1 实现基本数字操作的Math类 263

12.3.2 产生随机数的Random类 266

12.3.3 应用程序举例:计算三角形的面积 268

12.4 日期与时间类 269

12.4.1 表示日期的Date类 269

12.4.2 日期格式化的DateFormat类 270

12.4.3 操作日历字段的Calendar类 271

12.5 应用程序举例 273

12.5.1 日期的格式变换 273

12.5.2 取得指定的日期 274

12.6 小结 276

第13章 泛型与枚举 277

13.1 泛型类型 277

13.1.1 使用泛型的原因 277

13.1.2 泛型在集合类中的应用 279

13.1.3 定义泛型类和泛型方法 280

13.2 枚举类型 283

13.2.1 什么是枚举类型 283

13.2.2 枚举类型中定义常量 284

13.2.3 枚举类型中定义方法 285

13.2.4 使用java.lang.Enum类中的方法 287

13.3 小结 288

第14章 异常处理与断言 289

14.1 异常与错误 289

14.2 几种常见的运行时异常 290

14.2.1 空指针异常NullPointerException 290

14.2.2 超出排序范围异常IndexOutOfBoundsException 290

14.2.3 错误的类型转换ClassCastException 291

14.2.4 数学运算异常ArithmeticException 292

14.3 异常处理方式 292

14.3.1 使用try…catch语句捕获异常 292

14.3.2 使用带有多个catch的try…catch语句捕获异常 294

14.3.3 带有finally子句的try…catch语句 296

14.3.4 使用finally直接和try语句连用 298

14.3.5 嵌套的try…catch语句 299

14.3.6 使用throws关键字抛出异常 299

14.3.7 使用throw关键字抛出异常 301

14.3.8 用户自定义异常 302

14.4 异常处理机制 304

14.5 异常的使用原则 305

14.5.1 在可能出现异常的情况下使用异常 305

14.5.2 不要不处理捕获的异常 305

14.5.3 不要不指定具体的异常代码 306

14.5.4 不要过于细化try…catch 306

14.5.5 使用finally释放占用的资源 307

14.6 断言 308

14.7 小结 310

第15章 多线程 311

15.1 什么是线程 311

15.2 线程与进程的比较 311

15.3 线程的生命周期 312

15.4 实现多线程的方法 313

15.4.1 继承Thread类实现多线程 313

15.4.2 实现Runnable接口 315

15.4.3 两种方法的比较 317

15.5 线程的调度方法 317

15.5.1 与线程调度有关的方法 317

15.5.2 返回当前正在执行的线程方法currentThread() 318

15.5.3 等待线程终止方法join() 319

15.5.4 设置和取得线程优先级 320

15.5.5 使正在执行的线程休眠的方法sleep() 321

15.5.6 暂停正在执行的线程的方法yield() 323

15.5.7 中断线程方法interrupt() 324

15.6 线程同步的实现 325

15.6.1 一个共享资源冲突的例子 325

15.6.2 使用synchronized实现线程同步 327

15.6.3 synchronized线程同步与对象锁标志 328

15.6.4 实现线程同步的几种形式 329

15.7 线程通信的实现 331

15.7.1 使当前的线程处于等待的方法wait() 331

15.7.2 通知线程结束等待的方法notify()和notifyAll() 332

15.7.3 不建议使用的suspend(),resume()和stop()方法 333

15.7.4 应用程序举例:生产者和消费者问题 333

15.8 死锁 337

15.8.1 死锁的产生 337

15.8.2 避免死锁的方法 339

15.9 小结 340

第3部分 图形界面设计篇 341

第16章 Swing容器和基本组件 342

16.1 Swing介绍 342

16.2 组件类JComponent 343

16.2.1 组件字体 344

16.2.2 组件颜色 345

16.2.3 组件外观 346

16.3 Swing窗体 347

16.4 布局管理器 349

16.4.1 流布局管理器 350

16.4.2 边界布局管理器 351

16.4.3 卡片布局管理器 354

16.4.4 网格布局管理器 356

16.4.5 箱式布局管理器 358

16.4.6 不使用布局管理器定位组件 360

16.5 Swing基本组件 361

16.5.1 按钮 361

16.5.2 标签 363

16.5.3 单行文本区与密码域 365

16.5.4 多行文本区 368

16.5.5 复选框 370

16.5.6 单选按钮 373

16.5.7 下拉列表 375

16.5.8 列表 377

16.5.9 面板 379

16.5.10 滚动条 380

16.6 JApplet小应用程序 381

16.7 应用程序举例 383

16.7.1 更改窗体的外观风格 383

16.7.2 应用JApplet小应用程序显示日期和时间 386

16.8 小结 388

第17章 事件处理 389

17.1 什么是事件 389

17.2 事件处理机制 389

17.2.1 实现监听接口处理事件 389

17.2.2 使用匿名内部类处理事件 392

17.3 事件类的层次关系 393

17.4 低级事件 394

17.4.1 焦点事件 394

17.4.2 键盘事件 396

17.4.3 鼠标事件 399

17.4.4 窗体事件 404

17.4.5 适配器类 405

17.5 语义事件 407

17.6 动作接口 409

17.6.1 动作接口简介 409

17.6.2 使用动作接口 410

17.6.3 动作与键盘事件的对应 412

17.7 应用程序举例:计算器的设计与使用 414

17.7.1 计算器的设计 414

17.7.2 数字键和功能键的实现 416

17.7.3 实现加减乘除运算 418

17.7.4 实现求平方根、倒数、百分比运算 419

17.7.5 实现数据的记忆功能 420

17.7.6 计算器的使用 421

17.8 小结 422

第18章 Swing高级组件 423

18.1 表格 423

18.1.1 创建表格 423

18.1.2 编辑表格 427

18.1.3 应用程序举例:编辑计算机的配置信息 428

18.2 树 431

18.2.1 创建树 431

18.2.2 树的监听事件 434

18.2.3 应用程序举例:实现对树的遍历 436

18.3 菜单组件 437

18.3.1 创建菜单栏和菜单项 437

18.3.2 绘制基本菜单 439

18.3.3 为菜单项设置图标 441

18.3.4 设置菜单快捷键 441

18.3.5 创建复选框菜单项 444

18.3.6 创建单选按钮菜单项 446

18.3.7 禁用和启用菜单项 448

18.3.8 创建弹出式菜单 450

18.4 工具栏 452

18.5 对话框 455

18.5.1 标准对话框 455

18.5.2 确认对话框 456

18.5.3 消息对话框 457

18.5.4 输入对话框 457

18.5.5 选项对话框 458

18.5.6 文件对话框 459

18.5.7 文件过滤 461

18.5.8 JDialog类创建自定义对话框 463

18.5.9 颜色选择器 466

18.5.10 应用程序举例:通过文件选择器获取文件或者目录信息 468

18.6 小结 472

第4部分 应用篇 473

第19章 输入输出流与对象序列化 474

19.1 文件操作 474

19.1.1 File类介绍 474

19.1.2 获取文件本身信息操作 475

19.1.3 文件的测试检查操作 476

19.1.4 目录操作 477

19.1.5 创建、修改与删除文件操作 479

19.2 I/O流概述 480

19.2.1 什么是流 481

19.2.2 字节输入流InputStream 481

19.2.3 字节输出流OutputStream 482

19.2.4 字符输入流Reader 484

19.2.5 字符输出流Writer 485

19.3 字节流 486

19.3.1 文件字节流 486

19.3.2 字节数组流 490

19.3.3 连接管道输入字节流和管道输出字节流 491

19.3.4 创建指明文件路径和读取文件内容的共通类 492

19.3.5 使用管道字节输入输出流实现线程之间的相互通信 494

19.3.6 读写基本数据类型数据流 496

19.3.7 缓冲字节流 499

19.4 字符流 502

19.4.1 文件字符流 502

19.4.2 字符数组流 505

19.4.3 连接管道输入字符流和管道输出字符流 506

19.4.4 创建用于读取文件中字符内容的共通类 507

19.4.5 使用管道字符输入输出流实现线程之间的相互通信 508

19.4.6 缓冲字符流 510

19.4.7 字符与字节相互转换流 513

19.4.8 字符串流 517

19.5 随机存储读写文件RandomAccessFile类 519

19.6 对象序列化与反序列化 522

19.6.1 实现对象序列化的Serializable接口 522

19.6.2 将对象写入字节流 523

19.6.3 读取字节流中对象 524

19.6.4 自定义实现序列化的类 526

19.6.5 使用对象序列化实现对象的深度克隆 528

19.7 小结 530

第20章 网络编程 531

20.1 计算机网络基本知识 531

20.1.1 TCP/IP协议 531

20.1.2 IP地址 532

20.1.3 套接字 532

20.1.4 端口 533

20.1.5 URL 533

20.1.6 UDP 533

20.2 URL类 533

20.2.1 创建URL对象 534

20.2.2 读取页面信息 535

20.2.3 创建一个到URL的连接 537

20.2.4 获取响应头的所有字段的值 539

20.3 表示互联网协议地址InetAddress类 541

20.3.1 获取本地主机IP地址 541

20.3.2 获取Internet给定的主机名和IP地址 542

20.4 套接字通信 543

20.4.1 实现客户端套接字Socket类 543

20.4.2 实现服务器套接字ServerSocket类 546

20.5 UDP传输 549

20.5.1 表示数据报包DatagramPacket类 549

20.5.2 收发数据报 550

20.6 应用程序举例:聊天室程序模拟 552

20.6.1 聊天室用户界面设计 552

20.6.2 服务器端代码 554

20.6.3 客户端代码 555

20.6.4 运行程序 558

20.7 小结 559

第21章 数据库基本操作 560

21.1 关系数据库基本概念 560

21.2 SQL操作数据库 560

21.2.1 SQL介绍 561

21.2.2 创建、修改和删除表 561

21.2.3 索引 562

21.2.4 查询 563

21.2.5 查询满足条件的元组 564

21.2.6 连接查询 565

21.2.7 集合查询 566

21.2.8 数据更新 567

21.2.9 视图 569

21.2.10 数据控制 569

21.3 完整性约束和数据库的完整性 570

21.4 事务 571

21.5 利用MySQL通过SQL操作数据库 572

21.5.1 安装MySQL 5.0 572

21.5.2 安装图形界面工具 574

21.5.3 运行MySQL 5.0 575

21.6 应用举例:利用MySQL 5.0通过SQL语句操作数据库 577

21.6.1 表的创建、修改和删除 577

21.6.2 更新表中数据 578

21.6.3 查询表中数据 579

21.6.4 创建视图 580

21.7 小结 581

第22章 Java与数据库的连接 582

22.1 JDBC简介 582

22.1.1 什么是JDBC 582

22.1.2 JDBC的用法 583

22.1.3 JDBC驱动的类型 584

22.2 Java与数据库的开发 585

22.2.1 使用JDBC实现MySQL 5.0数据库开发 585

22.2.2 通过JDBC实现Java对数据库中数据的存取过程 588

22.3 深入了解JDBC 589

22.3.1 使用executeQuery()和executeUpdate()方法执行查询和更新 590

22.3.2 使用execute()方法执行查询和更新 592

22.3.3 使用executeBatch()方法执行多个SQL更新语句 592

22.3.4 预编译SQL语句的对象PreparedStatement 594

22.3.5 滚动结果集 597

22.3.6 更新结果集 598

22.3.7 使用ResultSet对象处理结果集 599

22.3.8 使用DatabaseMetaData对象处理数据库信息 601

22.4 Java与SQL之间的数据类型转换 601

22.5 小结 603

第23章 数据库应用实例:查询和更新教师信息表 604

23.1 实现查询与更新数据库数据操作思路 604

23.2 实现对教师信息表的查询操作 607

23.2.1 单条记录的查询 607

23.2.2 全表记录查询 611

23.3 实现对教师信息表的插入操作 615

23.4 实现对教师信息表的查询修改操作 620

23.5 实现对教师信息表的查询删除操作 625

23.6 小结 630

第24章 JSP开发 631

24.1 安装配置JSP开发环境 631

24.1.1 安装配置Tomcat服务器 631

24.1.2 发布一个JSP应用程序 633

24.2 JSP基本语法 634

24.3 JSP内置对象 636

24.3.1 请求对象request 636

24.3.2 响应对象response 638

24.3.3 会话对象session 640

24.3.4 应用程序对象application 642

24.3.5 输出对象out 643

24.3.6 页面上下文对象pageContext 644

24.3.7 配置对象config 645

24.3.8 页面对象page 645

24.3.9 异常对象exception 645

24.4 应用程序举例:使用JavaBean实现画面与业务的分离 646

24.4.1 JSP画面的实现 646

24.4.2 业务逻辑的实现 648

24.5 Servlet介绍 649

24.5.1 什么是Servlet 649

24.5.2 Servlet与JSP 650

24.5.3 Servlet生命周期 650

24.5.4 Servlet的开发和部署 650

24.6 应用程序举例:Servlet会话管理 652

24.7 小结 655

第25章 MVC与项目开发 656

25.1 MVC 656

25.1.1 什么是MVC 656

25.1.2 MVC处理过程 657

25.1.3 使用MVC的原因 657

25.2 项目开发 658

25.2.1 项目开发过程 658

25.2.2 快速原型模型 659

25.2.3 V字形模型 659

25.3 小结 660

第5部分 案例分析篇 661

第26章 DVD在线租赁的模拟 662

26.1 提出问题 662

26.2 分析问题 662

26.3 解决问题 663

26.3.1 获取当月的实际天数 663

26.3.2 计算在线租赁DVD的不同会员所占的人数 665

26.3.3 取得DVD在线租赁的详细信息 667

26.3.4 程序的运行 670

26.3.5 程序的测试 671

26.4 小结 673

第27章 高校科研管理系统 674

27.1 需求分析 674

27.2 基本设计 675

27.2.1 系统功能描述 675

27.2.2 功能结构图 675

27.2.3 系统流程分析 676

27.3 数据库设计 676

27.3.1 数据库需求分析 677

27.3.2 数据库逻辑结构设计 677

27.3.3 数据库的物理设计 678

27.3.4 实现与数据库的操作 679

27.4 详细设计 681

27.4.1 用户登录模块 681

27.4.2 高校科研管理系统的主画面 684

27.4.3 全校科研信息查询模块 684

27.4.4 院系科研信息查询模块 689

27.4.5 添加教师科研信息模块 692

27.4.6 修改教师科研信息模块 695

27.4.7 删除教师科研信息模块 703

27.5 程序的运行与测试 707

27.6 小结 707

第28章 ATM处理系统模拟 708

28.1 ATM处理系统的功能描述 708

28.1.1 系统功能描述 708

28.1.2 系统流程分析 709

28.1.3 基本思路 710

28.2 数据库设计 711

28.2.1 数据库逻辑结构设计 711

28.2.2 数据库的物理设计 711

28.2.3 实现与数据库的操作 712

28.3 详细设计 714

28.3.1 ATM处理系统主界面 714

28.3.2 用户卡号验证界面 716

28.3.3 用户密码验证界面 720

28.3.4 业务选择界面 724

28.3.5 余额查询界面 727

28.3.6 取现界面 729

28.3.7 提取固定金额现金界面 731

28.3.8 提取其他金额界面 736

28.3.9 转账界面 739

28.3.10 操作提示界面 744

28.3.11 选择查询明细界面 745

28.3.12 查询明细显示界面 748

28.3.13 修改密码界面 752

28.4 系统的运行与测试 758

28.4.1 ATM处理系统的运行主方法 758

28.4.2 使用Eclipse将Java应用程序打包为JAR 759

28.4.3 系统测试 761

28.5 小结 763