《Java高手真经 高级编程卷 Java Web高级开发技术(EJB+消息通信+分布式+开源框架)》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:刘中兵Java研究室编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121092176
  • 页数:679 页
图书介绍:本书讲解Java Web开发中的高级开发技术,包括企业级的开发技术EJB、各种Java EE的分布式开发技术、Java Web的各种开源技术与框架,这三部分内容层层递进,涵盖了Java EE开发中的各种分布式与业务核心技术。

第1部分 准备篇 3

第1课 构建Eclipse集成开发环境 3

1.1 安装JDK并进行配置和测试 4

1.1.1 JDK的下载 4

1.1.2 JDK的安装 5

1.1.3 设置环境变量 8

1.1.4 测试Java环境 9

1.2 安装Tomcat并进行配置和测试 9

1.2.1 Tomcat的下载 10

1.2.2 Tomcat的安装 10

1.2.3 Tomcat的配置 11

1.2.4 测试Tomcat 11

1.2.5 配置一个站点并测试 12

1.3 安装Eclipse并进行配置 12

1.3.1 Eclipse简介 13

1.3.2 Eclipse版本与代号 14

1.3.3 Eclipse的下载 15

1.3.4 Eclipse的安装 19

1.3.5 Eclipse的启动 19

1.3.6 集成配置JDK 20

1.4 使用Eclipse进行Java Web项目的开发——实例演示HelloWorld项目开发过程 21

1.4.1 认识Eclipse工作区 22

1.4.2 新建Java Web项目demo 23

1.4.3 新建一个Java包test.hello&. 24

1.4.4 新建一个Java类HelloWorld.java 25

1.4.5 新建一个HTML页面index.htm 26

1.4.6 新建一个JSP页面helloworld.jsp 28

1.4.7 新建Tomcat服务器集成配置 29

1.4.8 运行项目查看结果 32

1.4.9 Tomcat的停止与重启 32

1.4.10 导出war部署包 32

1.4.11 打包eclipse.zip 33

1.5 本课小结 34

1.5.1 总结本课的知识点 34

1.5.2 要掌握的关键点 35

1.5.3 继续下一课:创建企业信息管理系统数据库 36

第2课 创建企业信息管理系统数据库 37

2.1 基本需求功能——登录、退出与注册 37

2.1.1 基础功能流程图 37

2.1.2 用户登录功能 38

2.1.3 用户退出功能 38

2.1.4 用户注册功能 38

2.2 业务需求功能——企业信息管理系统功能 38

2.2.1 通讯录管理模块 39

2.2.2 短消息管理模块 39

2.2.3 日程安排模块 39

2.2.4 工作记录模块 39

2.2.5 公司公告模块 39

2.2.6 工作会议模块 39

2.3 设计页面结构 40

2.3.1 登录界面 40

2.3.2 登录后的欢迎界面 41

2.3.3 注册界面 41

2.4 设计数据库 42

2.4.1 数据库需求分析 42

2.4.2 设计数据表E-R图 43

2.4.3 设计数据表结构 43

2.5 创建数据库 46

2.5.1 MySQL的下载、安装与启动 46

2.5.2 安装MySQL客户端软件SQL-Front 48

2.5.3 新建数据库demo 50

2.5.4 新建用户表user 50

2.5.5 添加一条用户数据 51

2.5.6 创建通讯录管理表address 52

2.5.7 创建短消息管理表sms 52

2.5.8 创建日程安排表schedule 52

2.5.9 创建工作记录表worklog 53

2.5.10 创建公司公告表notice&. 53

2.5.11 创建工作会议表meeting 53

2.5.12 打包emis07(SQL+MySQL).zip 54

2.6 本课小结 54

2.6.1 总结本课的知识点 55

2.6.2 继续下一部分:Java Web企业级开发技术EJB 56

第2部分 Java Web企业级开发技术EJB第3课 EJB快速入门 59

3.1 开始了解EJB 59

3.1.1 EJB基本概念 60

3.1.2 EJB基本特性 61

3.1.3 EJB体系结构 61

3.1.4 EJB组件的3种类型 62

3.1.5 EJB发展历史 63

3.1.6 EJB 3.0新特性 65

