第1章 Java EE概述 1
1.1 Java EE应用模型 1
1.1.1 Java EE产生 1
1.1.2 Java EE介绍 2
1.1.3 Java EE5规范新概念 3
1.2 分布式多层应用 6
1.3 Java EE体系介绍 10
1.4 Java EE容器 12
1.4.1 容器服务 12
1.4.2 容器类型 13
1.5 Web服务支持 15
1.6 Java EE5API 16
第2章 EJB基础 24
2.1 EJB组件技术 24
2.1.1 软件组件 24
2.1.2 EJB概念 25
2.1.3 EJB组件和可重用性矛盾 27
2.1.4 EJB新生—EJB3.0 28
2.2 EJB分布式对象 29
2.3 EJB分类 30
2.3.1 会话bean和消息驱动bean 31
2.3.2 实体和JPA 32
2.4 EJB容器 33
2.4.1 访问EJB容器服务和JPA服务 33
2.4.2 使用EJB服务的功能 34
2.5 EJB新特性 35
第3章 搭建EJB环境 40
3.1 构建EJB运行环境 40
3.1.1 安装JDK1.5. 40
3.1.2 安装及配置JBoss 42
3.2 构建EJB开发环境 47
3.2.1 Eclipse介绍及安装 48
3.2.2 安装MyEclipse 50
3.2.3 Eclipse中配置JBoss 54
3.3 记事本开发EJB程序实例 56
33.1 EJB程序服务器端编码 56
3.3.2 EJB程序客户端编码 57
3.3.3 部署和运行 59
3.4 Eclipse开发EJB程序实例 60
3.4.1 EJB程序服务器端编码 60
34.2 EJB程序客户端编码 62
3.4.3 部署和运行 63
第4章 会话bean 65
4.1 会话bean简介 65
4.2 无状态会话bean与有状态会话bean的不同 67
4.3 开发无状态会话bean 67
4.3.1 开发实现远程接口的无状态会话bean 68
4.3.2 开发实现本地接口的无状态会话bean 70
4.3.3 开发远程和本地接口的无状态会话bean 72
4.4 开发有状态会话bean 74
4.5 改变会话bean的JNDI名称 76
4.6 会话bean生命周期 77
4.7 拦截器 80
4.8 依赖注入 84
4.8.1 EJB注入 85
4.8.2 资源类型注入 89
第5章 持久化实体 93
5.1 实体简介 93
5.2 单表映射的实体 94
5.3 成员属性映射 99
5.4 映射表名或列名是数据库保留字的处理 104
5.5 建议重载equals和hashcode方法 104
第6章 持久化实体管理器、 106
6.1 服务器数据源配置 106
6.2 持久化单元配置 108
6.3 实体操作实例 110
6.4 持久化实体管理器简介 113
6.4.1 EntityManager接口 113
6.4.2 创建EntityManager实例 114
6.5 实体操作 116
6.5.1 通过主键查询实体 116
6.5.2 持久化实体 117
6.5.3 更新实体 118
6.5.4 合并merge() 119
6.5.5 删除实体 120
6.5.6 刷新实体 121
6.6 实体状态和生命周期事件 122
第7章 对象关系映射 130
7.1 一对一映射 130
7.1.1 双向一对一映射 132
7.1.2 单向一对一映射 141
7.2 一对多与多对一映射 142
7.2.1 双向一对多与多对一映射 142
7.2.2 单向一对多与多对一映射 149
7.3 多对多映射 150
7.3.1 双向多对多映射 151
7.3.2 单向多对多映射 156
第8章 JPQL查询 158
8.1 JPQL基础 158
8.2 参数查询 159
8.3 JPQL运算操作符 161
8.4 条件查询 164
8.4.1 排序查询 164
8.4.2 聚合查询 164
8.4.3 使用构造器 166
8.4.4 关联查询 167
8.4.5 排除相同记录DISTINCT 169
8.5 JPQL内置函数 170
8.6 使用子查询 171
8.7 结果集分页 173
8.8 批量操作 174
8.9 原生SQL查询、 175
8.10 调用存储过程 175
第9章 消息驱动bean 179
9.1 面向消息的架构 179
9.1.1 消息和消息中间件 179
9.1.2 JMS概念 180
9.1.3 JMS消息构成 181
9.1.4 消息应用程序架构 183
9.1.5 JMS应用 184
9.2 MDB概述 185
9.2.1 MDB介绍 186
9.2.2 MDB特点 186
9.2.3 MDB设计原则 187
9.3 开发点对点模式MDB实例 188
9.3.1 配置消息目标地址 188
9.3.2 创建消息生产者 189
9.3.3 创建消息消费者(MDB) 191
9.3.4 部署和运行 194
9.4 开发发布/订阅模式MDB实例 195
9.5 MDB生命周期 199
第10章 事务 202
10.1 事务概述 202
10.1.1 事务定义 202
10.1.2 ACID属性 203
10.1.3 事务类型 205
10.1.4 两阶段提交协议 205
10.2 EJB事务管理 207
10.3 容器管理事务 208
10.3.1 CMT实现事务实例 209
10.3.2 @TransactionAttribute注解 210
10.3.3 使用CMT回调 212
10.4 bean管理事务 212
10.4.1 使用BMT实现事务处理 212
10.4.2 获取UserTransaction 213
10.4.3 使用UserTransaction 215
10.4.4 BMT缺点 216
10.5 事务管理实例 216
第11章 优化EJB性能 223
11.1 提高实体性能 223
11.1.1 重新建模和重新设计计划 223
11.1.2 优化JDBC层 224
11.1.3 减少数据库操作 226
11.1.4 提高查询性能 227
11.1.5 缓存 229
11.2 提高EJB3.0组件性能 233
11.2.1 会话bean性能 233
11.2.2 提高MDB性能 235
11.3 集群EJB应用程序 235
11.3.1 协同定位架构 236
11.3.2 无状态会话bean负责平衡 236
11.3.3 集群有状态会话bean 238
11.3.4 实体和集群缓存 239
第12章 从Web层访问EJB 240
12.1 设计模式和Web技术 240
12.1.1 Web层 240
12.1.2 DAO和EAO模式 241
12.1.3 Session Facade模式 242
12.2 从web层访问会话bean 243
12.2.1 使用依赖注入访问会话bean 244
12.2.2 从帮助器类引用会话bean 245
12.2.3 处理有状态会话bean 246
12.3 从Web层使用JPA 247
12.3.1 使用容器管理的实体管理器 248
12.3.2 通过JTA事务使用应用程序管理EntityManager 249
12.3.3 在容器外访问应用程序管理EntityManager 250
12.4 分析EJB安全 252
12.4.1 常见安全概念 252
12.4.2 EJB 3.0和Java EE安全 252
12.4.3 声明式安全 254
第13章 EJB和Web服务 256
13.1 Web服务 256
13.1.1 Web服务概述 256
13.1.2 Web服务组件 258
13.1.3 Web服务风格 262
13.1.4 开发Web服务方法 262
13.2 JAX-WS:JavaEE 5 Web服务平台 263
13.3 使用JAX-WS 2.0开发EJB Web服务 264
13.3.1 将EJB作为Web发布 264
13.3.2 使用@WebService注解 267
13.3.3 使用@WebMethod注解 269
13.3.4 其他常用注解 270
第14章 EJB表现层JSF 274
14.1 JSF简介 274
14.1.1 配置JSF开发环境 275
14.1.2 第一个JSF程序 276
14.1.3 JSF表达式语言 279
14.1.4 配置导航规则 281
14.1.5 Backing beans 283
14.2 JSF用户界面组件 284
14.2.1 JSF标签简介 284
14.2.2 输入类标签 285
14.2.3 输出类标签 285
14.2.4 命令类标签 286
14.2.5 选择类标签 287
14.2.6 其他标签. 289
14.3 事件处理 290
14.3.1 动作事件 290
14.3.2 值变事件 292
14.3.3 实时事件 296
14.4 数据转换与验证 297
14.4.1 标准转换器 297
14.4.2 标准验证器 300
14.4.3 错误信息处理 301
14.5 JSF实例 302
第15章 新闻管理系统 308
15.1 系统概述 308
15.2 数据库设计 309
15.3 公共代码实现 310
15.3.1 导入相关类库 310
15.3.2 配置web.xml 311
15.3.3 数据源配置 311
15.3.4 配置persistence.xml文件 312
15.4 实现业务逻辑和数据处理层 313
15.4.1 admin表的实体和对应会话bean 313
15.4.2 category表的实体和会话bean 315
15.4.3 news表的实体和会话bean 316
15.5 实现表现层 319
15.5.1 实现登录页面 319
15.5.2 实现后台首页 322
15.5.3 实现添加新闻 329
15.5.4 实现查看新闻 333
15.5.5 实现修改新闻 335
15.5.6 实现删除新闻 338
第16章 人事管理系统 340
16.1 需求分析 340
16.2 系统设计 341
16.3 数据库设计 342
16.4 实现实体 346
16.4.1 实现Employee实体 346
16.4.2 实现kao实体 348
16.4.3 实现lizhi实体 349
16.4.4 实现zhuan实体 351
16.5 实现会话bean 352
16.5.1 实现员工管理会话bean 352
16.5.2 实现工资核算会话bean 355
16.5.3 实现离职员工会话bean 356
16.6 实现客户端代码 358
16.6.1 实现首页 358
16.6.2 加入新员工 361
16.6.3 员工信息查询 365
16.6.4 员工离职处理 368
16.7 Java EE程序打包和部署 372