目录
序: 1
面向Internet的编程 1
Mary的加盟 2
The J2EE Tutorial 2
目录 3
第一部分 介绍 13
准备工作 13
谁应该使用这指南 13
关于例子 13
理解例子的准备工作 13
例子下载 13
如何编译并运行例子 13
相关信息 14
第1章 总 括 14
一.分布式得多层应用程序 14
J2EE组件 15
J2EE客户端 15
网络浏览器 15
小程序 15
应用客户端 15
JavaBean组件结构 15
网络组件 15
业务逻辑组件 16
二.J2EE容器 16
容器服务 16
三.打包J2EE组件 18
四.开发者角色 18
J2EE产品提供商 18
工具提供商 19
应用程序组件开发者 19
企业Bean开发者 19
Web组件开发者 19
J2EE应用程序客户端开发者 19
应用程序组装者 19
应用程序部署者和系统管理员 19
五.本书所用的软件 20
数据库访问 20
J2EE API 20
简化系统集成 20
工具 20
第2章 动手做一个EJB 22
一.准备工作 23
二.创建J2EE应用程序 24
三.创建企业Bean 24
编写企业Bean代码 24
编写Remote接口 24
编写Home接口 24
编写企业Bean类 25
编译源文件 26
打包企业Bean 26
四.创建J2EE应用程序客户端 27
编写J2EE应用程序客户端代码 27
查找Home接口 27
创建一个企业Bean实例 28
调用商业方法 28
打包J2EE应用程序客户端 29
指定应用程序客户端的企业Bean引用 30
五.创建Web客户端 30
编写Web客户端代码 30
编译Web客户端 32
打包Web客户端 32
指定Web客户端的企业Bean引用 32
六.设置企业Bean的JNDI名 32
七.部署J2EE应用程序 33
八.运行J2EE应用程序客户端 34
九.运行Web客户端 34
十.修改J2EE应用程序 35
修改类文件 35
添加文件 36
修改部署设置 36
十一 常见问题和解决方法 36
无法启动J2EE服务器 36
编译出错 37
部署出错 37
J2EE应用程序客户端运行时错误 38
Web客户端运行时错误 39
用检验工具检查问题 39
比较你的EAR文件和样本EAR文件 39
其它异常 39
第二部分 EJB技术 40
第3章 企业Bean 40
1,企业Bean概述 41
企业Bean的优点 41
何时需要使用企业Bean 41
企业Bean的分类 41
2,会话Bean 42
状态管理模式 42
何时需要会话Bean 42
3,EntityBean 43
EntityBean和会话Bean的不同之处 43
容器管理的持久性(CMP) 44
何时需要EntityBean 45
4,Message-Driven Bean 46
Message-DrivenBean的构造 46
与会话Bean、EntityBean的不同之处 46
何时需要Message-DrivenBean 47
5.定义客户端访问接口 47
远程访问 47
本地接口 48
Local接口和CMR(Container-Managed RelationShips) 49
两种访问方式的抉择 49
性能和访问方式 50
方法参数和访问方式 50
数据访问粒度 50
6,企业Bean的“内容” 51
7,企业Bean的命名约定 51
8,企业Bean的生存周期 52
有状态会话Bean的生命周期: 52
无状态会话Bean的生命周期 54
EntityBean的生命周期 54
Message-DrivenBean的生命周期 56
第4章 有状态会话Bean示例 57
1.购物车会话Bean CartEJB 57
会话Bean类 58
SessionBean接口 60
Home接口 62
Remote接口 63
辅助类 63
运行本例 63
二 其他的企业Bean特性 64
访问环境变量 65
企业Bean的比较 66
访问企业Bean的远程对象引用 67
第5章 BMP的例子 68
一.SavingsAccountEJB 68
实体Bean类(SavingsAccountBean) 69
EntityBean接口 69
ejbCreate方法 70
EjbPostCreate方法 71
ejbRemove方法 72
ejbLoad和ejbStore方法 72
查找方法(Finder) 73
商业方法 74
Home方法 76
数据库访问 77
Home接口 77
定义create方法 78
定义查找方法 78
定义Home方法 79
运行本例子 80
二.用deploytool部署BMP实现的实体Bean 80
三.为BMP映射表间关系 81
一对一关系 81
运行StorageBinApp应用程序 83
一对多关系 84
将子表实现为辅助类 84
运行OrderEJB应用程序 87
将子表实现为实体Bean 87
运行SalesRepEJB的例子 90
多对多关系 90
运行EnrollerEJB的例子 91
四.BMP的主键 92
主键类 92
实体Bean类中的主键 93
获取主键 94
五.异常处理 94
第6章 CMP的例子 96
一 RosterApp应用概述 97
二 layerEJB代码分析 97
实体Bean类 98
CMP和BMP实现实体Bean的代码比较 98
访问(get和set)方法 98
持久性字段的访问方法 99
关系字段的访问方法 99
select方法 99
商业方法 100
实体Bean方法 100
Local Home接口 101
Local接口 102
三.RosterApp配置说明 102
RosterApp应用程序配置 103
RosterClient客户端配置 104
RosterJAR的设置 104
TeamJAR配置 104
PlayerEJB 107
四 RosterApp中的方法调用 110
“新建”一个运动员 110
将运动员加入组 111
“删除”一个运动员 112
从组中开除运动员 112
获得一个组里的所有运动员 113
获取组成员的副本 114
根据位置查询运动员 116
查询运动员的运动项目 116
五 运行RosterApp应用程序 118
启动用到的软件 118
部署该应用程序 118
运行客户端 118
六 用deploytool工具部署CMP实现的实体Bean 118
指定企业Bean类型 118
选择持久性字段和抽象模式名 119
为查找方法和Select方法定义EJB QL查询 119
七 CMP的主键 119
主键类 119
实体Bean类中的主键 120
产生主键值 121
第7章 一个消息驱动Bean的例子 122
一.例子应用程序介绍 122
二.J2EE应用程序客户端 123
三.消息驱动Bean类 124
OnMessage方法 124
ejbCreate和ejbRemove方法 125
四.运行本例子 125
启动J2EE服务器 125
创建消息队列 125
部署该程序 125
运行客户端 125
五.用deploytool部署消息驱动Bean 126
指定Bean类型和事务管理机制 126
设置消息驱动Bean的特有属性 126
六.用deploytool配置JMS客户端 127
配置资源引用 127
配置资源环境引用 128
设置JNDI名 128
第8章 EJB查询语言 129
一.术语 129
二.简单语法 130
三.查询例子 130
简单查找方法的查询 130
跨越实体Bean关系查找方法的查询(关联查询) 131
其它条件查找方法的查询 132
Select方法的查询 133
四.全部语法 133
EJB QL语法的BNF定义 134
FROM子句 137
路径表达式 139
WHERE子句 141
BETWEEN表达式 143
IN表达式 143
LIKE表达式 143
SELECT子句 146
五.EJB QL的限制 147
第三部分 Web技术 148
第9章 网络客户端及组件 148
网络客户端的生命周期 148
网络应用结构 149
创建WAR文件 150
将WAR文件加入到EAR文件中 150
增加一个Web组件到WAR文件中 150
配置Web客户 151
应用级配置 151
WAR级的配置 151
组件及配置 151
部署网络客户 152
运行网络客户 152
更新网络客户 152
国际化网络客户 152
第10章 Java Servlet技术 153
什么是Servlet? 153
有关Servlets的例子 153
处理错误 155
处理servlet生命周期事件 156
指定事件监听类 157
处理错误 157
共享信息 157
使用域对象 157
控制共享资源的并发入口 158
访问数据库 159
初始化Servlet 160
编写Service方法 160
通过request取得信息 161
构造Responses 162
过滤请求及响应 163
编写Filter 163
编写自定义的请求与响应 165
指定filter映射 166
调用其它网络资源 167
响应中包含其它资源 167
转移控制到其它网络组件 168
访问Web Context 168
维持客户端状态 169
访问一个会话 169
将属性与会话绑定 169
与会话相关联的通知对象 170
会话管理 170
会话跟踪 170
结束servlet 171
跟踪服务请求 171
通知方法Shut Down 172
创建长时间运行的方法 173
第11章 JSP技术 175
什么是JSP页面 175
JSP页面的例子 176
JSP页面的生命周期 179
转换与编译 179
异常 179
初始化及结束一个JSP页面 180
生成静态内容 181
生成动态内容 181
在JSP中使用对象 181
隐式对象 181
特定应用程序对象 181
共享对象 182
JSP scripting 元素 182
声明 182
脚本(scriptlets) 183
表达式 184
在JSP页面中包含内容 185
转换控制到另一网络组件 185
参数元素 185
包含Java小程序(applet) 185
扩展JSP语言 187
第12章 JSP页面中的JavaBean组件 189
JavaBean组件设计约定 189
为什么要使用JavaBean组件 190
创建并使用JavaBean组件 190
设置JavaBean组件属性 190
返回JavaBean组件属性 191
第13章 在JSP页面中自定义标签 193
什么是自定义标签? 193
JSP页面的例子 193
使用标签 196
声明标签 196
标签种类 196
简单标签 196
带有属性的标签 196
带体的标签 197
在传递信息时选择属性还是体 197
定义脚本变量的标签 197
标签的相互协作 197
定义标签 198
标签处理器 198
标签库描述符 198
简单标签 200
标签属性 200
标签体 202
定义脚本变量的标签 203
与标签协作 205
例子 207
迭代标签 207
标签处理器 208
模板标签库 208
JSP页面 208
标签处理器是如何被调用的? 211
第14章 事务 213
一.什么是事务 213
二.容器管理事务 214
事务的属性 214
容器管理事务的回滚 217
同步会话Bean的实例变量 218
容器管理事务中不允许使用的方法 219
三.Bean管理事务 219
JDBC 事务 220
JTA 事务 221
非提交返回事务 222
在Bean管理事务中不允许使用的方法 222
四.企业Bean事务摘要 222
五.事务超时 222
六.隔离级别 223
七.更新多个数据库 223
八.Web 组件事务 225
第15章 安全 226
一.纵览 226
二.安全角色 227
声明和连接角色引用 227
映射角色到J2EE用户和组 228
三.Web层安全 228
保护Web资源 228
控制Web资源访问 229
Web资源访问的用户验证 229
使用编程安全机制 230
不受保护的Web资源 230
四.EJB层安全 230
声明方法许可 230
使用编程安全机制 231
不受保护的EJB层资源 231
五.应用程序客户端层安全 231
确定应用程序客户端的回调处理机制 232
六.EIS(Enterprise Information System)层安全 232
配置契约 232
容器管理的契约 232
组件管理的契约 233
配置资源适配器安全 233
七.传递安全身份 234
配置组件使用的传递安全身份 234
配置客户端验证机制 235
容器间的信任机制 235
八.J2EE用户、域和组 235
管理J2EE用户和组 236
九.安装服务器证书 236
第16章 资源连接 238
一.JNDI名和资源引用 238
在deploytool中配置资源引用 239
二.数据库连接 241
获得连接 241
用deploytool指定数据库用户名和密码 242
连接池 243
三.邮件服务连接 243
运行ConfirmerEJB例子 244
四.URL资源连接 245
运行HTMLReaderEJB例子 246
第17章 DUKE的银行应用程序 247
EJB 248
会话BEAN 248
实体BEAN 250
帮助类 251
数据库表 251
保护EJB 252
应用程序客户端 253
账号管理 254
类和他们之间的关系 254
Web客户端的生命循环 261
国际化 265
编译,打包,部署,运行应用程序: 266
启动j2ee 服务器,部署工具和数据库 268
给企业归档(archive)文件打包 269
打开企业归档文件 269
- 1
- 2
- 3
- 4
- 5
前往页