3.2 配置EJB运行环境——JBoss服务器 66

3.2.1 选择EJB应用服务器 66

3.2.2 JBoss组成及其软件家族 69

3.2.3 下载与安装JBoss 72

3.2.4 部署JBoss应用 75

3.2.5 启动JBoss服务器 75

3.2.6 测试JBoss服务 76

3.3 配置EJB集成开发环境——Eclipse+JBoss Tools插件 78

3.3.1 安装JBoss Tools插件 78

3.3.2 新建JBoss服务器 81

3.3.3 启动JBoss服务器 84

3.3.4 测试JBoss服务 85

3.4 EJB快速上手——HelloWorld入门实例 85

3.4.1 创建EJB项目——EJBTest 85

3.4.2 创建包——com.ejb 87

3.4.3 创建Session Bean组件——HelloWorld 88

3.4.4 添加欢迎函数——sayHello() 90

3.4.5 打包并部署到JBoss服务器 90

3.4.6 查看JBoss中的JNDI服务名 92

3.4.7 编写Java类进行测试——HelloWorldClient.java 94

3.4.8 编写JSP进行测试——helloworld.jsp 96

3.4.9 打包EJBTest.zip、EJBTestJava.zip和EJBTestJSP.zip 100

3.5 本课小结 100

3.5.1 总结本课的知识点 100

3.5.2 要掌握的关键点 101

3.5.3 课后上机作业 102

3.5.4 继续下一课:会话Bean(Session Bean)——发布JNDI服务 103

第4课 会话Bean(Session Bean)——发布JNDI服务 105

4.1 无状态会话Bean(Stateless Session Bean) 106

4.1.1 无状态会话Bean的3种类型 106

4.1.2 远程无状态会话Bean——Remote 106

4.1.3 本地无状态会话Bean——Local 110

4.1.4 远程和本地无状态会话Bean——Remote+Local 114

4.2 有状态会话Bean(Stateful Session Bean) 119

4.2.1 有状态会话Bean与无状态会话Bean的区别 119

4.2.2 有状态会话Bean的3种类型 120

4.2.3 远程有状态会话Bean——购物车实例 120

4.3 会话Bean扩展开发 125

4.3.1 控制会话Bean的生命周期 125

4.3.2 使用EJB拦截器 130

4.3.3 使用EJB依赖注入 133

4.3.4 使用EJB定时器 136

4.4 本课小结 139

4.4.1 总结本课的知识点 139

4.4.2 要掌握的关键点 140

4.4.3 课后上机作业 140

4.4.4 打包SessionBeanTest.zip 141

4.4.5 继续下一课:消息驱动Bean(Message-Driven Bean) 142

第5课 消息驱动Bean(Message-Driven Bean)——接收JMS消息 143

5.1 JMS与消息驱动Bean的工作原理 143

5.1.1 JMS消息的调用过程 143

5.1.2 JMS消息的两种类型:队列(Queue)与主题(Topic) 144

5.2 处理点对点消息——队列Queue 144

5.2.1 开发消息驱动Bean类——MDBQueue.java 145

5.2.2 配置并发布消息驱动Bean到JBoss服务器 147

5.2.3 开发消息客户端——MDBQueueClient.java 149

5.2.4 查看运行结果 152

5.3 处理发布/订阅消息——主题Topic 152

5.3.1 开发消息驱动Bean类——MDBTopic.java 152

5.3.2 配置并发布消息驱动Bean到JBoss服务器 155

5.3.3 开发消息客户端——MDBTopicClient.java 157

5.3.4 查看运行结果 159

5.4 本课小结 159

5.4.1 总结本课的知识点 159

5.4.2 要掌握的关键点 160

5.4.3 课后上机作业 160

5.4.4 打包MDBTest.zip 160

5.4.5 继续下一课:实体Bean(Entity Bean)——Java持久化JPA 161

第6课 实体Bean(Entity Bean)——Java持久化JPA 163

6.1 第一个实体Bean实例——建立与数据库的连接 164

6.1.1 实体Bean的工作原理 164

6.1.2 配置数据源 165

6.1.3 指定数据源——persistence.xml 166

6.1.4 开发第一个实体Bean——Student.java 167

