第一部分Java编程基础 1
第1章 Java程序设计基础 1
1.1 概述 1
1.1.1 Java技术的发展与现状 1
1.1.2 Java语言的特点 3
1.1.3 Java的应用简介 4
1.2 Java基本语言规则 4
1.2.1 程序结构 4
1.2.2 基本规则 5
1.3 Java运行环境 10
1.3.1 构建Java运行环境 10
1.3.2 一个简单的Java程序 11
1.4 类 12
1.4.1 对象实例 12
1.4.2 实例变量 13
1.4.3 new操作符 13
1.4.4 点操作符 14
1.4.5 成员函数定义 14
1.4.6 成员函数调用 15
1.4.7 this关键字 15
1.4.8 构造函数 16
1.4.9 重载 17
1.4.10 继承 18
1.4.11 super关键字 19
1.4.12 成员函数的覆盖 19
1.4.13 final关键字 20
1.4.14 静态 21
1.4.15 抽象 22
1.5 接口与包 23
1.5.1 接口(interface) 23
1.5.2 包(package) 24
1.6 Java异常处理 25
1.6.1 异常基础 25
1.6.2 异常的类型 25
1.6.3 try与catch 26
1.6.4 多个catch子句 26
1.6.5 try语句的嵌套 27
1.6.6 thow语句 27
1.6.7 finally 28
1.7 线程 29
1.7.1 多线程的概念 29
1.7.2 Java线程的例子 32
1.7.3 常用线程类成员函数 35
第二部分 JSP编程 37
第2章 JSP/Servlet概述 37
2.1 Java/Servlet 37
2.2 Java/Servlet的特点 38
2.3 JavaServer Page 39
2.3.1 简介 39
2.3.2 JSP和Java 2企业版 39
2.4 Web开发工具简介 40
2.4.1 CGI(Common Gateway Interface) 41
2.4.2 FastCGI 42
2.4.3 ISAPI与NSAPI(专有Web服务器API) 42
2.4.4 ColdFusion 42
2.4.5 Active Server Pages(ASP) 42
2.4.6 Server-Side JavaScript(SSJS) 43
2.4.7 PHP 43
2.4.8 Java Servlet 43
2.5 多层应用结构 44
2.5.1 两层体系结构 44
2.5.2 三层体系结构 44
2.5.3 多层体系结构 45
第3章 JSP技术 47
3.1 概述 47
3.2 JSP的基本语法 47
3.3 JSP的组成要素 52
3.3.1 JSP标准文本:静态的HTML 52
3.3.2 JSP脚本要素 52
3.3.3 JSP指令 54
3.3.4 使用脚本要素和指令的例子 59
3.3.5 预定义变量 60
3.3.6 ISP行为 61
3.3.7 注释和字符引用习惯 74
3.3.8 tablib指令 74
3.4 JSP的优点 74
3.5 JSP与ASP的比较 77
3.5.1 结构 77
3.5.2 性能和平台无关性 77
3.5.3 Session管理 78
3.5.4 Application管理 78
3.5.5 服务器端引用 78
3.5.6 Java组件:JavaBeans 78
3.5.7 JSP和数据库 79
3.5.8 Java环境 79
3.5.9 JSP标签可扩充性 80
3.5.10 JSP跨平台的可重用性 80
3.5.11 JSP与ASP比较小结 81
第4章 JSP编程基础 83
4.1 利用session编程 83
4.2 一个处理表单的Servlet 84
4.3 JSP、Servlet与JavaBean 86
4.4 JSP高级技术 87
4.4.1 Servlet有何缺陷 87
4.4.2 不同的方式 87
4.5 JSP存在的问题 97
4.5.1 直接使用Servlet的问题 97
4.5.2 使用template engine的问题 101
4.5.3 JSP的角色 102
4.6 Java分布式计算技术 102
4.6.1 Servlet 102
4.6.2 RMI (Remote Method Invocation) 103
4.6.3 JDBC(Java Database Conectivity) 104
4.6.4 Java IDL(Java Interface Definition Language) 105
第三部分 Java Servlet编程 109
第5章 HTTP Servlet API 109
5.1 概述 109
5.2 常用HTTP Servlet API概述 110
5.2.1 Cookie 110
5.2.2 HttpServlet 111
5.2.3 HttpServletRequest 112
5.2.4 HttpServletResponse 113
5.2.5 HttpSession 115
5.2.6 HttpSessionBindingEvent 116
5.2.7 HttpSessionBindingListener 116
5.2.8 SessionContext 117
5.2.9 HttpUtils 117
第6章 系统信息 119
6.1 初始化参数 120
6.1.1 获得初始参数 120
6.1.2 获取初始参数名 121
6.2 服务器 122
6.2.1 服务器相关信息 122
6.2.2 锁定Servlet到服务器 124
6.3 客户端 126
6.3.1 获取客户机信息 126
6.3.2 限制只允许某些地区的机器访问 126
6.3.3 获取用户相关信息 127
6.3.4 个性化的欢迎信息 128
6.4 请求 129
6.4.1 请求参数 130
6.4.2 发布许可证密钥 132
6.4.3 路径信息 134
6.4.4 服务文件 135
6.4.5 确定被请求的内容 137
6.4.6 改进的Counter Servlet程序 138
6.4.7 请求机理 142
6.4.8 请求头 142
6.4.9 输入流 145
6.4.10 额外属性 151
第7章 传送HTML信息 153
7.1 response的结构 153
7.2 发送标准的响应 154
7.3 使用持续连接 155
7.4 生成HTML 157
7.4.1 生成Hello World 157
7.4.2 生成一个天气预报的网页 158
7.5 状态码 168
7.6 HTTP头 170
7.6.1 设定HTTP头 171
7.6.2 重定向请求 172
7.6.3 客户牵引 173
7.7 错误处理 174
7.7.1 状态码 175
7.7.2 日志 175
7.7.3 报告错误 176
7.7.4 异常处理 178
第四部分 Servlet高级编程部分 179
第8章 Servlet中的动态页面 179
8.1 图像 179
8.1.1 产生图像 179
8.1.2 图像合成 182
8.1.3 图像特效 188
8.2 压缩的内容 190
8.3 Server Push技术 192
第9章 Applet与Servlet通信 196
9.1 Applet与Servlet通信的几种方式 196
9.1.1 HTTP和原始的套接口(Socket)连接 196
9.1.2 Servlet和对象串行化 197
9.1.3 JDBC、RMI、CORBA 198
9.2 Applet与Servlet通信示例 198
9.2.1 Applet与Servlet通过普通HTTP方式通信 198
9.2.2 一个Applet与Servlet通过HTTP对象串行化方式通信 203
9.2.3 一个Applet与Servlet通过套接口方式通信 207
第五部分 JavaBean/EJB 217
第10章 JavaBean 217
10.1 概述 217
10.2 JavaBean的属性 219
10.2.1 Simple属性 219
10.2.2 Indexed属性 220
10.2.3 Bound属性 220
10.2.4 Constrained属性 222
10.3 JavaBean的事件 223
10.3.1 JavaBean事件概述 224
10.3.2 事件状态对象(Event State Object) 224
10.3.3 事件监听器接口(EventListener Interface)与事件监听器 225
10.3.4 事件监听器的注册与注销 226
10.3.5 适配器类 227
10.4 Bean的定制 227
10.4.1 定制器接口(Customizer Interface) 227
10.4.2 属性编辑器接口(PropertyEditor Interface) 227
10.4.3 BeanInfo接口 229
10.5 JavaBean的持久化 229
10.6 JavaBean的存储格式 230
第11章 Enterprise JavaBeans 231
11.1 EJB体系结构 231
11.1.1 Home接口 232
11.1.2 容器 234
11.1.3 Enterprise JavaBean 235
11.1.4 远程接口 235
11.1.5 EJBObject 236
11.2 EJB体系中的角色 236
11.2.1 EJB提供者(Enterprise JavaBean Provider) 236
11.2.2 应用程序装配者(Application Assembler) 237
11.2.3 部署者(Deployer) 237
11.2.4 EJB服务器提供者(EJB Server Provider) 237
11.2.5 EJB容器提供者(EJB Container Provider) 237
11.2.6 系统管理员(System Adminiatrator) 238
11.3 会话Bean 238
11.3.1 定义一个会话Bean 238
11.3.2 会话Bean的交换 238
11.3.3 活化和钝化 239
11.3.4 会话Bean的状态管理 239
11.4 实体Bean 240
11.4.1 实体Bean的角色 240
11.4.2 实体Bean和会话Bean的比较 240
11.4.3 Finder方法 241
11.4.4 主键 242
11.4.5 实体Bean的内外存交换 243
11.4.6 自管理的持久性 243
11.4.7 容器管理的持久性 244
11.5 部署描述符 244
11.5.1 区分EJB开发的角色 244
11.5.2 EJB Jar文件 246
11.6 事务 246
11.6.1 CORBA OTS (Object Transaction Service, 对象事务服务) 246
11.6.2 定义事务 246
11.6.3 OTS中的关键部件 246
11.6.4 事务和可恢复的对象 248
11.6.5 在部署描述符中指定事务控制 248
11.6.6 JTS-Java事务服务 249
11.6.7 自管理的事务 250
11.6.8 会话同步接口 251
11.6.9 加入事务 252
11.6.10 客户划分的事务 252
11.6.11 数据库操作的事务管理 253
11.6.12 分布事务的支持 253
11.7 结语 253
第六部分JDBC与JSP/Servlet 255
第12章JDBC基础 255
12.1 JDBC概述 255
12.1.1 ODBC到JDBC的发展历程 255
12.1.2 JDBC技术概述 256
12.1.3 数据库连接 258
12.1.4 JDBC API第一版是JDK 2的核心部分 260
12.2 JDBC API概貌 260
12.2.1 JDBC Driver API 260
12.2.2 JDBC API 261
12.3 使用JDBC API对数据库连接 261
12.4 在Applet中应用JDBC访问数据库 264
12.4.1 JDBC的工作原理 264
12.4.2 JDBC编写数据库程序的方法 264
12.4.3 JDBC编写数据库程序的实现 264
第13章 Servlet与JDBC 267
13.1 添加数据到Servlet 267
13.1.1 Java数据库互联 267
13.1.2 JDBC驱动器类型 267
13.2 JDBC应用程序接口 269
13.2.1 建立一个连接 269
13.2.2 执行SQL Statements和Retrieving Results 270
13.2.3 事物处理支持 272
13.3 影像数据库的例子 273
13.3.1 建立查询界面 273
13.3.2 连接到数据库 275
13.3.3 从查询表单中汇聚数据 276
13.3.4 建立查询 276
13.3.5 向数据库发送查询指令 277
13.3.6 向Web浏览器返回查询结果 277
13.3.7 关闭数据库连接 279
13.4 用PreparedStatement优化程序性能 281
13.4.1 销售表单更新界面 282
13.4.2 建立销售表单 282
13.4.3 连接到数据库 284
13.4.4 检索表单数据 284
13.4.5 建立PreparedStatement 284
13.4.6 向数据库插入记录 285
13.4.7 发送确认信息 285
13.5 连接池对象 287
13.5.1 数据库连接池 288
13.5.2 设置你的用户上限和初始化用户数目 288
13.5.3 建立所有连接对象 288
13.5.4 为新的请求分配连接对象 289
13.5.5 断开所有的数据库连接 290
第14章 JSP与JDBC 294
14.1 JSP与JDBC 294
14.1.1 JNDI和数据源 294
14.1.2 预备声明 295
14.2 数据库驱动JSP 296
14.2.1 从数据表中建立JSP组件 296
14.2.2 JSP与JDBC数据类型 298
14.2.3 保持固定连接 300
14.2.4 处理大量结果 302
14.2.5 事务处理 305
14.3 一个JSP订票系统的例子 305
14.3.1 工程概览 306
14.3.2 所用数据库 306
14.3.3 设计概要 306
第七部分 中间件与JSP 315
第15章 中间件CORBA 315
15.1 中间件技术 315
15.1.1 什么是中间件 316
15.1.2 中间件的作用和分类 316
15.1.3 中间件模型和形态 318
15.2 分布式应用开发技术概述 318
15.2.1 CORBA、DCOM、RMI简述 318
15.2.2 发展趋势 319
15.2.3 三种主流技术比较 321
15.3 CORBA技术及实例 322
15.3.1 CORBA简介 323
15.3.2 用Java做CORBA开发实例 325
15.4 JSP与CORBA技术的结合使用 330
15.4.1 如何结合使用JSP和CORBA 330
15.4.2 一个例子 332
附录 337
附录1 JavaServer PagesTM白皮书 337
附录2 配置JSP的运行环境 343
附录3 在Linux下建设JSP环境 346
附录4 用JSP构建动态网站 352
附录5 Java Web Server中的MIME类型 357
附录6 JSP网站参考 360
附录7 教学光盘内容目录 362