注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关Java Web 2.0架构开发与项目实战

Java Web 2.0架构开发与项目实战

Java Web 2.0架构开发与项目实战

定 价:¥96.00

作 者: 张峰,李慧丽 编著
出版社: 清华大学出版社
丛编项:
标 签: J2EE

购买这本书可以去


ISBN: 9787302209980 出版时间: 2009-10-01 包装: 平装
开本: 16开 页数: 780 字数:  

内容简介

  《Java Web 2.0架构开发与项目实战》充满激情地介绍了各种Java主流开发技术以及这些技术的应用整合并在实践项目中如何利用这些技术开发大型Web项目。站在开发实践的角度,详细介绍了如何综合运用Struts 2.1、Hibemate 3、Spring2.5、EJB 3、JSF、A4J、DWR/Dojo、JasperReports等众多最眩的技术开发大型电子商务系统。涵盖Struts 2.1最新的注解(Annotation)配置方式和Hibernate 3.2的最新注解(Annotation)配置方式,并且将EJB 3与Hibernate 3.2的最新注解结合起来应用,这在国内外的同类图书中尚属首次。在《Java Web 2.0架构开发与项目实战》中,通过两个极具实战价值的Web 2.0项目(包括飞机零部件电子商务交易平台、网上定餐电子商务系统)直观而生动地展示了Java平台上与Ajax相关的各种技术的综合运用,涉及Struts 2.1、Hibernate 3、Spring2、DWR、Doj0、A4J、JSF、EJB 3、JMS等,每个项目都完整地讲解了从规划、设计到实现的全过程。《Java Web 2.0架构开发与项目实战》还附赠42.个小时作者亲自录制的全程多媒体教学课程DVD,为读者快速有效地掌握《Java Web 2.0架构开发与项目实战》内容提供了最佳捷径。《Java Web 2.0架构开发与项目实战》适合广大Java爱好者及程序开发人员,尤其适合那些希望尽快掌握Java Web 2.0项目开发的人员阅读参考。

作者简介

  张峰,西安电子科技大学硕士,系统构架师、系统分析师。 具有10年Java EE项目实施及开发经验。擅长软件系统构架,对基于Java EE的软件系统开发方法有深入研究和体验,并应用基于SSH、Seam开发技术构建了多个Java EE大型项目(如Java网络通信、手机增值服务、数字化文档出版系统、Java嵌入式开发)。 在使用Java EE、XML、UML、Struts、CORBAI Hibernate、Spring、 Seam、EJB 3、Ajax技术开发企业级应用程序方面都具有丰富的经验。主要科研项目某型号飞机备件管理信息系统航空部附件维修管理信息系统飞机技术出版物数字化出版系统某型号飞机可靠性监控系统无线PDA酒店系统全方位OA系统呼叫中心系统航材电子商务交易系统飞机维修管理信息系统

图书目录