6.1.5 开发会话Bean进行调用——StudentDAORemote.java和StudentDAO.java 170

6.1.6 打包并部署到JBoss服务器 172

6.1.7 开发客户端进行测试——StudentDAOClient.java 173

6.2 实例管理器EntityManager——执行数据库更新 175

6.2.1 EntityManager对象的引用方式 176

6.2.2 持久化实体persist()——往数据表中插入数据 177

6.2.3 按主键查询实体find()——从数据表中查询记录 177

6.2.4 删除实体remove()——从数据表中删除记录 178

6.2.5 更新实体merge()——更新数据表记录 178

6.2.6 刷新实体refresh()——从数据表中更新 179

6.2.7 刷新实体到数据库flush() 179

6.2.8 设置Flush刷新模式setFlushMode() 180

6.2.9 检测实体是否被管理contains() 180

6.2.10 分离管理的实体clear() 181

6.3 控制实体Bean的生命周期 181

6.3.1 实体Bean生命周期的4种状态 182

6.3.2 实体Bean生命周期的回调事件 182

6.3.3 外部回调——编写外部监听器 183

6.3.4 内部回调——编写内部监听函数 185

6.4 本课小结 187

6.4.1 总结本课的知识点 187

6.4.2 要掌握的关键点 188

6.4.3 课后上机作业及参考样例 189

6.4.4 打包EntityBeanTest.zip 192

6.4.5 继续下一课:实体关系映射(ORM) 192

第7课 实体关系映射(ORM) 193

7.1 单表映射——家庭信息实例 193

7.1.1 联合主键——使用@IdClass指定外部主键 194

7.1.2 联合主键——使用@EmbeddedId嵌入外部主键 199

7.2 一对一映射——省与省会城市关联实例 203

7.2.1 开发省份实体类Province.java 203

7.2.2 开发省会实体类City.java 205

7.2.3 开发远程接口类OneToOneDAORemote.java 207

7.2.4 开发实现类OneToOneDAO.java 207

7.2.5 开发测试客户端OneToOneDAOClient.java 208

7.2.6 查看运行结果 210

7.3 一对多与多对一映射——论坛主题与回帖关联实体 210

7.3.1 开发主题类Topic.java 211

7.3.2 开发回帖类Reply.java 212

7.3.3 开发远程接口类OneToManyDAORemote.java 214

7.3.4 开发实现类OneToManyDAO.java 214

7.3.5 开发测试客户端OneToManyDAOClient.java 215

7.3.6 查看运行结果 216

7.4 多对多映射——老师与课程关联实例 217

7.4.1 开发老师类Teacher.java 217

7.4.2 开发课程类Course.java 219

7.4.3 开发远程接口类ManyToManyDAORemote.java 221

7.4.4 开发实现类ManyToManyDAO.java 221

7.4.5 开发测试客户端类ManyToManyDAOClient.java 222

7.4.6 查看运行结果 223

7.5 本课小结 224

7.5.1 总结本课的知识点 224

7.5.2 要掌握的关键点 224

7.5.3 课后上机作业 225

7.5.4 打包ORMTest.zip 225

7.5.5 继续下一课:实体查询(JPQL和SQL查询) 226

第8课 实体查询(JPQL和SQL查询) 227

8.1 Query查询对象API 227

8.1.1 创建查询对象——createQuery() 228

8.1.2 SELECT语法 228

8.1.3 UPDATE语法 228

8.1.4 DELETE语法 228

8.1.5 设置查询参数——setParameter() 229

8.1.6 设置查询范围——setFirstResult()与setMaxResults() 229

8.1.7 单值查询——getSingleResult() 229

8.1.8 多行查询——getResultList() 230

8.1.9 执行更新——executeUpdate() 230

8.2 JPQL查询语言 230

8.2.1 查询对象的部分属性 231

8.2.2 设置复杂类型参数 231

8.2.3 设置排序条件 232

8.2.4 进行分页查询 232

8.2.5 进行分组查询 232

8.2.6 进行关联查询 232

8.2.7 进行子查询 233

8.2.8 使用聚合函数 233

8.2.9 使用操作符 234

8.2.10 使用字符串函数&. 235

8.2.11 使用计算函数 235

8.3 SQL语句查询 235

