第1章 绪论 1
1.1 Java简介 1
目 录 1
1.2 Java高级应用举例:UATelehand系统 3
1.2.1Telehand系统的体系结构 3
1.2.2Telehand系统的功能和操作 5
1.2.3Telehand系统的实现和集成 7
1.3本书的内容和组织结构 8
第2章Java图形用户接口编程 10
2.1 引言 10
2.2 Swing总览 11
2.3.1 JFrame8 13
2.3 顶级容器 13
2.3.2 JApplet 14
2.4 GUI的总体效果 16
2.4.1基本的布局管理 16
2.4.2外观(Look and Feel) 18
2.5文本输入和显示 20
2.5.1文本域(Text Field) 21
2.5.2文本区(Fext Area) 25
2.5.3样式文本区(Styled Text Area) 26
2.6按钮、复选框和单选按钮 28
2.6.1按钮(Button) 28
2.6.2复选框(Check Box) 30
2.6.3单选按钮(Radio Button) 32
2.7组合框(ComboBox) 33
2.8列表框(List) 34
2.9滚动条和滑动块 39
2.9.1滚动条(Scroll Bar) 39
2.9.2滑动块(Slider) 41
2.10标签(Label) 42
2.11边框(Border) 44
2.12任务进度的监视 48
2.12.1进度条(Progress Bar) 48
2.12.2进度监视器(Progress Monitor) 49
2.13表格(Table) 50
2.13.1一个简单表格 51
2.13.2表格的行列操作 52
2.13.3表格模型 55
2.13.4单元的显示和编辑 57
2.14树形结构(Tree) 61
2.14.1一个简单的树形结构 61
2.14.2树的编辑 64
2.14.3树节点的显示 66
2.14.4树的事件监听和处理 68
2.14.5树模型的定制 70
2.15高级布局管理 71
2.15.1网格布局(Grid Layout) 72
2.15.2方框布局(Box Layout) 73
2.15.3网格袋布局(Grid Bag Layout) 75
2.15.4卡片式布局(Card Layout) 77
2.15.5布局管理器的定制 79
2.15.6布局管理器的选用 81
2.16菜单(Menu) 81
2.16.1菜单的创建 82
2.16.2菜单选项图标、键盘助记符和快捷键 84
2.16.3菜单选项类型 85
2.16.4菜单选项的有效性 86
2.16.5弹出式菜单(Pop-up Menu) 86
2.16.6菜单布局的定制 87
2.17对话框(Dialog) 89
2.17.2对话框的创建和用户数据输入 91
2.17.3文件选择对话框 92
2.17.4颜色选择器 96
2.18控件组织器 98
2.18.1分隔块(Split Pane) 99
2.18.2 Tabbed Pane 100
2.18.3工具条(Tool Bar) 101
2.18.4内部窗口(Internal Frame) 103
2.19 Telehand系统的GUI设计 105
第3草Servlet网络编程 110
3.1 网络技术简介 110
3.1.1 Web技术的发展简史 110
3.1.3 HTTP基本概念 113
3.1.2 Servlet的特点 113
3.2开发环境的创建和使用 116
3.2.1 Tomcat的安装和运行 116
3.2.2 Apache的安装和运行 117
3.2.3 Tomcat与Apache的连接 119
3.2.4 Tomcat开发环境的使用 122
3.3 HTTP Servlet基础 124
3.3.1 一个简单的例子 124
3.3.2 Servlet API 126
3.3.3 Servlet的运行机制 128
3.3.4 Servlet的生命周期 128
3.3.5表单数据和POST请求的处理 130
3.4信息的获取 131
3.4.1 初始化参数的获取 132
3.4.2服务器信息的获取 135
3.4.3客户信息的获取 138
3.4.4请求信息的获取 140
3.5 HTML页面的传送 143
3.5.1 响应的基本结构 144
3.5.2 HTML页面的生成 144
3.5.3状态码和HTTP头部信息 146
3.6 Cookie和Session 150
3.6.1Cookie 151
3.6.2 Session 155
3.7 图像的产生、处理和传送 157
3.7.1 静态图像的产生和传输 158
3.7.2动态图像的产生和传输 160
3.7.3 图像的处理和传输 163
3.8多种语言的处理 167
3.8.1 中文的显示 168
3.8.2 多种语言的混合 169
3.9网络的安全性 171
3.9.1服务器的HTTP认证 172
3.9.2定制的认证 173
3.9.3基于表单的认证 174
3.9.4SSL 177
3.10 Applet与Servlet之间的通信 178
3.11.1 JSP的特点和工作机制 189
3.11 Servlet 与JSP 189
3.11.2一个JSP的简例 191
3.11.3 JSP语法提要 193
3.11.4 JSP的内置对象 195
3.11.5 JSP的其他功能特性 196
3.12 Telehand系统的网络实现 196
3.12.1 网络服务功能的实现 196
3.12.2操作场景的图像反馈 200
第4章Java与数据库的连接 202
4.1 JDBC的结构和应用模式 202
4.2关系数据库和SQL简介 204
4.3数据库的安装和测试 207
4.4 JDBC编程基本概念 210
4.4.1装载JDBC驱动器 211
4.4.2与数据库的连接 211
4.4.3 SQL语句的执行 213
4.4.4数据库中返回结果的处理 214
4.4.5关闭所创建的各个对象 214
4.5 JDBC API 214
4.5.1 DriverManager类 215
4.5.2 Connection接口 216
4.5.3 Statement接口 217
4.5.4 ResultSet接口 218
4.5.5 PreparedStatement和CallableStatement接口 221
4.5.6 DatabaseMetaData和ResultSetMetaData接口 224
4.5.7 SQLException和SQLWarning类 227
4.5.8其他类和接口 228
4.6可滚动的和可修改的结果集 229
4.7高级数据类型Blob和Clob 231
4.8 数据库的事务(Transactions) 233
4.9 Servlet对数据库的操作 235
4.9.1 对数据库的直接存取 235
4.9.2数据库对象的重用 238
4.9.3连接池 239
4.10一个实例:对Telehand系统的网上评估 242
第5章JNI技术 250
5.1 什么是JNI 250
5.2.1 Java程序的编写 251
5.2使用JNI时Java程序的编写过程 251
5.2.2 Java程序的编译 252
5.2.3 native方法头文件的产生 253
5.2.4 native方法的实现 254
5.2.5 native共享库的生成 254
5.2.6程序的运行 255
5.3 Java与native之间的类型映射 255
5.3.1基本数据类型的映射 256
5.3.2引用类型的映射 256
5.3.3 native方法与实现函数之间的对应关系 258
5.4 native方法对基本数据类型的存取 259
5.5 native方法对Java字符串的存取 259
5.6 native方法对Java数组的存取 261
5.6.1基本数据数组的存取 262
5.6.2对象数组的存取 264
5.7 native方法对Java成员变量的存取 265
5.7.1对象成员的存取 265
5.7.2静态成员的存取 267
5.7.3类型署名和相关的JNI函数 267
5.8 native方法对Java方法的调用 269
5.8.1对象方法的调用 270
5.8.2静态方法的调用 271
5.8.3构造方法的调用 272
5.8.4 JNI API:调用Java方法的函数 273
5.9局部的和全局的引用 274
5.9.1 局部引用、全局引用和弱全局引用 275
5.9.2与引用有关的函数 277
5.10异常的产生和捕获 278
5.11 Invocation接口 281
5.12 JNI在Telehand系统中的应用 284
第6章Java与VRML 289
6.1什么是VRML和EAI 289
6.2三维图形学和VRML基础 290
6.2.1 三维图形学的基本概念 290
6.2.2 VRML基础 291
6.3 VRML脚本简介 294
6.3.1几何节点(Geometry) 294
6.3.2外观(Appearance) 301
6.3.3成组节点(Gronping Node) 303
6.3.4可绑定节点(Binding Node) 306
6.3.5声光节点 309
6.3.6块化和抽象化 312
6.3.7事件(Event) 316
6.3.8插补器(Interpolator) 321
6.4 EAI:Java与VRML的连接 324
6.4.1必要的HTML文件 324
6.4.2 EAI的工作机制 325
6.4.3 VRML节点的存取 327
6.4.4感知VRML事件的发生 328
6.4.5 VRML场景的创建 330
6.5 EAI在Telehand系统中的应用 331