本书体现最新技术,突出主流技术,注重基础性内容,注意全面性,既突出Java EE轻型框架Struts、Hibernate、Spring的重点,又有企业JavaBean(EJB 3.0)分布式可复用组件重型框架的内容;既有Java EE 的Web服务,也有面向服务结构(SOA)新技术。还叙述了JMS、Ajax异步技术;本书将JSP、Servlet、JSTL、JSF作为Web层编程叙述,并把Java EE持久性数据管理内容单独作为一章。
本书注重理论与实践相结合,突出实践动手能力和实用性。有实例、实验指导书,便于读者参考、使用,力图使学生学习本书后便基本可以编制基于Java EE的Web应用系统。
本书详细介绍了Java EE基础;Java EE的可视化集成开发平台(Eclipse及运行环境)、Java Applet及JDBC、Web层编程技术、Java EE轻型框架技术、EJB技术、Java EE持久性数据管理、Web服务与SOA技术、Java消息服务等异步技术和Java EE综合使用实例。本书既突出轻型框架Hibernate、Struts 2、Spring,又有企业JavaBean(EJB 3.0)分布式重型框架;既有Web服务,也有面向服务结构(SOA)新技术,其内容主要集中在企业级Java项目所需的重要的API和工具上,使本书成为一本较完整的Java EE Web编程技术教程。本书共10章及3个附录,有实例、习题、教学大纲和实验指导书等。
本书可作为本科院校、高职院校计算机及相关专业课程教材,也适合Web编程开发人员使用、参考。
第1章 Java EE基础 1
1.1 Web应用基本概念 1
1.1.1 Web应用定义 1
1.1.2 Web应用体系结构 2
1.1.3 基于层的设计 6
1.2 Java EE规范 9
1.2.1 什么是Java EE 9
1.2.2 Java EE的体系结构 9
1.2.3 Java EE应用程序构成及应用 10
1.2.4 几个典型Java EE体系结构 14
1.3 Java EE Web应用的编译和部署 16
1.3.1 Java EE的部署问题 16
1.3.2 创建一个JSP应用程序的实例 19
1.4 Java EE的发展与特点 21
1.4.1 Java EE的由来与发展 21
1.4.2 Java EE的新功能 22
1.4.3 Java EE开发环境IDE 25
习题1 26
第2章 Java EE的可视化集成开发平台——Eclipse及运行环境27
2.1 Eclipse概述 27
2.1.1 Eclipse的主要特点 27
2.1.2 Eclipse的组成 28
2.2 Eclipse的安装及开发环境的搭建 30
2.2.1 下载和安装JDK 30
2.2.2 下载并解压缩Eclipse SDK 31
2.2.3 安装Eclipse插件 35
2.3 Eclipse插件的开发及分类 36
2.3.1 基于插件的体系结构 36
2.3.2 开发HelloWorldPlugin插件 37
2.3.3 Eclipse插件的分类 40
2.4 Web服务器和应用服务器 41
2.4.1 Web服务器和应用服务器简介 41
2.4.2 Tomcat Web服务器 43
2.4.3 Eclipse与Tomcat集成 52
2.4.4 JBoss应用服务器 53
2.4.5 Eclipse与JBoss集成——JBossIDE 57
习题2 59
第3章 Java Applet及JDBC 61
3.1 Java Applet基础 61
3.1.1 在HTML中调用Applet 61
3.1.2 编写一个Applet 62
3.1.3 改变标签的字体 64
3.1.4 向Applet 添加文本框和按钮组件 65
3.1.5 Applet的事件驱动编程 66
3.1.6 添加输出到一个Applet 69
3.2 Applet的生命周期和更复杂的Applet 70
3.2.1 Applet的生命周期 70
3.2.2 一个全交互的Applet 73
3.2.3 使用setLocation()方法 76
3.2.4 使用setEnable()方法 77
3.2.5 得到帮助 77
3.3 JDBC及其应用 78
3.3.1 JDBC编程技术 78
3.3.2 使用JDBC访问数据库 80
3.3.3 应用实例 85
习题3 89
第4章 Web层编程技术 93
4.1 JSP技术 93
4.1.1 JSP简介 93
4.1.2 JSP的语法 95
4.1.3 JSP的内建对象 98
4.1.4 JSP的表单及Cookie应用 101
4.1.5 JSP与JavaBean 104
4.2 Java Servlet技术 108
4.2.1 Servlet概述 108
4.2.2 开发Servlet应用 116
4.2.3 Servlet与JSP、JavaBean协同工作 117
4.3 用JSP访问数据库 119
4.3.1 用JSP访问SQL Server数据库 119
4.3.2 JSP用JavaBean操纵数据库 120
4.4 JSTL标准标签库技术 121
4.4.1 JSTL及其操作实现 121
4.4.2 在JSP中使用JSTL 125
4.5 JSF技术 129
4.5.1 JSF及其安装 129
4.5.2 JSP页面中使用JSF 131
习题4 138
第5章 Java EE轻型框架技术 139
5.1 Java EE轻型框架技术概述 139
5.1.1 轻型框架的流行 139
5.1.2 流行的轻型框架组合 140
5.1.3 轻型框架的MyEclipse环境 140
5.2 Struts2框架 141
5.2.1 Struts框架及其MVC结构 141
5.2.2 Struts2 与WebWork在代码重用性上的优势 142
5.2.3 Struts2的引例、Filter及配置 147
5.2.4 Struts2的Action 156
5.2.5 Struts2的OGNL表达式 160
5.2.6 Struts2的标签库 162
5.3 Hibernate框架 164
5.3.1 Hibernate概述 165
5.3.2 Hibernate的运行及其映射、基本配置和接口 166
5.3.3 DAO模式、Hibernate Synchronizer插件及开发 175
5.3.4 Criteria Query、HQL数据查询语言及Query接口 184
5.3.5 Hibernate的数据关联 191
5.3.6 Hibernate实体对象生命周期、缓存管理、事务 198
5.3.7 在Web环境下使用Hibernate 203
5.4 Spring框架 208
5.4.1 Spring基础及其开发环境 208
5.4.2 Spring的IoC、容器及基本配置 212
5.4.3 Spring的AOP 219
5.4.4 Spring整合Hibernate 229
5.5 开发Struts2、Hibernate、Spring集成程序 237
习题5 245
第6章 EJB技术 246
6.1 企业级JavaBean(EJB):Java EE解决方案及其特点 246
6.2 EJB的工作原理、环境及运行 247
6.2.1 EJB的工作原理及类型 247
6.2.2 EJB 3.0的特点及运行实例 249
6.2.3 独立的Tomcat调用EJB 254
6.2.4 EJB的类和接口 254
6.3 会话Bean 255
6.3.1 无状态会话Bean 256
6.3.2 有状态会话Bean 256
6.4 消息驱动Bean 258
6.5 实体Bean 260
6.5.1 实体Bean配置文件及JBoss的数据源 261
6.5.2 单表实体Bean及持久化实体管理器 262
习题6 269
第7章 Java EE持久性数据管理 270
7.1 Java持久性API简介 270
7.1.1 实体 270
7.1.2 管理实体 277
7.2 Web层持久性 281
7.2.1 定义持久性单元 282
7.2.2 创建一个实体类 282
7.2.3 获取对一个实体管理器的访问 283
7.2.4 访问数据库中的数据 285
7.2.5 更新数据库中的数据 285
7.3 EJB层的持久性(多表实体Bean) 287
习题7 291
第8章 Web服务与SOA技术 292
8.1 Web服务到底是什么 292
8.2 Web服务技术 294
8.2.1 概述 294
8.2.2 XML:自描述数据(DTD和模式语言、解析XML) 296
8.3 用JAX-WS开发Web服务 302
8.3.1 简介JAX-WS 302
8.3.2 下载CVS工具 303
8.3.3 创建Web服务 304
8.3.4 构建、测试和运行Web服务 309
8.4 面向服务结构 310
8.4.1 SOA简介 310
8.4.2 SOA的基础架构 313
8.4.3 SOA的实现 315
8.4.4 SOA的未来 320
习题8 321
第9章 Java消息服务等异步技术 322
9.1 Ajax技术 322
9.1.1 Asynchronous JavaScript+XML 322
9.1.2 XMLHttpRequest 323
9.1.3 基于Ajax的用户注册实例 325
9.1.4 Ajax集成技术:DWR 325
9.2 Java消息服务概念 326
9.2.1 什么是Java消息服务 326
9.2.2 提供者、客户、消息与管理对象 328
9.3 JMS编程模型 330
9.3.1 两种JMS编程模型 330
9.3.2 特定于模型的管理对象接口 331
9.3.3 消息使用的异步性 331
9.4 JMS可靠性与性能 332
9.4.1 客户确认 332
9.4.2 消息持久保存 332
9.4.3 时间依赖性和JMS发布模型 333
9.5 一个JMS pub/sub应用实例 333
9.5.1 开发消息发布者 334
9.5.2 开发消息预约者 335
9.5.3 关于部署 338
习题9 338
第10章 Java EE综合应用实例——公文管理信息系统 339
10.1 公文管理信息系统概述 339
10.2 设计数据库 340
10.3 系统公共配置 341
10.3.1 导入相关类库 341
10.3.2 配置web.xml 341
10.3.3 数据源配置 342
10.3.4 配置persistence.xml文件 342
10.4 公文管理信息系统业务逻辑和数据处理层的实现 343
10.4.1 admin表实体和对应会话Bean 343
10.4.2 category表的实体和会话Bean 344
10.4.3 ofile表的实体和会话Bean 346
10.5 公文管理信息系统表现层的实现 348
10.5.1 登录页面 349
10.5.2 后台首页 351
10.5.3 添加公文 357
10.5.4 查看公文 360
10.5.5 修改公文 362
10.5.6 删除公文 365
习题10 365
附录A Java EE Web编程技术教学大纲 366
附录B 实验指导书 368
附录C 使用日志记录 371
参考文献 374