8.3.1 创建原生SQL查询对象——createNativeQuery() 236

8.3.2 设置查询参数 236

8.3.3 设置查询范围 236

8.3.4 取得查询结果 237

8.3.5 执行更新SQL 237

8.4 本课小结 237

8.4.1 总结本课的知识点 237

8.4.2 要掌握的关键点 238

8.4.3 课后上机作业 239

8.4.4 课后上机作业参考——JPQL开发实例 239

8.4.5 课后上机作业参考——SQL开发实例 245

8.4.6 打包JPQLTest.zip 250

8.4.7 继续下一课:企业信息管理系统服务器端——开发EJB+MySQL服务器端组件 251

第9课 企业信息管理系统服务器端——开发EJB+MySQL服务器端组件 253

9.1 用户管理组件 254

9.1.1 开发实体Bean类User.java 255

9.1.2 开发远程接口类UserService.java 256

9.1.3 开发实现类UserServiceImpl.java 256

9.1.4 开发测试类UserServiceClient.java 258

9.2 通讯录管理组件 259

9.2.1 开发实体Bean类Address.java 259

9.2.2 开发远程接口类AddressService.java 261

9.2.3 开发实现类AddressServiceImpl.java 262

9.2.4 分页组件Pager.java 264

9.3 短消息管理组件 266

9.3.1 开发实体Bean类Sms.java 266

9.3.2 开发远程接口类SmsService.java 268

9.3.3 开发实现类SmsServieeImpl.java 269

9.4 日程安排组件 271

9.4.1 开发实体Bean类Schedule.java 271

9.4.2 开发远程接口类ScheduleService.java 273

9.4.3 开发实现类ScheduleServiceImpl.java 273

9.5 工作记录组件 275

9.5.1 开发实体Bean类Worklog.java 276

9.5.2 开发远程接口类WorklogService.java 278

9.5.3 开发实现类WorklogServiceImpl.java 278

9.6 公司公告组件 280

9.6.1 开发实体Bean类Notice.java 280

9.6.2 开发远程接口类NoticeService.java 282

9.6.3 开发实现类NoticeServiceImpl.java 283

9.7 工作会议组件 285

9.7.1 开发实体Bean类Meeting.java 285

9.7.2 开发远程接口类MeetingService.java 287

9.7.3 开发实现类MeetingServiceImpl.java 287

9.8 本课小结 289

9.8.1 打包emis01(EJB+MySQL).zip 289

9.8.2 继续下一课:企业信息管理系统客户端——开发Struts 2+Spring+EJB架构系统 290

第10课 企业信息管理系统客户端——开发Struts 2+Spring+EJB架构系统 291

10.1 搭建系统架构——Struts 2+Spring+Sitemesh+EJB 292

10.1.1 配置Struts 2环境 292

10.1.2 配置Spring环境 293

10.1.3 搭建Sitemesh页面框架 293

10.1.4 配置EJB客户端环境 296

10.2 开发基础功能——登录、注销与注册 297

10.2.1 添加全局映射 297

10.2.2 开发登录页面login.jsp 297

10.2.3 开发并配置登录处理器LoginAction.java 299

10.2.4 开发欢迎页面welcome.jsp 302

10.2.5 开发并配置注销处理器LogoutAction.java 303

10.2.6 开发注册页面register.jsp 304

10.2.7 开发并配置注册处理器RegisterAction.java 306

10.2.8 开发Action基类BaseAction.java 309

10.3 通讯录管理模块 311

10.3.1 配置struts.xml映射 311

10.3.2 开发列表页面address.jsp 312

10.3.3 开发新增页面address add.jsp 314

10.3.4 开发修改页面address edit.jsp 316

10.3.5 新建分页类PageAction.java 317

10.3.6 开发处理类AddressAction.java 318

10.4 日程安排模块 325

10.4.1 配置struts.xml映射 325

10.4.2 开发列表页面schedule.jsp 326

10.4.3 开发新增页面schedule_add.jsp 328

10.4.4 开发修改页面schedule_edit.jsp 329

10.4.5 开发处理类ScheduleAction.java 331

10.5 工作日志模块 337

10.5.1 配置struts.xml映射 337

10.5.2 开发列表页面worklog.jsp 338