第1部分 基础应用篇
第01章 J2EE技术框架2
视频教学:1小时
1.1 J2EE的架构简介2
1.1.1 J2EEWeb容器3
1.1.2 J2EEEJB容器3
1.1.3 J2EEApplet容器3
1.1.4 J2EEApplicationClient容器3
1.2 J2EE的多层模型3
1.2.1 客户层4
1.2.2 Web层4
1.2.3 业务层4
1.2.4 持久层4
1.3 J2EE开发环境的配置5
1.3.1 安装JDK6
1.3.2 安装Tomcat7
1.4 J2EE的相关部署规范11
1.4.1 容器的配置11
1.4.2 web.xml的配置12
1.5 集成开发工具的安装和使用14
1.5.1 Eclipse的下载和安装14
1.5.2 MyEclipse的下载和安装14
1.5.3 SVN插件的安装15
1.6 MyEclipse的配置与应用15
1.6.1 配置Web服务器15
1.6.2 建立Web应用16
1.6.3 部署Web项目17
1.7 本章小结17
第02章 JavaWeb开发过程中实用工具的使用18
视频教学:1小时45分钟
2.1 Subversion的应用18
2.1.1 Subversion概述18
2.1.2 Subversion的功能19
2.1.3 Subversion的安装与配置19
2.1.4 导入项目23
2.1.5 导出项目23
2.1.6 Subversion客户端软件的下载安装23
2.1.7 在MyEclipse中使用SVN24
2.2 Confluence的应用25
2.2.1 Confluence的下载和安装25
2.2.2 Confluence的配置26
2.3 JIRA的应用28
2.3.1 JIRA的下载与安装28
2.3.2 JIRA的配置29
2.4 iReport的应用30
2.4.1 iReport的下载和安装31
2.4.2 使用iReport设计报表32
2.4.3 新建一个空报表32
2.4.4 解决PDF的中文问题33
2.4.5 使用数据库中的数据生成报表33
2.4.6 增加.修改与删除报表字段36
2.4.7 字段在报表设计器中的使用36
2.4.8 解决报表统一样式及中文字体问题37
2.4.9 在iReport中定义与使用参数37
2.4.1 0定义与使用变量38
2.5 JasperReports的应用39
2.5.1 以PDF格式输出39
2.5.2 以HTML格式输出40
2.6 本章小结41
第03章 Java与XML编程42
视频教学:38分钟
3.1 XML简介42
3.2 XML基本语法规则44
3.2.1 XML声明44
3.2.2 XML命名规则44
3.2.3 XML文档44
3.2.4 文档类型声明46
3.2.5 元素声明46
3.2.6 属性声明49
3.2.7 实体51
3.2.8 XML名称空间52
3.2.9 XML相关技术名词解释53
3.3 解析XML54
3.4 利用Java语言解析XML55
3.4.1 文档对象模型55
3.4.2 DOM接口55
3.4.3 常用的DOM方法55
3.4.4 第一个DOM应用56
3.4.5 XML的简单API(SAX)61
3.4.6 第一个SAX应用61
3.4.7 解析器的高级功能66
3.4.8 解析字符串68
3.5 本章小结69
第2部分 Ajax/Web2.0应用篇
第04章 JavaScript高级应用71
视频教学:55分钟
4.1 JavaScript面向对象71
4.1.1 JavaScript类的定义71
4.1.2 prototype对象73
4.1.3 JavaScript反射机制73
4.1.4 反射机制在Ajax中的应用74
4.2 JavaScript类继承75
4.2.1 利用共享prototype实现继承75
4.2.2 利用反射机制和prototype实现继承76
4.3 JavaScript框架编程77
4.3.1 框架的引用77
4.3.2 引用其他框架内的变量和函数79
4.4 JavaScript定时器80
4.5 JavaScript异常处理82
4.5.1 利用try-catch-finally处理异常82
4.5.2 利用throw处理异常83
4.6 本章小结83
第05章 Ajax与Web2.0应用架构84
视频教学:1小时15分钟
5.1 Ajax应用技术84
5.1.1 Ajax应用简介84
5.1.2 Ajax的工作原理85
5.2 Ajax开发步骤85
5.2.1 XMLHttpRequest对象85
5.2.2 应用JavaScript代码86
5.2.3 获取Request对象87
5.2.4 Ajax的基本请求/响应模型88
5.2.5 处理响应89
5.2.6 调用Ajax过程90
5.3 Web2.0和Ajax技术90
5.3.1 Web2.0和Ajax技术简介90
5.3.2 Web2.0的DOCTYPE声明91
5.3.3 Web2.0的名字空间和语言编码的声明91
5.3.4 Web2.0对样式表的调用92
5.3.5 Web2.0XHTML代码规范92
5.3.6 设计CSS93
5.4 在请求和响应中使用XML95
5.4.1 以XML格式从网页向服务器发送请求96
5.4.2 以XML格式在网页中从服务器接收请求97
5.5 实例解析Ajax应用99
5.5.1 定义响应Ajax的Servlet99
5.5.2 定义Web页面100
5.5.3 配置运行程序101
5.6 本章小结103
第06章 A4J框架104
视频教学:1小时
6.1 A4J的下载与配置105
6.1.1 A4J简介105
6.1.2 A4J的下载与配置105
6.2 A4J应用程序的创建105
6.2.1 创建A4JWeb应用105
6.2.2 创建JSF页面程序106
6.2.3 创建后台受管理Bean107
6.2.4 配置JSF应用107
6.2.5 部署并运行程序108
6.3 A4J工作原理109
6.3.1 A4J框架中的基本元素109
6.3.2 A4J框架的工作流程109
6.4 A4J框架组件库110
6.4.1 a4j:ajaxListener组件110
6.4.2 a4j:region组件110
6.4.3 a4j:page组件111
6.4.4 a4j:support组件112
6.4.5 a4j:commandLink组件113
6.4.6 a4j:commandButton组件114
6.4.7 a4j:form组件116
6.4.8 a4j:htmlCommandLink组件117
6.4.9 a4j:outputPanel组件117
6.4.10 a4j:actionparam组件118
6.4.11 a4j:status组件119
6.4.12 a4j:loadBundle组件120
6.4.13 a4j:mediaOutput组件120
6.4.14 a4j:keepAlive组件122
6.4.15 a4j:jsFunction组件122
6.4.16 a4j:include组件124
6.4.17 a4j:loadScript组件125
6.4.18 a4j:loadStyle组件125
6.4.19 a4j:log组件125
6.4.20 a4j:poll组件126
6.4.21 a4j:portlet组件126
6.4.22 a4j:push组件127
6.4.23 a4j:repeat组件129
6.4.24 a4j:queue组件129
6.5 本章小结130
第07章 DWR框架131
视频教学:1小时25分钟
7.1 DWR的下载和配置132
7.1.1 DWR简介132
7.1.2 下载和配置DWR132
7.2 DWR的应用过程133
7.2.1 编辑配置web.xml文件133
7.2.2 编辑配置dwr.xml文件133
7.2.3 编辑Java类133
7.2.4 测试DWR134
7.2.5 编写JSP134
7.3 DWR工作环境的配置135
7.3.1 配置web.xml135
7.3.2 配置dwr.xml135
7.4 DWR与Servlet整合138
7.5 DWR与Spring整合138
7.6 DWR与Struts整合139
7.7 DWR与Struts2整合139
7.8 反向Ajax140
7.8.1 轮询141
7.8.2 Comet141
7.8.3 PiggyBack141
7.9 DWR中的JavaScript详解144
7.9.1 简单的回调函数145
7.9.2 调用元数据对象145
7.9.3 查找回调函数145
7.9.4 创建一个与Java对象匹配的JavaScript对象146
7.10 engine.js引擎的属性146
7.11 engine.js属性的调用148
7.11.1 批量调用148
7.11.2 顺序调用148
7.11.3 错误警告和超时148
7.11.4 远程Hooks149
7.11.5 远程调用选项149
7.12 util.js工具包150
7.12.1 $()函数150
7.12.2 addOptions与removeAllOptions函数150
7.12.3 addRows与removeAllRows函数151
7.12.4 getText函数152
7.12.5 getValue函数152
7.12.6 getValues函数153
7.12.7 onReturn函数153
7.12.8 selectRange函数153
7.12.9 setValue函数153
7.12.10 setValues函数154
7.12.11 toDescriptiveString函数154
7.12.12 useLoadingMessage函数155
7.13 本章小结155
第08章 Dojo框架156
视频教学:3小时30分钟
8.1 Dojo框架的应用156
8.1.1 Dojo简介156
8.1.2 常用包介绍157
8.1.3 下载和配置Dojo158
8.1.4 动态加载package159
8.1.5 定制整合包159
8.1.6 djConfig159
8.1.7 Dojo应用示例160
8.2 Dojo与XHR框架161
8.2.1 XHR框架介绍161
8.2.2 应用xhrGet请求资源162
8.2.3 应用xhrGet提交表单163
8.2.4 XHR框架中的其他方法的应用164
8.3 Dojo的事件机制165
8.3.1 DOM事件模型165
8.3.2 使用Dojo处理DOM事件166
8.3.3 使用Dojo处理用户自定义事件167
8.3.4 Dojo的订阅/发布模式168
8.4 Dojo中的拖曳170
8.4.1 Dojo的拖动170
8.4.2 动态实现可拖动实体170
8.4.3 拖动柄171
8.4.4 限制可拖动实体拖动的范围171
8.4.5 捕获拖动中的事件173
8.4.6 Dojo的拖放174
8.4.7 动态生成源容器.目标容器和可拖放实体175
8.4.8 拖放柄176
8.4.9 捕获拖放中的事件176
8.5 Dojo基础Web2.0UI组件库177
8.5.1 表单Widget简介178
8.5.2 开发UI组件步骤179
8.5.3 表单Widget使用示例179
8.5.4 ComboBoxWidget的使用182
8.5.5 SliderWidget的使用183
8.5.6 DateTextbox与TimeTextBox的使用185
8.5.7 CurrencyTextBox与NumberTextBox的使用186
8.5.8 FilteringSelect的使用187
8.5.9 MultiSelect的使用188
8.5.1 0NumberSpinner的使用189
8.5.1 1布局Widget简介190
8.5.1 2TabContainerWidget192
8.5.1 3ContentPanewidget193
8.5.1 4AccordionContainerwidget194
8.5.1 5布局Widget的综合使用示例195
8.6 Dojo高级Web2.0UI组件库196
8.6.1 高级UI组件库简介196
8.6.2 Tooltip组件197
8.6.3 Dialog组件198
8.6.4 TooltipDialog组件200
8.6.5 Menu组件201
8.6.6 TitlePane组件201
8.6.7 Editor组件202
8.6.8 InlineEditBox组件204
8.6.9 ProgressBar组件204
8.6.1 0Tree组件205
8.7 Dojo的基础对象和方法208
8.8 Dojo的dojo.string对象209
8.9 本章小结210
第3部分 SSH架构篇
第09章 Struts2.1 框架212
视频教学:7小时10分钟
9.1 Struts2概述213
9.1.1 Struts2简介213
9.1.2 Struts2框架架构213
9.1.3 Struts2的配置文件214
9.1.4 Struts2与Struts1的比较218
9.2 Struts2开发环境搭建220
9.2.1 下载和安装Struts2220
9.2.2 创建Struts2应用项目221
9.2.3 设计动作控制类222
9.2.4 配置Action类223
9.2.5 设计视图223
9.2.6 执行Web应用程序225
9.2.7 保存会话信息225
9.3 深入解析Struts2配置226
9.3.1 package配置226
9.3.2 命名空间配置227
9.3.3 包含配置227
9.3.4 常量配置228
9.4 深入解析Struts2Action228
9.4.1 实现ActionSupport类228
9.4.2 在Action中访问ServletAPI229
9.4.3 处理Action中包含的多个请求230
9.4.4 处理Action返回结果233
9.4.5 属性驱动和模型驱动235
9.4.6 Struts2的异常处理机制237
9.5 通用标签238
9.5.1 if.elseif和else标签238
9.5.2 迭代iterator标签239
9.5.3 I18n标签240
9.5.4 include标签240
9.5.5 param标签241
9.5.6 set标签241
9.5.7 text标签242
9.5.8 url标签242
9.5.9 property标签243
9.5.10 bean标签243
9.5.11 append标签244
9.5.12 generator标签244
9.5.13 push标签245
9.5.14 merge标签245
9.5.15 sort标签246
9.5.16 subset标签246
9.5.17 date标签248
9.5.18 debug标签248
9.5.19 a标签248
9.6 UI标签248
9.6.1 form标签250
9.6.2 reset标签250
9.6.3 textarea标签251
9.6.4 checkbox标签251
9.6.5 radio标签251
9.6.6 hidden标签252
9.6.7 password标签252
9.6.8 select标签252
9.6.9 optgroup标签252
9.6.10 submit标签253
9.6.11 textfield标签253
9.6.12 token标签253
9.6.13 updownselect标签254
9.6.14 optiontransferselect标签254
9.6.15 doubleselect标签255
9.6.16 checkboxlist标签256
9.6.17 combobox标签256
9.6.18 head标签257
9.6.19 label标签257
9.6.20 主题和模板257
9.7 非表单标签258
9.7.1 actionerror标签258
9.7.2 actionmessage标签259
9.7.3 component标签259
9.7.4 fielderror标签260
9.8 Strtus2对Ajax的支持260
9.8.1 Struts2与Dojo260
9.8.2 Struts2与DWR261
9.8.3 a和submit标签262
9.8.4 JSON的配置264
9.8.5 autocompleter标签267
9.8.6 bind标签269
9.8.7 datetimepicker标签269
9.8.8 div标签270
9.8.9 head标签271
9.8.10 tabbedpanel标签271
9.8.11 tree和treenode标签272
9.8.12 动态树实现273
9.9 国际化276
9.9.1 Struts2国际化应用示例276
9.9.2 参数化国际化字符串278
9.10 拦截器278
9.10.1 实现原理278
9.10.2 配置和使用拦截器279
9.10.3 自定义拦截器281
9.11 转换器285
9.11.1 基本类型转换器285
9.11.2 自定义类型转换器285
9.11.3 局部类型转换器286
9.11.4 全局类型转换器286
9.11.5 局部类型转换器应用286
9.11.6 全局类型转换器的应用288
9.12 校验框架290
9.12.1 利用编程方式实现Struts2输入校验290
9.12.2 应用Struts2的校验框架292
9.12.3 Struts2输入校验信息国际化294
9.13 Struts2内置校验器294
9.13.1 必填校验器295
9.13.2 必填字符串校验器295
9.13.3 整数校验器296
9.13.4 日期校验器296
9.13.5 表达式校验器297
9.13.6 字段表达式校验器297
9.13.7 邮件校验器297
9.13.8 网址校验器298
9.13.9 visitor校验器298
9.13.10 转换校验器299
9.13.11 字符串长度校验器299
9.13.12 正则表达式校验器299
9.13.13 非字段校验器300
9.13.14 字段校验器300
9.13.15 短路校验器301
9.14 文件上传和下载302
9.14.1 文件上传302
9.14.2 多文件上传305
9.14.3 文件下载306
9.15 OGNL307
9.15.1 OGNL的应用307
9.15.2 OGNL与集合Collections308
9.16本章小结309
第10章 Struts2.1 注解及应用整合310
视频教学:1小时10分钟
10.1 Struts2对注解的支持310
10.1.1 Action相关注解310
10.1.2 @Result注解312
10.2 拦截器的相关注解316
10.2.1 @After注解316
10.2.2 @Before注解317
10.2.3 @BeforeResult注解317
10.3 输入校验的相关注解317
10.3.1 @ConversionErrorFieldValidator注解317
10.3.2 @DateRangeFieldValidator注解318
10.3.3 @DoubleRangeFieldValidator注解318
10.3.4 @EmailValidator注解319
10.3.5 @ExpressionValidator注解319
10.3.6 @FieldExpressionValidator注解319
10.3.7 @IntRangeFieldValidator注解320
10.3.8 @RegexFieldValidator注解320
10.3.9 @RequiredFieldValidator注解321
10.3.10 @RequiredStringValidator注解321
10.3.11 @StringLengthFieldValidator注解322
10.3.12 @StringRegexValidator注解322
10.3.13 @UrlValidator注解322
10.3.14 @VisitorFieldValidator注解323
10.3.15 @CustomValidator注解323
10.4 类型转换的相关注解324
10.4.1 @CustomValidator注解324
10.4.2 @CreateIfNull注解324
10.4.3 @Element注解324
10.4.4 @Key注解325
10.4.5 @KeyProperty注解325
10.4.6 @TypeConversion注解325
10.5 Struts2整合JasperReports326
10.5.1 报表类库的设置326
10.5.2 创建视图文件327
10.5.3 创建Action327
10.5.4 配置Action328
10.5.5 设计并输出报表329
10.6 Struts2整合JFreeChart330
10.7 本章小结333
第11章 Spring2框架334
视频教学:1小时30分钟
11.1 Spring简介334
11.2 Spring的下载与安装335
11.3 体验Spring程序336
11.3.1 定义Action接口336
11.3.2 定义Action接口实现类336
11.3.3 Spring配置文件337
11.3.4 测试USB功能338
11.4 SpringBean封装机制339
11.5 SpringBean的配置与管理340
11.5.1 BeanFactory与Bean配置340
11.5.2 强制初始化Bean341
11.5.3 自动装配342
11.5.4 依赖检查342
11.5.5 Spring容器343
11.5.6 Web容器配置343
11.6 依赖注入的实现类型344
11.6.1 构造注入344
11.6.2 设值注入345
11.6.3 几种依赖注入模式的对比347
11.7 Bean的继承347
11.7.1 定义Bean继承347
11.7.2 SpringBean的继承与Java中继承的区别348
11.8 后处理器349
11.8.1 Bean后处理器349
11.8.2 容器后处理器351
11.9 本章小结352
第12章 Hibernate3框架354
视频教学:6时15分钟
12.1 ORM简介354
12.1.1 ORM特性354
12.1.2 流行的ORM框架介绍..3 54
12.2 Hibernate应用355
12.2.1 Hibernate的下载与安装355
12.2.2 Hibernate的简单应用与配置356
12.2.3 配置Hibernate360
12.2.4 Session管理360
12.2.5 使用自动化工具生成PO及XML映像文件361
12.2.6 配置Hibernate数据库连接池361
12.2.7 Hibernate的关系映射362
12.2.8 单向1-1的关系映射363
12.2.9 单向1-N的关系映射366
12.2.10 单向N-1的关系映射368
12.2.11 N-N的关系映射370
12.2.12 双向1-1关联373
12.2.13 双向1-N关联376
12.2.14 双向N-N关联378
12.3 Hibernate基本数据查询380
12.3.1 HQL的查询应用380
12.3.2 HQL语句的语法381
12.3.3 条件查询385
12.3.4 SQL查询387
12.4 提升Hibernate运行性能分析388
12.4.1 读取策略388
12.4.2 操作延迟加载的关联388
12.4.3 调整读取策略389
12.4.4 单端关联代理389
12.4.5 实例化集合和代理390
12.4.6 使用批量读取390
12.4.7 使用子查询读取391
12.4.8 使用延迟属性读取391
12.5 Hibernate中的缓存以及性能分析391
12.5.1 二级缓存392
12.5.2 缓存映射393
12.5.3 只读缓存策略393
12.5.4 读/写缓存策略393
12.5.5 非严格读/写缓存策略393
12.5.6 事务缓存策略394
12.5.7 管理缓存394
12.5.8 查询缓存394
12.5.9 提升集合性能395
12.5.10 Lists.maps和sets更新性能分析395
12.5.11 Bag和list在反向集合类中的性能分析396
12.6 Hibernate事务与并发管理396
12.6.1 SessionFactory工厂对象396
12.6.2 操作单元396
12.6.3 长对话397
12.6.4 Session中的对象标识398
12.6.5 数据库事务声明398
12.6.6 非托管环境399
12.6.7 使用JTA399
12.6.8 异常处理400
12.7 悲观锁和乐观锁401
12.7.1 应用程序级别的版本检查402
12.7.2 自动版本化403
12.7.3 托管对象和自动版本化404
12.7.4 定制自动版本化行为404
12.7.5 乐观锁在金融系统中的应用405
12.8 数据库连接的释放模式405
12.9 拦截器406
12.10 事件系统407
12.11 批量处理408
12.11.1 批量插入409
12.11.2 批量更新409
12.12 Hibernate对注解的支持409
12.13 用EJB3注解进行映射411
12.13.1 声明实体Bean411
12.13.2 表的定义412
12.13.3 乐观锁定版本控制412
12.13.4 属性映射412
12.13.5 主键属性映射415
12.13.6 映射继承关系417
12.13.7 实体Bean一对一映射419
12.13.8 实体Bean多对一映射421
12.13.9 集合类型422
12.13.10 实体Bean一对多映射423
12.13.11 实体Bean多对多映射425
12.13.12 用cascading实现传播性持久化426
12.13.13 关联关系获取426
12.13.14 映射复合主键与外键426
12.13.15 映射二级表427
12.14 Hibernate的注解扩展428
12.14.1 实体注解的扩展428
12.14.2 标识符注解的扩展429
12.14.3 属性注解的扩展430
12.14.4 单个关联关系的注解432
12.14.5 集合类型的注解433
12.14.6 缓存的注解434
12.15 Hibernate验证器434
12.15.1 Hibernate3内建约束435
12.15.2 错误信息435
12.15.3 注解项目中的领域模型436
12.16 Hibernate3与Lucene集成437
12.16.1 Lucene下载与安装437
12.16.2 使用Lucene为实体建立索引437
12.17 本章小结438
第13章 SSH架构应用整合439
视频教学:1小时40分钟
13.1 整合Struts2和Spring439
13.2 整合Hibernate和Spring440
13.2.1 Spring整合Hibernate方法440
13.2.2 Spring对Hibernate的DAO实现442
13.3 事务管理444
13.3.1 编程式的事务管理444
13.3.2 声明式的事务管理445
13.3.3 应用继承简化配置447
13.3.4 应用BeanNameAutoProxyCreator自动创建事务代理448
13.4 实例解析Struts2.1 与Sping2.Hibernate3集成450
13.4.1 配置应用项目450
13.4.2 创建实体表451
13.4.3 创建Hibernate框架451
13.4.4 创建DAO452
13.4.5 创建Action454
13.4.6 创建Spring应用455
13.4.7 测试部署应用457
13.5 本章小结458
第4部分 JavaEE篇
第14章 JavaEE架构技术460
视频教学:35分钟
14.1 JavaEE架构简介461
14.2 Windows下JavaEE开发环境的配置462
14.2.1 概述462
14.2.2 相关软件介绍462
14.2.3 JBoss的下载与安装463
14.2.4 JBoss的目录结构465
14.2.5 在JBoss中部署应用包465
14.2.6 在JBoss中发布Web应用组件EJB466
14.3 本章小结466
第15章 EJB3467
视频教学:2小时10分钟
15.1 EJB3简介467
15.1.1 应用EJB架构的优点468
15.1.2 EJB3和EJB2的区别468
15.2 JavaEE开发环境的搭建469
15.2.1 创建一个企业应用项目469
15.2.2 部署企业应用项目473
15.3 会话(Session)Bean477
15.4 无状态(Stateless)SessionBean477
15.4.1 设计只存在Remote接口的无状态SessionBean477
15.4.2 设计只存在Local接口的无状态SessionBean480
15.4.3 设计存在Remote与Local接口的无状态SessionBean482
15.5 有状态(Stateful)SessionBean485
15.5.1 设计StatefulSessionBean485
15.5.2 StatelessSessionBean与StatefulSessionBean的区别487
15.6 SessionBean的JNDI名称设置488
15.7 SessionBean的生命周期489
15.8 拦截器(Interceptor)492
15.9 依赖注入(dependencyinjection)495
15.1 0定时服务(TimerService)497
15.1 1本章小结499
第16章 JMS(JavaMessageService)500
视频教学:40分钟
16.1 JMS简介500
16.1.1 JMS基本概念500
16.1.2 JMS基本功能501
16.1.3 JMS消息正文格式502
16.1.4 JMS接口定义502
16.2 JMS消息模型503
16.2.1 消息头(Header)503
16.2.2 属性(Properties)503
16.2.3 消息体(Body)504
16.3 消息驱动Bean(MessageDrivenBean)504
16.3.1 Queue消息接口505
16.3.2 Topic消息接口509
16.4 本章小结514
第17章 实体Bean515
视频教学:1小时55分钟
17.1 实体Bean介绍515
17.1.1 EJB3中的元数据批注515
17.1.2 EntityBean的定义规则516
17.1.3 EntityBean中属性变量的访问和映射516
17.1.4 Entity类主键和实体标识517
17.1.5 编写实体Bean518
17.2 持久化EntityBean519
17.2.1 操作持久化EntityBean519
17.2.2 配置EntityManager的持久化内容520
17.2.3 配置EntityManager的数据源520
17.2.4 在MyEclipse中配置数据源522
17.2.5 应用MyEclipse生成实体Bean523
17.2.6 访问实体Bean527
17.3 持久化实体管理器EntityManager528
17.3.1 保存Entity529
17.3.2 获取Entity529
17.3.3 更新Entity529
17.3.4 合并Entity530
17.3.5 删除Entity530
17.3.6 EJB3QL查询531
17.3.7 Query接口531
17.4 关系/对象映射531
17.4.1 单向一对一的关系映射532
17.4.2 一对多关系映射537
17.4.3 多对多关系映射543
17.5 EJB3QL查询548
17.5.1 简单查询548
17.5.2 使用参数查询548
17.5.3 原生SQL查询549
17.6 EJB3QL语句的语法549
17.6.1 from子句549
17.6.2 select子句550
17.6.3 聚集函数550
17.6.4 多态查询550
17.6.5 where子句550
17.6.6 表达式551
17.6.7 表达式的使用551
17.6.8 关联(join)552
17.7 本章小结553
第18章 JSF框架554
视频教学:2小时10分钟
18.1 JSF介绍555
18.1.1 JSF体系结构555
18.1.2 JSF生命周期556
18.1.3 JSF参考实现的下载与配置557
18.2 开发第一个JSF应用程序558
18.2.1 创建Web应用558
18.2.2 设计用户登录JavaBean559
18.2.3 JSF的配置文件faces-config.xml560
18.2.4 设计网页程序561
18.2.5 JSF中导航规则的定义562
18.3 JSF表达式语言563
18.3.1 JSFEL的定义563
18.3.2 使用隐含变量564
18.3.3 JSF运算表达式565
18.4 JSF的国际化566
18.4.1 国际化资源文件的定义566
18.4.2 国际化资源文件的调用567
18.5 后台(Backing)Bean569
18.6 配置(Config)Bean569
18.7 Bean中的List和Map属性571
18.8 JSF转换器571
18.8.1 标准转换器571
18.8.2 使用自定义转换器573
18.9 JSF验证器576
18.9.1 使用标准验证器576
18.9.2 使用自定义验证器577
18.10 ErrorMessages578
18.11 JSF事件处理模型580
18.11.1 动作事件580
18.11.2 即时事件582
18.11.3 值改变事件585
18.12 JSF标准标签库586
18.12.1 输出标签586
18.12.2 输入标签587
18.12.3 命令标签588
18.12.4 选择标签589
18.12.5 高级标签590
18.13 JSFFacesContext对象597
18.13.1 获取当前实例597
18.13.2 处理消息597
18.13.3 处理请求事件598
18.13.4 处理Response对象598
18.14 JSFExternalContext对象598
18.14.1 使用ExternalContext类中的对象598
18.14.2 获取ServletContext属性599
18.14.3 获取Session对象及其属性599
18.14.4 获取ServletContext对象的初始参数599
18.14.5 获取Request对象的属性600
18.14.6 访问Request对象里的参数名和值600
18.14.7 获取Cookie601
18.14.8 获取请求头的名和值602
18.14.9 获取上下文路径602
18.14.10 获取当前语言环境603
18.14.11 获取资源路径603
18.15本章小结604
第5部分 项目实战篇
第19章 基于JSF+EJB3+A4J框架的网上定餐系统606
视频教学:2小时10分钟
19.1 系统需求说明607
19.1.1 项目背景607
19.1.2 需求分析607
19.1.3 主要用例说明608
19.2 系统架构设计608
19.3 网上定餐系统的架构说明608
19.3.1 客户层609
19.3.2 Web层609
19.3.3 Service层609
19.3.4 DAO层609
19.3.5 数据持久层PO609
19.3.6 值对象层VO609
19.4 业务实体层设计610
19.4.1 设计域模型610
19.4.2 设计数据模型611
19.5 网上定餐系统开发环境的搭建612
19.5.1 创建Web及JSF应用612
19.5.2 A4J的配置613
19.6 创建实体Bean613
19.6.1 创建实体表613
19.6.2 编写Entity615
19.7 创建DAO619
19.7.1 创建用户管理DAO接口619
19.7.2 创建菜单管理DAO接口620
19.7.3 创建购物车管理DAO接口620
19.7.4 创建定单管理DAO接口621
19.7.5 创建用户管理接口的实现会话Bean622
19.7.6 创建菜单管理接口的实现会话Bean623
19.7.7 创建购物车接口的实现会话Bean623
19.7.8 创建定单管理接口的实现会话Bean624
19.8 创建Web业务逻辑组件625
19.8.1 用户管理服务组件625
19.8.2 菜单管理服务组件627
19.8.3 购物车服务组件628
19.8.4 定单服务组件629
19.8.5 创建VO组件630
19.9 创建Action组件631
19.9.1 创建JSF调用的用户管理Action组件631
19.9.2 创建JSF调用的菜单管理Action组件632
19.9.3 创建JSF调用的购物车管理Action组件633
19.9.4 创建JSF调用的定单管理Action组件635
19.10 JSF的配置636
19.11 应用A4J和JSF设计Web页面639
19.11.1 设计引导文件639
19.11.2 设计登录页面639
19.11.3 设计用户管理页面640
19.11.4 设计主页面644
19.11.5 设计菜单显示页面645
19.11.6 设计购物车页面646
19.11.7 设计定单页面648
19.11.8 设计CSS文件649
19.11.9 部署并运行程序650
19.12本章小结650
第20章 飞机零部件电子商务交易平台(BSP)651
视频教学:4小时
20.1 系统需求说明652
20.1.1 项目背景652
20.1.2 需求分析652
20.1.3 主要用例说明652
20.2 系统架构设计653
20.2.1 BSP系统架构说明653
20.2.2 采用框架开发的优点655
20.2.3 系统软硬件环境656
20.3 BSP软件开发过程657
20.3.1 应用RUP的过程657
20.3.2 应用XP的最佳实践657
20.3.3 在BSP中使用CMM的关键域的规范流程657
20.4 BSP软件开发变更控制流程658
20.4.1 BSP变更申请的处理流程658
20.4.2 BSP需求变更的处理步骤659
20.4.3 BSP决策后的处理步骤659
20.5 BSP项目中的角色和职责659
20.5.1 BSP项目组织结构659
20.5.2 BSP项目组各个成员的职责660
20.6 BSP质量保证流程661
20.6.1 BSP项目质量保证计划662
20.6.2 BSP项目实施质量管理活动662
20.6.3 BSP项目质量问题跟踪与质量改进662
20.6.4 BSP项目风险管理662
20.6.5 BSP系统安全控制策略663
20.7 大规模高并发访问BSP的性能分析664
20.7.1 应用服务器中JVM虚拟机的优化664
20.7.2 JVM虚拟机中对字节码优化的策略664
20.7.3 堆大小设置665
20.7.4 回收器选择665
20.7.5 年轻代大小选择666
20.7.6 年老代大小选择666
20.7.7 较小堆引起的碎片分析666
20.7.8 在实际编程中对内存的优化667
20.7.9 集群与负载均衡667
20.7.1 0配置Apache+JK2+Tomcat集群与负载均衡668
20.7.1 1二级缓存以及存取性能分析设计670
20.8 业务实体层设计670
20.8.1 设计域模型671
20.8.2 设计数据模型672
20.8.3 创建数据库676
20.9 BSP开发环境的搭建676
20.9.1 应用MyEclipse创建BSP项目676
20.9.2 HibernateAnnonations设置677
20.9.3 应用Hibernate3注解设计数据持久层677
20.9.4 Struts2.1 应用设置684
20.9.5 Spring2.5 应用设置685
20.9.6 Dojo应用设置687
20.9.7 DWR应用设置687
20.10 DAO层设计688
20.11 业务逻辑层设计690
20.12 Web层设计692
20.12.1 表现层UI设计693
20.12.2 访问控制层公用类设计697
20.13 BSP系统目录及模块列表设计699
20.14 BSP主页面设计700
20.14.1 利用Dojo和Struts2设计登录表现层界面700
20.14.2 应用Struts2注解设计登录控制层Action701
20.14.3 设计模型驱动层VO704
20.14.4 登录DAO层实现设计704
20.14.5 登录业务逻辑层实现设计705
20.14.6 登录验证码的应用706
20.14.7 利用Strtus2和Ajax实现验证码707
20.15 BSP用户注册实现设计708
20.15.1 利用Dojo.DWR和Struts2设计用户注册首页710
20.15.2 利用Dojo.DWR和Struts2设计公司注册页面711
20.15.3 利用Dojo.DWR和Struts2设计管理员注册页面712
20.15.4 利用Dojo.DWR和Struts2设计普通用户注册页面713
20.15.5 用户注册控制层流程分析715
20.15.6 应用Struts2注解设计用户注册首页控制层Action715
20.15.7 应用Struts2注解和DWR设计公司注册控制层Action717
20.15.8 公司注册模型驱动层VO719
20.15.9 应用DWR.Dojo.Spring.Struts2实现Ajax调用719
20.15.10 应用Struts2注解设计普通用户注册控制层Action721
20.15.11 用户注册模型驱动层VO723
20.15.12 应用DWR.Spring判断公司是否已注册的Ajax调用723
20.15.13 注册DAO层实现设计725
20.15.14 注册业务逻辑层实现设计727
20.15.15 部署层发送邮件系统的设计728
20.16 用户找回密码实现设计731
20.16.1 利用Dojo.Struts2设计找回密码表现层界面731
20.16.2 找回密码控制层动作类的设计732
20.16.3 找回密码模型驱动层VO733
20.16.4 找回密码DAO层的实现设计733
20.16.5 找回密码业务逻辑层的实现设计733
20.17 公告信息发布实现设计733
20.17.1 公告信息浏览表现层界面设计734
20.17.2 利用Ajax.Struts2和Hibernate进行显示分页738
20.17.3 分页器的设计738
20.17.4 在Struts2的Action中分页控制740
20.17.5 公告信息发布模型驱动层VO742
20.17.6 在DAO中实现分页742
20.17.7 利用Dojo的Dialog组件设计发布公告页面742
20.17.8 发布公告信息控制层动作类的设计743
20.17.9 公告信息DAO层实现设计744
20.17.10 公告信息发布逻辑控制层实现设计745
20.18 联系人通讯录的设计746
20.18.1 利用Dojo.Struts2设计联系人通讯录表现层界面747
20.18.2 利用Dojo的Dialog组件设计增加通讯录表现层界面748
20.18.3 增加联系人信息控制层动作类的设计749
20.18.4 增加联系人DAO层实现设计750
20.18.5 增加联系人逻辑控制层实现设计751
20.19 公司认证管理的设计752
20.19.1 显示公司认证信息表现层界面设计752
20.19.2 利用Dojo的Dialog组件设计增加公司认证信息表现层界面753
20.19.3 公司认证信息控制层动作类的设计754
20.19.4 公司认证模型驱动层VO755
20.19.5 增加公司认证DAO层实现设计755
20.19.6 增加公司认证逻辑控制层实现设计756
20.20 询价单管理757
20.20.1 新建询价单表现层界面设计758
20.20.2 利用Dojo的Dialog等组件设计增加询价的部件表现层界面759
20.20.3 利用DWR.Dojo组件设计指定联系人表现层界面761
20.20.4 询价单模型驱动层VO762
20.20.5 配置DWR762
20.20.6 DWR与Spring整合配置762
20.20.7 调用远程对象762
20.20.8 显示已发送的询价单表现层界面设计763
20.20.9 询价单信息控制层动作类的设计764
20.20.10 询价单DAO层实现设计768
20.20.11 询价单管理逻辑控制层实现设计770
20.21 利用Quartz定时邮件发送实现设计772
20.21.1 Quartz的应用772
20.21.2 Quartz包含的触发器773
20.21.3 作业任务的的调度实现774
20.22 BSP实时消息系统的设计776
20.22.1 利用DWR的反向Ajax技术实现消息系统776
20.22.2 反向Ajax的配置与实现776
20.22.3 反向Ajax调用的服务器端的发布者实现777
20.22.4 BSP消息发布与接收页面的设计778
20.23本章小结780

本目录推荐