新書推薦:
《
大模型启示录
》
售價:HK$
115.0
《
东法西渐:19世纪前西方对中国法的记述与评价
》
售價:HK$
207.0
《
养育男孩:官方升级版
》
售價:HK$
51.8
《
小原流花道技法教程
》
售價:HK$
112.7
《
少女映像室 唯美人像摄影从入门到实战
》
售價:HK$
113.9
《
詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究)
》
售價:HK$
89.7
《
武当内家散手
》
售價:HK$
51.8
《
诛吕:“诸吕之乱”的真相与吕太后时期的权力结构
》
售價:HK$
102.4
內容簡介:
本书是一本讲授Java EE企业级应用技术的基本概念、基本框架和程序设计基本方法的教材。全书共8章,第1章介绍Java EE企业级应用的基本知识和基本概念、企业级应用与中间件技术、Java EE体系架构的基本模式;第2章详细讲解Java Server Faces框架的主要概念、主要组件和主要技术构成;第3章讲解上下文、资源注入和依赖注入的概念;第4章讲解Java EE体系中的核心内容之一企业Bean的基本概念,包括有状态会话Bean、无状态会话Bean、单身会话Bean、消息服务与消息驱动Bean等几种企业Bean类型;第5章专门介绍Java持久性与事务的相关概念和知识;第6章介绍Web服务及相关的基本概念,包括用JAX-WS技术构建Web服务和用JAX-RS技术构建RESTful Web服务;第7章简要讨论安全性的基本概念;第8章简单介绍Java消息服务和Java EE拦截器技术。本书以Java EE 5、Java EE 6、Java EE 7技术规范为蓝本,重点介绍BS体系结构模式下多层应用体系结构的*开发技术JSF EJB JPA技术组合的使用和开发。本书适合作为普通高等院校计算机科学与技术、软件工程及相关专业课程的教材,也可供其他专业的本科生、研究生及各级计算机专业技术人员参考使用。
關於作者:
姜志强,男,吉林大学计算机科学与技术学院副教授。主持的《软件工程教学系统》课程获得吉林省教育厅,教学研究成果二等奖;《管理信息系统》课程获得吉林省教育厅,教育技术成果优秀奖;《Java语言程序设计》课程获得吉林大学教学成果三等奖。
目錄 :
目录
第1章 Java EE企业级应用概述1
1.1 企业级应用与中间件1
1.1.1 什么是企业级应用1
1.1.2 当今的计算机应用环境1
1.1.3 Internet时代计算机应用的主要矛盾2
1.1.4 中间件的概念2
1.1.5 中间件的发展3
1.2 Web应用的发展4
1.2.1 静态网页技术4
1.2.2 动态网页技术5
1.2.3 CS体系结构模式与BS体系结构模式6
1.2.4 多层应用体系结构7
1.3 Java EE概述8
1.3.1 Java EE模式的发展8
1.3.2 Java EE应用模式9
1.3.3 Java EE组件与容器10
1.3.4 Java EE体系架构的优越性11
1.3.5 Java EE API12
1.4 主要Java EE产品介绍13
1.4.1 WebSphere13
1.4.2 WebLogic13
1.4.3 GlassFish13
1.4.4 Tomcat14
1.4.5 JBoss14
1.5 用GlassFish服务器构建企业级应用环境14
1.5.1 下载正版安装软件14
1.5.2 安装Java软件和GlassFish服务器15
1.5.3 使用Java软件和GlassFish服务器19
第2章 Web应用框架JSF21
2.1 Web应用概述21
2.1.1 Web应用的基本概念21
2.1.2 Web应用的工作过程21
2.1.3 Web应用的基本开发步骤22
2.2 JavaServer Faces框架技术22
2.2.1 JavaServer Faces框架的概念22
2.2.2 生成一个简单的JavaServer Faces框架的Web应用23
2.2.3 JavaServer Faces框架的体系结构27
2.2.4 JavaServer Faces框架的Web应用的生命周期28
2.3 XHTML规范29
2.3.1 认识XHTML规范29
2.3.2 XHTML语法规范与HTML语法规范的简单比较29
2.3.3 XHTML的页面结构30
2.3.4 现行XHTML规范31
2.4 表达式语言32
2.4.1 什么是表达式语言32
2.4.2 即刻求值表达式和延缓求值表达式32
2.4.3 值表达式和方法表达式33
2.4.4 表达式语言语法35
2.5 UI标签组件技术36
2.5.1 JavaServer Faces标签库及组件API36
2.5.2 创建JSF页面和使用UI组件36
2.5.3 生成用户UI组件41
2.6 Backing Bean44
2.6.1 什么是Backing Bean44
2.6.2 Backing Bean中的属性44
2.6.3 Backing Bean中的方法45
2.7 导航45
2.7.1 什么是导航45
2.7.2 部署描述符文件和应用配置资源文件45
2.7.3 静态导航47
2.7.4 动态导航47
2.8 JavaServer Faces事件处理机制48
2.8.1 JavaServer Faces的事件与事件处理48
2.8.2 事件与监听器API48
2.8.3 实现监听器的两种方式48
2.8.4 在组件上注册监听器49
2.9 转换器50
2.9.1 转换器的概念50
2.9.2 标准转换器50
2.9.3 注册、使用转换器51
2.9.4 自定义转换器53
2.10 验证器54
2.10.1 验证器的概念54
2.10.2 标准验证器54
2.10.3 注册、使用验证器55
2.10.4 自定义验证器56
2.10.5 一个使用了监听器、转换器和验证器的完整例子56
2.11 Facelets与复合组件62
2.11.1 什么是Facelets62
2.11.2 开发一个简单的Facelets应用62
2.11.3 模板62
2.11.4 复合组件63
2.11.5 应用程序的目录结构与资源64
2.12 Servlet64
2.12.1 Servlet的基本概念64
2.12.2 编写Servlet程序66
2.12.3 使用Servlet67
第3章 上下文和注入70
3.1 上下文和注入的概念70
3.1.1 什么是上下文和注入70
3.1.2 托管Bean72
3.2 依赖注入73
3.2.1 创建一个支持依赖注入的项目73
3.2.2 用依赖注入的方式注入Bean74
3.2.3 用生产者方法注入对象78
3.2.4 配置一个CDI应用79
3.3 资源连接和资源注入79
3.3.1 资源与JNDI命名79
3.3.2 资源注入80
第4章 企业Bean81
4.1 企业Bean概述81
4.1.1 什么是企业Bean81
4.1.2 企业Bean的发展81
4.1.3 企业Bean的类型82
4.1.4 开发企业Bean的基本要求82
4.2 会话Bean85
4.2.1 什么是会话Bean85
4.2.2 访问会话Bean的几种方式85
4.2.3 有状态会话Bean87
4.2.4 无状态会话Bean93
4.2.5 单身会话Bean96
4.3 消息驱动Bean99
4.3.1 什么是消息驱动Bean99
4.3.2 消息驱动Bean与Java消息服务103
4.4 企业Bean高级技术103
4.4.1 使用嵌入式企业Bean容器103
4.4.2 在会话Bean中使用异步方法调用103
第5章 持久性与事务105
5.1 在Java EE环境中使用数据库105
5.1.1 对象关系映射的概念105
5.1.2 在Java EE中使用数据库106
5.2 持久性与Java持久性API106
5.2.1 实体和实体类106
5.2.2 实体之间的关联关系112
5.2.3 实体的继承层次114
5.2.4 实体的管理和操作114
5.2.5 查询实体117
5.3 Java持久性查询语言117
5.3.1 查询语言术语117
5.3.2 用Java持久性查询语言生成查询117
5.3.3 Java持久性查询语言的基本语句119
5.4 标准API120
5.4.1 标准API与中间模型API120
5.4.2 使用中间模型API翻模实体类121
5.4.3 使用标准API与中间模型API查询122
5.5 事务125
5.5.1 事务的概念125
5.5.2 Java事务API126
5.5.3 一个使用持久性和Java事务API的实例127
第6章 Web服务135
6.1 Web服务的概念135
6.1.1 什么是Web服务135
6.1.2 JAX-WS Web服务与JAX-RS Web服务135
6.1.3 确定使用哪种类型的Web服务136
6.2 SOAP与WSDL简介136
6.2.1 SOAP简介136
6.2.2 WSDL简介141
6.3 用JAX-WS构建Web服务142
6.3.1 JAX-WS简述142
6.3.2 用JAX-WS生成一个简单的Web服务142
6.3.3 一个简单的JAX-WS Application客户端144
6.3.4 一个简单的JAX-WS Web客户端144
6.4 用JAX-RS构建RESTful Web服务146
6.4.1 什么是RESTful Web服务146
6.4.2 用JAX-RS开发RESTful Web服务147
第7章 安全性149
7.1 安全性概述149
7.1.1 Java EE安全性概述149
7.1.2 安全机制150
7.1.3 安全容器151
7.1.4 领地、用户、组群和角色151
7.2 Web应用安全的例子152
7.2.1 一个声明性安全的例子152
7.2.2 一个编程性安全的例子154
7.3 企业应用安全的例子156
7.3.1 一个声明性安全的例子156
7.3.2 一个编程性安全的例子158
第8章 Java EE支持技术160
8.1 消息服务160
8.1.1 消息服务的概念160
8.1.2 JMS API161
8.1.3 JMS消息发送和接收实例164
8.2 Java EE拦截器171
8.2.1 拦截器的概念171
8.2.2 使用拦截器172
附录A Java持久性查询语言语法的Backus-Naur Form表述176
参考文献182
內容試閱 :
前 言
Java语言自从1995年发布,至今已经有20多年的发展历程,早已成为重要的软件开发工具,成为信息行业占有率很高的开发设计平台。Java平台分为标准版(Java SE)、企业版(Java EE)和微型版(Java ME)。实际上,Java语言和Java技术如此高的市场占有率,绝大部分缘于其企业版的市场占有率。可以说,真正占有信息行业市场的,是其企业开发设计平台。
Java企业级开发技术自1999年Java 1.2版发布至今,已经成为一种专门为互联网设计的与平台无关的网络分布式开发设计技术,广泛应用于各种信息平台的开发设计,既是一种开发工具,也是一种企业级技术标准。在电信、移动技术、银行、证券、电子商务等领域,都是主流的开发设计技术,在开发设计中占优势和主导地位。目前大部分的大型信息化平台都选择Java企业级技术来构建。Java EE技术的发展经历了两个明显的历史发展阶段。第一阶段是1999年的J2EE 1.2版到2003年的J2EE 1.4版,其主干技术框架为JSP、Servlet、EJB、JDBC,同时还有第三方的框架产品Struts、Spring、Hibernate可以作为辅助开发框架;第二阶段是2006年的Java EE 5版到2013年的Java EE 7版,其主干技术框架为JSF、EJB、JPA,其中吸收了很多第三方产品的设计理念和技术内容。早期的JSP、Servlet、EJB、JDBC是一套已经十分成熟的架构,业内的资料也十分丰富;而采用了JSF、EJB、JPA技术规范组合的内容却是能够真正反映Java技术的最新成就的内容。
本书的主旨就是介绍JSF、EJB、JPA等技术规范及其组合,讲授新的技术框架。
吉林大学软件学院是国家首批国家级示范性软件学院,自2003年开始招收全日制本科生,从2003年第一届学生开始,就开设了讲授Java企业级技术的课程。2013年,该学院的软件工程专业被正式列入《卓越工程师教育培养计划第三批学科专业名单》的本科专业目录。为深入贯彻落实国家卓越工程师教育培养计划,该学院专门成立软件工程师卓越班,每年单独选拔招收学生30名左右,并为这个教学班单独设立教学计划,在软件工程专业正常教学内容的基础上,课程的侧重点力求能够更倾向于教育部和中国工程院专门制定的《卓越工程师教育培养计划通用标准》中所要求的要点。Java EE企业级应用技术课程被列入软件工程师卓越班的教学计划,作为一门专业必修课,也是该学院重点建设的一门理论联系实际性质的专业课。2016年《Java EE企业级应用技术》教材建设被列入吉林大学本科十三五规划教材建设计划。
本书的内容是近十几年课程教学过程的积累,也是近几年对Java EE企业级技术的消化和学习的结果。实际上课程的教学内容随着Java技术的不断发展,也经过了几次调整,更新了很多内容,既有摒弃,也有积淀。本书主要介绍Java EE第5版到第7版的主要体系框架,力求能够反映其中的基本概念、基本思想、基本框架。由于Java EE是一个庞大的技术体系,无法面面俱到地介绍,因此在内容上尽量以JSF、EJB、JPA技术为重点,力图使学生经过教学过程之后能够掌握最基本的框架,对Internet环境下的分布式系统开发和Java EE平台有一个基本的理解。
本书建议理论授课学时为32学时,建议实践教学学时为16学时,具体的学时分配数在每章都会给出,可以根据教学侧重点进行增减。实践教学环节的题目和内容设置,任课教师可以根据学生的技术水平灵活掌握。
在本书即将付梓之际,我要感谢吉林大学对本书的大力支持,在十三五规划教材申报和答辩过程中,学校专家组的专家们对我和本书的鼓励和肯定依然使我记忆犹新。我想用这本书告慰逝去的父亲,父亲对儿子的殷切期望是我克服写作过程中的怠惰情绪、克服心智和体力上的困苦与疲惫、完成写作的重要动力。能够在父亲离世三周年之前完成此书,了却了我的心愿。这也是我继2007年出版《Java语言程序设计》之后,再一次用自己的劳动成果向父亲汇报。我还要把这本书作为礼物送给我的女儿,希望父女之间互相鼓励、共同进步,彼此践行承诺。
在本书的最后一个字符录入完成之际,我知道,出版社的编辑们及各个环节的工作人员就要开始辛苦忙碌了。没有他们的辛勤付出,没有他们高质量和卓有成效的工作,一本书的出版是不可能的。与他们合作的过程,也是我与他们分享工作乐趣的过程。
由于时间仓促,加之水平有限,对于新技术规范的理解和消化也还不够透彻,书中难免存在一些缺点和错误,恳请专家和读者批评指正。
姜志强
于吉林大学