10.5.3 开发新增页面worklog_add.jsp 340

10.5.4 开发修改页面worklog_edit.jsp 342

10.5.5 开发处理类WorklogAction.java 343

10.6 短消息管理模块 349

10.6.1 配置struts.xml映射 350

10.6.2 开发列表页面sms.jsp 350

10.6.3 开发新增页面sms_add.jsp 352

10.6.4 开发处理类SmsAction.java 354

10.7 公司公告模块 358

10.7.1 配置struts.xml映射 359

10.7.2 开发列表页面notice.jsp 359

10.7.3 开发新增页面notice_add.jsp 361

10.7.4 开发修改页面notice_edit.jsp 363

10.7.5 开发处理类NoticeAction.java 364

10.8 工作会议模块 369

10.8.1 配置struts.xml映射 370

10.8.2 开发列表页面meeting.jsp 370

10.8.3 开发新增页面meeting_add.jsp 372

10.8.4 开发修改页面meeting_edit.jsp 374

10.8.5 开发处理类MeetingAction.java 376

10.9 添加权限检查拦截器 381

10.9.1 开发权限检查拦截器类AuthorizationInterceptor.java 382

10.9.2 配置权限检查拦截器 382

10.10 本课小结 383

10.10.1 打包emis02(Struts2+Spring+EJB).zip 383

10.10.2 继续下一部分:Java Web分布式技术 385

第3部分 Java Web分布式技术第11课 Java事务管理(JTA) 389

11.1 Java事务管理机制 389

11.1.1 JDBC事务管理机制 389

11.1.2 JTA事务管理机制 391

11.1.3 JTS事务服务 392

11.2 EJB事务管理机制 392

11.2.1 手工管理的事务——使用EntityTransaction对象 393

11.2.2 容器管理的事务——使用@TransactionAttribute注释符 393

11.3 企业信息管理系统——增加事务管理功能 396

11.3.1 开发异常处理类MyTransactionException.java 396

11.3.2 为Service接口添加抛出异常代码 397

11.3.3 为Service实现类添加事务和异常处理代码 398

11.3.4 打包emis03(EJB+MySQL+JTA).zip 401

11.4 本课小结 402

11.4.1 总结本课的知识点 402

11.4.2 要掌握的关键点 403

11.4.3 继续下一课:Java验证和授权服务(JAAS) 403

第12课 Java验证和授权服务(JAAS) 405

12.1 基于属性文件的JAAS安全验证 405

12.1.1 配置安全域——login-config.xml 406

12.1.2 配置用户和角色属性文件——users.properties并roles.properties 407

12.1.3 开发会话Bean组件——JAASBeanRemote.java知JAASBean.java 407

12.1.4 指定安全域——jboss.xml或@SecurityDomain注释 409

12.1.5 指定安全角色——@RolesAllowed和@PermitAll注释 410

12.1.6 开发测试客户端——JAASBeanClient.java 411

12.1.7 运行查看结果 412

12.2 基于数据库的JAAS安全验证 413

12.2.1 配置安全域——login-config.xml 413

12.2.2 配置数据源——mysql-ds.xml 414

12.2.3 创建数据库 414

12.2.4 引用安全域——jboss.xml 415

12.2.5 运行查看结果 416

12.2.6 打包JAASTest.zip 416

12.3 企业信息管理系统——增加JAAS验证功能 416

12.3.1 为服务器端增加JAAS验证功能——修改emis项目 417

12.3.2 为客户端增加JAAS登录代码——修改sse2项目 417

12.3.3 打包服务器端emis04(EJB+MySQL+JTA+JAAS).zip和客户端emis04(Struts2+Spring+EJB+JAAS).zip 419

12.4 本课小结 419

12.4.1 总结本课的知识点 419

12.4.2 要掌握的关键点 420

12.4.3 继续下一课:Java命名和目录服务(JNDI) 420

第13课 Java命名和目录服务(JNDI) 421

13.1 JNDI概述 421

13.1.1 JNDI基本原理 421

13.1.2 JNDI接口与服务实现 422

13.1.3 JNDI的查找 423

13.2 在EJB中自定义JNDI名称 423

13.2.1 默认命名方式的不足 424

13.2.2 自定义命名的方法 424

13.3 自定义JNDI实现流程 425

13.3.1 新建远程接口类JNDIBeanRemote.java并重命名JNDI 425

13.3.2 新建实现类JNDIBean.java 425

13.3.3 开发测试客户端JNDIBeanClient.java 426

13.3.4 运行查看结果 426

13.3.5 打包JNDITest.zip 427

13.4 本课小结 428

13.4.1 总结本课的知识点 428

13.4.2 要掌握的关键点 428

13.4.3 继续下一课:Java消息服务(JMS) 429

第14课 Java消息服务(JMS) 431

14.1 JMS异步通信原理 431

14.1.1 JMS消息模型 431

14.1.2 JMS接口类型 432

14.1.3 JMS消息格式 433

14.2 JMS消息中间件 434

14.2.1 JMS消息中间件产生的背景 434

14.2.2 常用的JMS消息中间件 434

14.2.3 JMS在EJB中的应用 435

14.2.4 JMS在Spring中的应用 435

14.3 本课小结 436

14.3.1 总结本课的知识点 437

14.3.2 要掌握的关键点 437

14.3.3 继续下一课:Java邮件服务(JavaMail) 437

第15课 Java邮件服务(JavaMail) 439

15.1 JavaMail基本原理 439

15.1.1 JavaMail常用协议 439

15.1.2 JavaMail的组成 440

15.1.3 JavaMail核心API 441

15.2 JavaMaill收发邮件 442

15.2.1 发送邮件 442

15.2.2 接收邮件 443

15.2.3 回复邮件 444

15.2.4 转发邮件 444

15.3 使用JBoss的邮件服务发送邮件 445

15.3.1 配置邮件服务mail-service.xml 445

15.3.2 开发测试页面testmail.jsp 446

15.3.3 运行测试结果 448

15.3.4 打包JavaMailTest.zip 449

15.4 本课小结 449

15.4.1 总结本课的知识点 449

15.4.2 要掌握的关键点 450

15.4.3 继续下一课:Web服务(Web Service) 450

第16课 Web服务(Web Service) 451

16.1 Web服务概述 451

16.1.1 Web服务引入 451

16.1.2 Web服务框架Axis 452

16.1.3 Web服务框架XFire 452

16.1.4 Web服务框架CXF 453

16.2 Web服务在JBoss中的应用 453

16.2.1 开发Web服务类——MyFirstService.java 454

16.2.2 配置Web服务Servlet——web.xml 455

16.2.3 发布Web服务到JBoss 455

16.2.4 查看Web服务 456

16.2.5 调用Web服务 458

16.2.6 打包WebServiceTest.zip 459

16.3 本课小结 460

16.3.1 总结本课的知识点 460

16.3.2 要掌握的关键点 461

16.3.3 继续下一课:Java管理体系(JMX) 461

第17课 Java管理体系(JMX) 463

17.1 JMX概述 463

17.1.1 JMX是什么 463

17.1.2 JMX体系结构 464

17.1.3 JMX体系规范 465

17.1.4 JMX常用框架 466

17.2 JMX应用 467

17.2.1 JMX入门实例HelloJMX 467

17.2.2 Tomcat下的JMX管理器 468

17.2.3 JBoss下的JMX管理器 469

17.2.4 Spring下的JMX应用 470

17.3 本课小结 471

17.3.1 总结本课的知识点 471

17.3.2 要掌握的关键点 472

17.3.3 继续下一课:Java连接器架构(JCA) 472

第18课 Java连接器架构(JCA) 473

18.1 JCA连接器概述 473

18.1.1 JCA产生的背景 473

18.1.2 JCA提供的功能 474

18.1.3 JCA接口规范 474

18.1.4 JCA服务支持 475

18.1.5 JCA的优缺点 476

18.2 JCA连接器应用 476

18.2.1 JBoss提供的JCA支持 476

18.2.2 Spring与JCA的集成 477

18.3 本课小结 478

18.3.1 总结本课的知识点 478

18.3.2 要掌握的关键点 478

18.3.3 继续下一部分:Java Web开源技术与框架 478

第4部分 Java Web开源技术与框架第19课 工作流引擎——jBPM开源工作流的使用 483

19.1 工作流概述 483

19.1.1 工作流的基本概念 483

19.1.2 工作流管理系统的组成 484

19.1.3 工作流的应用场景 485

19.1.4 工作流引擎 486

19.1.5 工作流规范 486

19.2 开源工作流引擎 487

19.2.1 JBoss公司的jBPM 488

19.2.2 Opensymphony组织的OSWorkflow 488

19.2.3 Enhydra公司的Shark 489

19.2.4 Apache组织的OFBiz 489

19.2.5 对比分析 489

19.3 开源工作流引擎jBPM的使用 490

19.3.1 下载并安装jBPM 490

19.3.2 为Eclipse安装GPD插件 495

19.3.3 为Eclipse配置jBPM库 497

19.3.4 往Eclipse中导入jBPM样例库 498

19.3.5 jBPM流程引擎开发API 500

19.3.6 jBPM流程文件设计 503

19.3.7 运行实例 514

19.4 本课小结 516

19.4.1 总结本课的知识点 516

19.4.2 要掌握的关键点 517

19.4.3 继续下一课:规则引擎——Drools开源规则引擎的使用 517

第20课 规则引擎——Drools开源规则引擎的使用 519

20.1 规则引擎概述 519

20.1.1 规则引擎产生的背景 519

20.1.2 规则引擎的工作机制 520

20.1.3 Java规则引擎的工作机制 521

20.1.4 Java规则引擎API 522

20.1.5 常用的Java规则引擎 523

20.2 使用Drools规则引擎 525

20.2.1 下载并安装Drools 525

20.2.2 下载并安装Drools插件 525

20.2.3 新建Drools规则引擎项目 527

20.2.4 新建Drools工作流项目 531

20.2.5 Drools规则文件语法 533

20.2.6 Drools规则引擎API 539

20.3 本课小结 541

20.3.1 总结本课的知识点 541

20.3.2 要掌握的关键点 542

20.3.3 继续下一课:搜索引擎——Lucene开源搜索引擎的使用 543

第21课 搜索引擎——Lucene开源搜索引擎的使用 545

21.1 搜索引擎概述 545

21.1.1 搜索引擎的发展历史 545

21.1.2 搜索引擎的分类 546

21.1.3 经典的搜索应用 546

21.1.4 基于搜索的网站排名 547

21.1.5 基于Java的开源搜索引擎 548

21.2 Lucene开源搜索引擎 549

21.2.1 Lucene的工作原理与搜索API 550

21.2.2 创建文档对象Document 551

21.2.3 使用IndexWriter保存文档索引 552

21.2.4 使用IndexSearcher进行搜索 553

21.2.5 使用IndexReader删除索引 553

21.2.6 中文分词器 554

21.3 本课小结 555

21.3.1 总结本课的知识点 555

21.3.2 要掌握的关键点 556

21.3.3 继续下一课:缓存引擎——OSChache和Ehcache缓存引擎的使用 557

第22课 缓存引擎——OSChache和Ehcache缓存引擎的使用 559

22.1 数据缓存概述 559

22.1.1 数据缓存的基本概念 559

22.1.2 数据缓存策略 560

22.1.3 数据缓存介质 561

22.1.4 常用的Java开源缓存框架 562

22.2 使用OSCache进行页面缓存 563

22.2.1 安装并配置OSCache 563

22.2.2 使用JSP标签缓存部分页面 564

22.2.3 使用过滤器缓存整个页面 566

22.2.4 使用OSCache API缓存Java对象 567

22.2.5 在iBATIS中使用OSCache 568

22.2.6 在Hibernate中使用OSCache 568

22.3 使用Ehcache进行数据库缓存 569

22.3.1 安装并配置Ehcache 569

22.3.2 在Hibernate中使用Ehcache 570

22.3.3 使用过滤器缓存Web页面 570

22.3.4 使用Ehcache API缓存Java对象 573

22.4 本课小结 573

22.4.1 总结本课的知识点 573

22.4.2 要掌握的关键点 574

22.4.3 继续下一课:任务调度——Quartz任务调度框架的使用 575

第23课 任务调度——Quartz任务调度框架的使用 577

23.1 Java任务调度概述 577

23.1.1 使用Java定时器 577

23.1.2 基于Java的开源任务调度框架 579

23.2 任务调度框架Quartz的使用 580

23.2.1 Quartz的安装与配置 580

23.2.2 在Java程序中使用Quartz 583

23.2.3 在Web应用中使用Quartz 584

23.2.4 在Spring中使用Quartz 585

23.2.5 Cron表达式 587

23.3 本课小结 588

23.3.1 总结本课的知识点 588

23.3.2 要掌握的关键点 589

23.3.3 继续下一节课:身份认证——Acegi身份认证框架的使用 589

第24课 身份认证——Acegi身份认证框架的使用 591

24.1 身份认证概述 591

24.1.1 身份认证的基本方式 591

24.1.2 基于角色的访问控制模型RBAC 592

24.1.3 传统的Session身份认证方式 593

24.1.4 使用AOP进行身份认证 594

24.1.5 基于Java的开源身份认证框架 596

24.2 身份认证框架Acegi的使用 597

24.2.1 Acegi的使用方式 597

24.2.2 Acegi的安装与配置 598

24.2.3 在web.xml中配置Acegi过滤器 599

24.2.4 在applicationContext-acegi-security.xml中配置Acegi过滤器和拦截器 600

24.2.5 在users.properties中配置用户和角色 604

24.2.6 开发主页面index.jsp 605

24.2.7 开发登录页面acegiLogin.jsp 606

24.2.8 开发安全页面secure/index.jsp 607

24.2.9 开发超级管理员安全页面secure/extreme/index.jsp 608

24.2.10 开发无权访问失败页面acegiDenied.jsp 608

24.3 本课小结 609

24.3.1 总结本课的知识点 609

24.3.2 要掌握的关键点 610

24.3.3 继续下一课:报表服务——Eclipse BIRT、JFreeChart和Cewolf的使用 611

第25课 报表服务——Eclipse BIRT、JFreeChart和Cewolf的使用 613

25.1 基于Java的开源报表框架 613

25.2 常用报表框架的使用 614

25.2.1 基于Eclipse的报表工具BIRT 614

25.2.2 使用JFreeChart输出图表 617

25.2.3 基于JFreeChart的标签框架Cewolf 619

25.3 本课小结 620

25.3.1 总结本课的知识点 620

25.3.2 要掌握的关键点 620

25.3.3 继续下一课:系统测试——代码质量检查、单元测试、性能测试、自动构建、项目管理 621

第26课 系统测试——代码质量检查、单元测试、性能测试、自动构建、项目管理 623

26.1 代码质量检查 623

26.1.1 使用Checkstyle检查代码格式 624

26.1.2 使用PMD检查代码Bug 627

26.1.3 使用FindBugs检查代码潜在Bug 630

26.2 单元测试 632

26.2.1 使用JUnit进行单元测试 633

26.2.2 使用EasyMock辅助单元测试 637

26.3 性能测试 639

26.3.1 使用JMeter进行压力测试 639

26.3.2 使用Profiler检查内存泄漏 642

26.4 自动构建 643

26.4.1 使用Ant进行自动构建 644

26.4.2 使用Maven进行自动构建 648

26.4.3 使用CruiseControl进行持续集成 650

26.5 项目管理 651

26.5.1 使用JIRA进行Bug跟踪 651

26.5.2 使用Confluence构建Wiki知识网站 652

26.6 本课小结 653

26.6.1 总结本课的知识点 653

26.6.2 要掌握的关键点 654

26.6.3 继续下一课:系统集群——集群、负载均衡和故障转移 654

第27课 系统集群——集群、负载均衡和故障转移 655

27.1 基于Tomcat的集群系统 655

27.1.1 集群的基本概念 656

27.1.2 Tomcat集群原理 656

27.1.3 Tomcat集群配置 659

27.1.4 使用JMX监控集群 666

27.2 基于Tomcat的负载均衡 667

27.2.1 AJP 1.3数据包协议 667

27.2.2 mod_jk插件 673

27.2.3 Apache 2.2负载均衡配置 676

27.3 本课小结 678

27.3.1 总结本课的知识点 678

27.3.2 要掌握的关键点 679

27.3.3 继续下一课:Java Web系统设计与架构 679