Java Web2.0开发进阶指南

 
前  言 3
目录 I
第1章  J2EE技术框架 - 24 -
本章要点 - 24 -
1.1  J2EE架构简介 - 24 -
1.1.1  J2EE的各种组件 - 25 -
1.1.2  架构概述 - 29 -
1.1.3  定向技术开发 - 29 -
1.1.4  角色分工 - 29 -
1.1.5  扩展性 - 29 -
1.2  J2EE多层模型 - 30 -
1.2.1  客户层 - 30 -
1.2.2  Web 层 - 30 -
1.2.3  业务层 - 30 -
1.2.4  持久层 - 31 -
1.3  Windows下J2EE开发环境的配置 - 31 -
1.3.1  概述 - 31 -
1.3.2  相关软件介绍 - 32 -
1.3.3  Tomcat 的基本配置 - 37 -
1.3.4  J2EE的相关部署规范 - 38 -
1.3.5  配置Tomcat中如的web.xml - 39 -
1.3.6  Tomcat体系结构 - 41 -
1.4  Eclipse 的安装和使用 - 42 -
1.4.1  Eclipse 的下载和安装 - 42 -
1.4.2  MyEclipse 的下载和安装 - 42 -
1.4.3  安装SVN插件 - 43 -
1.4.4  UI界面插件的下载与安装 - 43 -
1.4.5  MyEclipse的简单使用 - 46 -
1.5  JBuilder集成开发环境介绍 - 50 -
1.6  NetBeans集成开发环境介绍 - 50 -
1.7  本章小节 - 51 -
第2章  Java web开发过程中实用工具的使用 - 52 -
本章要点 - 52 -
2.1  Subversion简介 - 52 -
2.1.1  Subversion概述 - 52 -
2.1.2  Subversion 的功能 - 53 -
2.1.3  安装 Subversion - 53 -
2.1.4  向Subversion中导入项目 - 57 -
2.1.5  将项目导出 - 58 -
2.1.6  Subversion客户端软件下载安装 - 58 -
2.1.7  在MyEclipse中使用SVN - 59 -
2.2  WIKI-Confluence应用 - 60 -
2.2.1  WIKI-Confluence下载安装 - 61 -
2.2.2  配置Confluence - 61 -
2.3  JIRA应用 - 64 -
2.3.1  JIRA下载与安装 - 64 -
2.3.2  配置JIRA - 65 -
2.4  JasperRepor简介 - 67 -
2.4.1  下载和安装iReport和Jasperreports - 68 -
2.4.2  使用iReport设计报表 - 68 -
2.4.3  新建一个空报表 - 70 -
2.4.4  使用数据库中的数据生成报表 - 71 -
2.4.5  增加、修改与删除报表字段 - 75 -
2.4.6  字段在报表设计器中的使用 - 75 -
2.4.7  解决报表统一样式及中文字体问题 - 76 -
2.4.8  在iReport 中定义与使用参数 - 77 -
2.4.9  定义与使用变量 - 77 -
2.5  JasperReport 在程序中的应用 - 78 -
2.5.1  JSP 服务器运行环境的配置 - 78 -
2.5.2  以PDF格式输出 - 79 -
2.5.3  以HTML格式输出 - 80 -
2.6  本章总结 - 81 -
第3章  Java与XML编程 - 82 -
本章要点 - 82 -
3.1  XML介绍 - 82 -
3.2  XML基本语法规则 - 84 -
3.2.1  XML声明 - 84 -
3.2.2  XML命名规则 - 84 -
3.2.3  良构XML文档和有效XML文档 - 84 -
3.2.4  XML文档的组成 - 84 -
3.2.5  XML文档树 - 85 -
3.2.6  文档类型声明 - 86 -
3.2.7  元素声明 - 86 -
3.2.8  属性声明 - 88 -
3.2.9  实体 - 91 -
3.2.10  XML名称空间 - 92 -
3.2.11  XML相关技术名词解释 - 93 -
3.3 解析XML - 94 -
3.3.1  XML解析器 - 94 -
3.3.2  怎样使用解析 - 94 -
3.3.3  XML解析器分类 - 94 -
3.3.4  验证与非验证的XML解析器 - 95 -
3.3.5  使用非验证的XML解析器 - 95 -
3.3.6  文档对象模型(DOM) - 95 -
3.3.7  XML简单API (SAX) - 95 -
3.3.8  使用SAX和DOM - 95 -
3.4  用Java语言解析XML - 96 -
3.4.1  文档对象模型(DOM) - 96 -
3.4.2  DOM接口 - 96 -
3.4.3  常用的DOM 方法 - 96 -
3.4.4  第一个DOM 应用 - 96 -
3.4.5  XML的简单API(SAX) - 103 -
3.4.6  第一个SAX应用 - 104 -
3.4.7  解析器的高级功能 - 110 -
3.4.8  解析字符串 - 114 -
3.4.9 用Java编写XML编辑器 - 116 -
3.5  本章小结 - 123 -
第4章  JavaScript高级应用 - 124 -
4.1  JavaScript面向对象 - 124 -
4.1.1  JavaScript类的定义 - 124 -
4.1.2  prototype对象 - 125 -
4.1.3  JavaScript反射机制 - 126 -
4.1.4  反射机制在Ajax中的应用 - 126 -
4.2  JavaScript类继承 - 127 -
4.2.1  利用共享prototype实现继承 - 127 -
4.2.2  利用反射机制和prototype实现继承 - 129 -
4.3  JavaScript框架编程 - 130 -
4.3.1  框架的引用 - 130 -
4.3.2  父框架到子框架的引用 - 131 -
4.3.3  子框架到父框架的引用 - 131 -
4.3.4  兄弟框架间的引用 - 131 -
4.3.5  不同层次框架间的互相引用 - 131 -
4.3.6  对顶层框架的引用 - 131 -
4.3.7  引用其他框架内的变量和函数 - 132 -
4.4  使用cookie - 133 -
4.4.1  设置cookie - 133 -
4.4.2  获取cookie的值 - 134 -
4.4.3  设置cookie失效日期 - 135 -
4.4.4  删除cookie - 135 -
4.4.5  设置可访问cookie的路径 - 136 -
4.4.6  设置可访问cookie 的主机名 - 136 -
4.5  使用正则表达式 - 136 -
4.5.1  正则表达式概述 - 136 -
4.5.2  使用RegExp对象执行字符串模式匹配 - 138 -
4.5.3  和字符串相关的操作 - 139 -
4.6  JavaScript定时器 - 140 -
4.6.1  JavaScript时器的实现 - 140 -
4.7  异常处理 - 143 -
4.7.1  用try-catch-finally处理异常 - 143 -
4.7.2  用try-catch-finally处理异常 - 143 -
第5章  Ajax与Web2.0应用架构 - 145 -
本章要点 - 145 -
5.1  Ajax应用技术 - 145 -
5.1.1  Ajax 应用简介 - 145 -
5.1.2  Ajax的工作原理 - 145 -
5.2  Ajax开发步骤 - 146 -
5.2.1  XMLHttpRequest对象 - 146 -
5.2.2  应用JavaScript代码 - 147 -
5.2.3 获取Request对象 - 147 -
5.2.4  Ajax的基本请求/响应模型 - 149 -
5.2.5 处理响应 - 150 -
5.2.6 调用Ajax过程 - 150 -
5.3  Web 2.0和Ajax技术 - 151 -
5.3.1  Web 2.0和Ajax技术 - 151 -
5.3.2  Web 2.0的DOCTYPE声明 - 151 -
5.3.3  Web2.0的名字空间和语言编码的声明 - 152 -
5.3.4  Web 2.0对样式表的调用 - 153 -
5.3.5  Web 2.0  XHTML代码规范 - 153 -
5.3.6  设计CSS - 154 -
5.4  在请求和响应中使用XML - 156 -
5.4.1  以XML格式从网页向服务器发送请求 - 157 -
5.4.2  从服务器接收XML - 158 -
5.5  DOM 的操作和应用 - 160 -
5.6  实例解析Ajax应用 - 161 -
5.6.1  XMLHttpRequest方法简介 - 161 -
5.6.2  Java Servlet响应Ajax请求 - 161 -
5.7  本章小结 - 165 -
第6章  A4J框架 166
6.1  A4J框架的应用 166
6.1.1  A4J介绍 166
6.1.2  A4J的下载与配置 166
6.2  创建A4J应用程序 167
6.2.1  创建A4J Web应用 167
6.2.2  创建JSF页面程序 168
6.2.3  创建后台受管理Bean 169
6.2.4  配置JSF应用 169
6.2.5  部署并运行程序 171
6.3  A4J工作原理 171
6.3.1  A4J框架中的基本元素 171
6.3.2  A4J框架的工作流程 171
6.4  A4J框架组件库 172
6.4.1  a4j:ajaxListener组件 172
6.4.2  a4j:region组件 173
6.4.3  a4j:page组件 173
6.4.4  a4j:support标签 174
6.4.5  a4j:commandLink组件 175
6.4.6  a4j:commandButton组件 177
6.4.7  a4j:form组件 179
6.4.8  a4j:htmlCommandLink组件 179
6.4.9  a4j:outputPanel组件 181
6.4.10  a4j:actionparam组件 182
6.4.11  a4j:status组件 183
6.4.12  a4j:loadBundle组件 184
6.4.13  a4j:mediaOutput组件 184
6.4.14  a4j:keepAlive组件 186
6.4.15  a4j:jsFunction组件 186
6.4.16  a4j:include组件 188
6.4.17  a4j:loadScript组件 189
6.4.18  a4j:loadStyle组件 189
6.4.19  a4j:log组件 190
6.4.20  a4j:poll组件 190
6.4.21  a4j:portlet组件 191
6.4.22  a4j:push组件 191
6.4.23  a4j:repeat组件 193
6.4.24  a4j:queue组件 194
第7章  DWR框架 195
7.1  DWR框架的应用 195
7.1.1  DWR简介 195
7.1.2  下载和配置DWR 196
7.2  实例详细DWR应用过程 196
7.2.1  编辑配置web.xml文件 196
7.2.2  编辑配置dwr.xml文件 197
7.2.3  编辑Java类 197
7.2.4  测试DWR 197
7.2.5  编写jsp 198
7.3  DWR工作环境的配置 199
7.3.1  配置web.xml 199
7.3.2  配置dwr.xml 200
7.4  DWR与Servlet整合 202
7.4.1  DWR与Servlet整合配置 202
7.5  DWR与Spring整合 202
7.5.1  配置Spring Creator 202
7.6  DWR与Struts 整合 203
7.6.1  Struts creator 203
7.7  DWR与Struts 2整合 203
7.8  DWR与Hibernate 整合 204
7.9  反向Ajax 204
7.9.1  轮询 205
7.9.2  Comet(服务器推) 205
7.9.3  PiggyBack(回传) 205
7.9.4  反向Ajax的配置与实现 206
7.10  DWR中的JavaScript详解 209
7.10.1  简单的回调函数 209
7.10.2  调用元数据对象 209
7.10.3  查找回调函数 210
7.10.4  创造一个与Java对象匹配的Javascript对象 210
7.11  engine.js引擎的属性 211
7.11.1  属性的设置 211
7.12  engine.js属性的调用 212
7.12.1  批量调用 212
7.12.2  顺序调用 212
7.12.3  错误警告和超时 213
7.12.4  远程调 Hooks 213
7.12.5  远程调用选项 213
7.13  util.js工具包 214
7.13.1  $()函数 214
7.12.2  addOptions与 removeAllOptions函数 215
7.13.3  addRows与 removeAllRows函数 216
7.13.4  getText函数 217
7.13.5  getValue函数 217
7.13.6  getValues函数 217
7.13.7  onReturn函数 218
7.13.8  selectRange函数 218
7.13.9  setValue函数 218
7.13.10  setValues函数 219
7.13.11  toDescriptiveString函数 219
7.13.12  useLoadingMessage函数 219
第8章  Dojo框架 221
8.1  Dojo框架的应用 221
8.1.1  Dojo简介 221
8.1.2  常用包介绍 221
8.1.3  下载和配置Dojo 223
8.1.4  动态加载package 223
8.1.5  定制整合包 224
8.1.6  djConfig 224
8.1.7  Dojo应用示例 225
8.2  Dojo与XHR 框架 227
8.2.1  XHR框架介绍 227
8.2.2  应用 xhrGet 请求资源 227
8.2.3  应用 xhrGet 提交表单 229
8.2.4  XHR 框架中的其他方法的应用 231
8.3  Dojo的事件机制 232
8.3.1  DOM 事件模型 232
8.3.2  使用 Dojo 处理 DOM 事件 233
8.3.3  使用 Dojo 处理用户自定义事件 234
8.3.4  Dojo 的订阅/发布模式 235
8.4  Dojo 中的拖拽 237
8.4.1  Dojo 的拖动 237
8.4.2  动态实现可拖动实体 238
8.4.3  拖动柄 239
8.4.4  限制可拖动实体拖动的范围 239
8.4.5  捕获拖动中的事件 242
8.4.6  Dojo 的拖放 243
8.4.7  动态生成源容器、目标容器和可拖放实体 245
8.4.8  拖放柄 246
8.4.9  捕获拖放中的事件 247
8.5  Dojo基础Web2.0 UI组件库 248
8.5.1  表单Widget简介 249
8.5.2  开发UI组件步骤 250
8.5.3  表单Widget使用示例 250
8.5.4  ComboBox Widget的使用 255
8.5.5  Slider Widget的使用 256
8.5.6  DateTextbox与TimeTextBox的使用 259
8.5.7  CurrencyTextBox与NumberTextBox的使用 260
8.5.8  FilteringSelect的使用 261
8.5.9  MultiSelect的使用 263
8.5.10  NumberSpinner的使用 264
8.5.11  布局Widget简介 266
8.5.12  TabContainer widget 268
8.5.13  ContentPane widget 270
8.5.14  AccordionContainer widget 271
8.5.15  布局Widget综合使用示例 272
8.6  Dojo高级Web2.0 UI组件库 275
8.6.1  高级UI组件库简介 275
8.6.2  Tooltip组件 276
8.6.3  Dialog组件 277
8.6.4  TooltipDialog组件 280
8.6.5  Menu组件 281
8.6.6  TitlePane组件 282
8.6.7  Editor组件 283
8.6.8  InlineEditBox组件 285
8.6.8  ProgressBar组件 286
8.6.7  Tree组件 287
8.7  Dojo的基础对象对象和方法 292
8.7.1  匿名函数 292
8.7.2  dojo.byId 292
8.7.3  dojo.version 292
8.7.4  dojo.addOnLoad 293
8.7.5  dojo.require 293
8.8  Dojo的dojo.string对象 293
8.8.1  dojo.string.trim 293
8.8.2  dojo.string. rep 293
8.8.3  dojo.string.pad 293
8.8.4  dojo.string. substitute 293
第9章  Struts 1.x框架 294
本章要点 294
9.1  Struts概述 294
9.1.1  Struts的起源 294
9.1.2  Struts工作原理 294
9.2  Struts架构 297
9.2.1  Struts的下载和安装 297
9.2.2  Struts配置文件 297
9.2.3  ActionServlet类 299
9.2.4  ActionMapping类 299
9.2.5  Action类 299
9.2.6  ActionForm类 300
9.2.7  错误处理 300
9.3  Struts标签库 302
9.3.1  Bean Taglib 302
9.3.2  脚本变量的标记 303
9.3.3  逻辑标记 303
9.3.4  HTML标签库 307
9.3.5  转发标记 310
9.3.6  消息标记和国际化 310
8.3.7  动态改变应用软件语言界面 312
9.4  图解Struts开发 315
9.4.1  MyEclipse对Struts的支持 315
9.4.2  建立Web应用程序 316
9.4.3  建立Struts Form,Action& JSP 316
9.4.4  设定Forward标签 320
9.4.5  执行WEB应用程序 328
9.4.6  处理中文问题 330
9.4.7  应用Struts上传多个文件 333
9.5 本章小结 335
第10章  Struts 2.1框架 336
本章要点 336
10.1  Struts 2概述 336
10.1.1  Struts 2简介 336
10.1.2  Struts 2框架架构 336
10.1.3  Struts 2的配置文件 338
10.1.4  Struts 2与Struts 1的比较 343
10.2  Struts 2开发环境搭建 345
10.2.1  下载和安装Struts 2 345
10.2.2  创建Struts 2应用项目 345
10.2.3  设计动作控制类 348
10.2.4  配置Action类 349
10.2.5  设计视图 350
10.2.5  执行WEB应用程序 351
10.2.6  保存会话信息 352
10.3  深入解析Struts2配置 353
10.3.1  package配置 353
10.3.2  命名空间配置 354
10.3.3  包含配置 355
10.3.4  常量配置 355
10.4  深入解析Struts 2 Action 355
10.4.1  实现ActionSupport类 355
10.4.2  在Action中访问Servlet API 357
10.4.3  处理Action中包含多个请求 358
10.4.4  处理Action返回结果 363
10.4.5  属性驱动和模型驱动 364
10.4.6  Struts2的异常处理机制 367
10.5  通用标签 369
10.5.1  if 、elseif和else标签 369
10.5.2  迭代iterator标签 370
10.5.3  I18n(国际化操作) 372
10.4.4  include标签 372
10.5.5  param标签 373
10.5.6  set标签 373
10.5.7  text标签 373
10.5.8  url标签 374
10.5.9  property标签 374
10.5.10  bean标签 375
10.5.11  append标签 376
10.5.12  generator 标签 376
10.5.13  push标签 377
10.5.14  merge标签 377
10.5.15  sort标签 378
10.5.16  subset标签 379
10.5.17  date标签 380
10.5.18  debug标签 381
10.5.19  a标签 381
10.6  UI标签 381
10.6.1  form标签 383
10.6.2  reset标签 383
10.6.3  textarea标签 384
10.6.4  checkbox标签 384
10.6.5  radio标签 384
10.6.6  hidden标签 385
10.6.7  password标签 385
10.6.8  select标签 385
10.6.9  optgroup标签 386
10.6.10  submit标签 387
10.6.11  textfield标签 387
10.6.12  token标签 387
10.6.13  updownselect标签 388
10.6.14  optiontransferselect标签 388
10.6.15  doubleselect标签 390
10.6.16  checkboxlist标签 391
10.6.17  combobox标签 392
10.6.18  head标签 392
10.6.19  label标签 393
10.6.20  主题和模板 393
10.7  非表单标签 393
10.7.1  actionerror标签 393
10.7.2  actionmessage标签 394
10.7.3  component标签 394
10.7.4  fielderror标签 395
10.8  Strtus2对Ajax的支持 395
10.8.1  Struts 2与Dojo 396
10.8.2  Struts 2与DWR 396
10.8.3  a和submit标签 398
10.8.4  JSON的配置 400
10.8.5  autocompleter标签 404
10.8.6  bind标签 405
10.8.7  datetimepicker标签 406
10.8.8  div标签 407
10.8.9  head标签 408
10.8.10  tabbedpanel标签 408
10.8.11  tree和treenode标签 409
10.8.12  动态树实现 410
10.9  国际化 414
10.9.1  参数化国际化字符串 417
10.10  拦截器 417
9.10.1  实现原理 417
10.10.2  配置和使用拦截器 418
10.10.3  自定义拦截器 421
10.11  转换器 425
10.11.1  基本类型转换器 425
10.11.2  自定义类型转换器 426
10.11.3  局部类型转换器 426
10.11.4  全局类型转换器 426
10.11.5  局部类型转换器应用 426
10.11.6  全部类型转换器的应用 429
10.12  校验框架 432
10.12.1  编程方式实现Struts 2输入校验 432
10.12.2  应用Struts 2的校验框架 435
10.12.3  Struts 2输入校验信息国际化 437
10.13  Struts 2内置校验器 438
10.13.1  必填校验器 438
10.13.2  必填字符串校验器 439
10.13.3  整数校验器 439
10.13.4  日期校验器 440
10.13.5  表达式校验器 440
10.13.6  字段表达式校验器 441
10.13.7  邮件校验器 441
10.13.8  网址校验器 441
10.13.9  visitor校验器 442
10.13.10  转换校验器 442
10.13.11  字符串长度校验器 443
10.13.12  正则表达式校验器 443
10.13.13  非字段校验器 444
10.13.14  字段校验器 444
10.13.15  短路校验器 445
10.14 文件上传和下载 446
10.14.1  文件上传 446
10.14.2  多文件上传 450
10.14.3  文件下载 451
10.15  OGNL 452
10.15.1  OGNL的应用 453
10.15.2  OGNL与集合Collections (Maps, Lists, Sets) 453
10.15.3  Lambda 表达式 454
10.16   Struts 2对标注的支持 454
10.16.1  Action相关标注 454
10.16.2  @Result标注 456
10.17   拦截器的相关标注 460
10.17.1  @After标注 461
10.17.2  @Before标注 461
10.17.3  @BeforeResult标注 461
10.18   输入校验的相关标注 461
10.18.1  @ConversionErrorFieldValidator标注 461
10.18.2  @DateRangeFieldValidator标注 462
10.18.3  @DoubleRangeFieldValidator标注 462
10.18.4  @EmailValidator标注 463
10.18.5  @ExpressionValidator标注 463
10.18.6  @FieldExpressionValidator标注 463
10.18.7  @IntRangeFieldValidator标注 464
10.18.9  @RegexFieldValidator标注 464
10.18.10  @RequiredFieldValidator标注 465
10.18.11  @RequiredStringValidator标注 465
10.18.12  @StringLengthFieldValidator标注 465
10.18.13  @StringRegexValidator标注 466
10.18.14  @UrlValidator标注 466
10.18.15  @VisitorFieldValidator标注 466
10.18.16  @CustomValidator标注 467
10.19   类型转换的相关标注 467
10.19.1  @CustomValidator标注 468
10.19.2  @CreateIfNull标注 468
10.19.3  @Element标注 468
10.19.4  @Key标注 468
10.19.5  @KeyProperty标注 469
10.19.6  @TypeConversion标注 469
10.20   Struts 2整合JasperReports 470
10.20.1  报表类库的设置 470
10.20.2  创建视图文件 470
10.20.3  创建Action 471
10.20.4  配置Action 472
10.20.5  设计并输出报表 473
10.21    Struts 2整合JFreeChart 481
10.21.1  JFreeChart简介 481
10.21.2  JFreeChart的下载和安装 481
10.21.3  使用JFreeChart 481
第11章  Spring 2框架 486
本章要点 486
11.1  Spring简介 486
11.2  Spring 应用 487
11.2.1  Spring 的下载和安装 487
11.3  体验Spring程序 489
11.3.1  定义 Action接口 489
11.3.2  定义 Action接口实现类 489
11.3.3  Spring配置文件 490
11.3.4  测试USB功能 490
11.4  Spring Bean封装机制 492
11.4.1  Bean Wrapper 492
11.5  Spring Bean的配置与管理 493
11.5.1  Bean Factory与Bean配置 493
11.5.2  强制初始化Bean 495
11.5.3  自动装配 495
11.5.4  依赖检查 496
11.5.5  Spring容器 496
11.5.6  Web容器配置 497
11.6  依赖注入的实现类型 498
11.6.1  构造注入 498
11.6.2  设值注人 499
11.6.3  几种依赖注入模式的对比 500
11.7  Bean的继承 501
11.7.1  定义Bean继承 501
11.7.2  Spring Bean的继承与Java 中继承的区别 502
11.8  后处理器 503
11.8.1  Bean 后处理器 503
11.8.2  容器后处理器 505
11.9  本章小结 506
第12章  Hibernate 3框架 507
本章要点 507
12.1  ORM简介 507
12.1.1  ORM特性 507
12.1.2  流行的ORM 框架介绍 508
12.2  Hibernate应用 508
12.2.1  Hibernate下载与安装 509
12.2.2  Hibernate 简单应用与配置 510
12.2.3  配置Hibernate 515
12.2.4  Session管理 515
12.2.5  使用自动化工具生成PO及XML映像文件 516
12.2.6  配置Hibernate数据库连接池     Hibernate在数据库连接池的使用上是可选的,可以使用C3P0连接池,当属性文件中含有hibernate.c3p0.*的配置时,就会自动启用C3P0连接池,而在CLASSPATH中必须包括c3p0-0.9.1.jar,属性文件hibernate.properties的配置范例如清单12-10所示。 516
12.2.7  Hibernate 的关系映射 517
12.2.8  单向1-1 的关系映射 517
12.2.9  单向1-N 的关系映射 521
12.2.10  单向N-1的关系映射 524
12.2.11  N-N的关系映射 526
12.2.12  双向1-1关联 529
12.2.13  双向1-N关联 532
12.2.14  双向N-N关联 535
12.3  Hibernate基本数据查询 537
12.3.1  HQL的查询应用 537
12.3.2  HQL语句的语法 538
12.3.2  条件查询 542
12.3.3  SQL 查询 544
12.4  提升Hibernatea运行性能 545
12.4.1  获取策略 545
12.4.2  操作延迟加载的关联 546
12.4.3  调整抓取策略 547
12.4.4  单端关联代理 547
12.4.5  实例化集合和代理 549
12.4.6  使用批量抓取 549
12.4.7  使用子查询抓取 550
12.4.8  使用延迟属性抓取 550
12.5  hibernate中的缓存以及性能分析 551
12.5.1  二级缓存 552
12.5.2  缓存映射 552
12.5.3 只读缓存策略 553
12.5.4 读/写缓存策略 553
12.5.5 非严格读/写缓存策略 553
12.5.6 事务缓存策略 554
12.5.7 管理缓存 554
12.5.8 查询缓存 555
12.5.9 提升集合性能 555
12.5.10 Lists, maps 和sets用于更新效率最高 556
12.5.11 Bag和list是反向集合类中效率最高的 557
12.5.12 一次性删除 557
12.5.14 监测Hibernate工作性能 557
12.4  本章小结 559
第13章  SSH架构应用整合 560
本章要点 560
12.1  整合Struts和Spring 560
12.1.1  Spring整合Struts方法 560
12.1.2  使用 Spring的ActionSupport - 561 -
12.1.3  覆盖RequestProcessor - 562 -
12.1.4  将Struts动作管理委托给Spring - 565 -
12.1.5  拦截 Struts - 567 -
12.2  整合Hibernate和Spring - 568 -
12.2.1  Spring整合Hibernate方法 - 569 -
12.2.2  Spring对Hibernate的DAO实现 - 571 -
12.2.3  事务管理 - 574 -
12.3  实例解析Hibernate + Spring+Struts整合 - 584 -
12.3.1  创建Sturts应用类 - 585 -
12.3.2  创建Spring框架 - 586 -
12.3.3  创建实体表 - 587 -
12.3.4  创建Hibernate框架 - 588 -
11.4  Struts 2与Sping、Hibernate集成 - 593 -
11.4.1  Struts 2与Sping集成 - 593 -
11.4.2  实例解析Hibernate + Spring+Struts 2整合 - 596 -
12.4  本章小结 - 596 -
第14章  Java EE架构技术 - 598 -
本章要点 - 598 -
22.1  Java EE架构简介 - 599 -
13.1.1  Java EE架构与其他开源架构的比较 - 599 -
13.2  Windows下Java EE开发环境的配置 - 601 -
13.2.1  概述 - 601 -
13.2.2  相关软件介绍 - 601 -
13.2.3  JBoss的下载与安装 - 602 -
13.2.4  JBoss的目录结构 - 604 -
13.2.5  在JBoss中部署应用包 - 604 -
19.2.6  在JBoss中发布WEB应用组件EJB - 605 -
13.4  本章小结 - 605 -
第15章  EJB 3 - 606 -
本章要点 - 606 -
14.1  EJB 3简介 - 606 -
14.3.1 应用EJB架构的优点 - 607 -
14.3.2  EJB 3和EJB 2的区别 - 607 -
14.2  Java EE开发环境的搭建 - 608 -
14.2.1 创建一个企业应用项目 - 608 -
14.2.2 部署企业应用项目 - 613 -
14.3  会话(Session)Bean - 620 -
14.4  无状态(Stateless) Session Bean - 620 -
14.4.1  设计只存在Remote接口的无状态Session Bean - 620 -
14.4.2  设计只存在Local接口的无状态Session Bean - 624 -
14.4.3  设计存在Remote与Local接口的无状态Session Bean - 627 -
28.5  有状态(Stateful)Session Bean - 630 -
28.5.1 设计Stateful Session Bean - 630 -
14.5.2  Stateless Session Bean 与Stateful Session Bean 的区别 - 634 -
14.6  Session Bean的JNDI名称设置 - 634 -
14.6.1  改变Session Bean的JNDI名称 - 634 -
14.7  Session Bean的生命周期 - 637 -
14.7.1 Session Bean的生命周期管理 - 637 -
14.8  拦截器(Interceptor) - 641 -
14.8.1  使用拦截器 - 641 -
14.9  依赖注入(dependency injection) - 646 -
14.9.1  在EJB 3中实现依赖注入 - 646 -
14.10  定时服务(Timer Service) - 648 -
14.10.1 在EJB 3中应用定时服务 - 648 -
14.11  本章小结 - 651 -
第16章  JMS(Java Message Service) - 652 -
本章要点 - 652 -
24.1  JMS 简介 - 652 -
24.1.1  JMS基本概念 - 652 -
24.1.2  JMS基本功能 - 653 -
24.1.3  JMS消息正文格式 - 654 -
24.1.4  JMS接口定义 - 654 -
24.2  JMS消息模型 - 655 -
24.2.1  消息头(Header) - 655 -
24.2.2  属性(Properties) - 655 -
24.2.3  消息体(Body) - 656 -
24.3  消息驱动Bean (Message Driven Bean) - 656 -
24.3.1   Queue消息接口 - 657 -
24.3.2   Topic消息接口 - 664 -
24.4  本章总结 - 670 -
第17章 实体Bean - 672 -
本章要点 - 672 -
15.1  实体 Bean介绍 - 672 -
15.1.1  EJB 3 中的元数据批注 - 672 -
15.1.2  编写实体Bean - 673 -
15.1.3  Entity Bean的定义规则 - 674 -
15.1.5  Entity类主键和实体标识 - 675 -
15.2  持久化Entity Bean - 677 -
15.2.1  操作持久化Entity Bean - 677 -
15.2.2  持久化persistence.xml 配置文件 - 677 -
15.2.3  JBoss 数据源的配置 - 678 -
15.2.4  在MyEclipse中配置数据源 - 681 -
15.2.5  应用MyEclipse生成实体Bean - 682 -
15.2.6  访问实体Bean - 690 -
15.3  持久化实体管理器EntityManager - 693 -
15.3.1  保存Entity - 693 -
15.3.2  获取Entity - 693 -
15.3.3  更新Entity - 694 -
15.3.4  合并Entity - 694 -
15.3.5  删除Entity - 695 -
15.3.6  EJB 3 QL查询 - 695 -
15.3.7  Query 接口 - 695 -
15.4  关系/对象映射 - 696 -
15.4.1  单向一对一的关系映射 - 696 -
15.4.2  一对多关系映射 - 707 -
15.4.3  多对多关系映射 - 718 -
15.5  EJB 3 QL 查询 - 727 -
15.5.1  简单查询 - 727 -
15.5.2  使用参数查询 - 727 -
15.5.3  原生SQL查询 - 728 -
15.6  EJB3 QL 语句的语法 - 729 -
15.6.1  from子旬 - 729 -
15.6.2  select子句 - 729 -
15.6.3  聚集函数 - 729 -
15.6.4  多态查询 - 730 -
15.6.5  where子句 - 730 -
15.6.6  表达式 - 730 -
15.6.7  表达式的使用 - 731 -
15.6.8  关联(join) - 732 -
15.7  本章小结 - 733 -
第18章 JSF框架 - 734 -
本章要点 - 734 -
16.1  JSF介绍 - 734 -
16.1.1  JSF 体系结构 - 735 -
16.1.2  JSF 生命周期 - 735 -
16.1.3  JSF参考实现的下载与配置 - 737 -
16.2  开发第一个JSF应用程序 - 737 -
16.2.1  创建Web应用 - 738 -
16.2.2  设计用户登录JavaBean - 740 -
16.2.3  JSF的配置文件faces-config.xml - 741 -
16.2.4  设计网页程序 - 742 -
16.2.4  JSF中导航规则的定义 - 744 -
16.3  JSF表达式语言 - 746 -
16.3.1  JSF EL的定义 - 746 -
16.3.2  使用隐含变量 - 747 -
16.3.3  JSF运算表达式 - 748 -
16.4  JSF的国际化 - 749 -
16.4.1  国际化资源文件的定义 - 750 -
16.4.2  国际化资源文件的调用 - 751 -
16.5  后台(Backing) Bean - 752 -
16.5.1  管理后台Bean - 753 -
16.6  配置(Config)Bean - 753 -
16.7  Bean中的List和Map属性 - 755 -
16.8  JSF转换器 - 756 -
16.8.1  标准转换器 - 757 -
16.8.2  使用自定义转换器 - 759 -
16.9  JSF验证器 - 763 -
16.9.1 使用标准验证器 - 764 -
16.9.2 使用自定义验证器 - 764 -
16.10   ErrorMessages - 767 -
16.11   JSF事件处理模型 - 770 -
16.11.1  动作事件 - 770 -
16.11.2  即时事件 - 773 -
16.11.3  值改变事件 - 776 -
16.12  JSF标准标签库 - 778 -
16.12.1  输出标签 - 778 -
16.12.2  输入标签 - 779 -
16.12.3  命令标签 - 780 -
16.12.4  选择标签 - 781 -
16.12.4  高级标签 - 783 -
16.13  JSF FacesContext对象 - 792 -
16.13.1  获取当前实例 - 793 -
26.13.2  处理消息 - 793 -
16.13.3  处理请求事件 - 794 -
16.13.4  处理Response对象 - 794 -
16.14  JSF ExternalContext 对象 - 794 -
16.5.1  使用ExternalContext类中的对象 - 794 -
16.14.2  获取ServletContext属性 - 795 -
16.14.3  获取Session对象及其属性 - 795 -
16.14.4  获取ServletContext对象的初始参数 - 795 -
16.14.5  获取Request对象的属性 - 796 -
16.14.6  访问Request对象里的参数名和值 - 796 -
16.14.7  获取Cookie - 797 -
16.14.8  获取请求头的名和值 - 798 -
16.14.9  获取上下文路径 - 799 -
16.14.10  获取当前语言环境 - 800 -
16.14.11  获取资源路径 - 800 -
16.15  本章小结 - 801 -
第5部分 - 803 -
第19章  基于JSF+EJB3+A4J框架的员工注册系统 - 805 -
本章要点 - 805 -
18.1  创建JSF应用 - 805 -
18.1.1  创建Web及JSF应用 - 805 -
18.2  创建实体Bean - 808 -
18.2.1  创建实体表 - 808 -
18.2.2  编写Entity - 808 -
18.3  创建DAO - 810 -
18.3.1 创建DAO接口 - 810 -
18.3.2 创建EmployeeDao接口的实现会话Bean - 811 -
18.4  创建Web业务逻辑组件 - 813 -
18.4.1  EmployeeService组件 - 813 -
18.4.2  创建VO组件 - 815 -
18.4.3  创建JSF调用组件 - 817 -
18.5  JSF的配置 - 819 -
18.5.1  JSF的配置文件faces-config.xml - 819 -
18.6  设计网页程序 - 821 -
18.6.1  设计引导文件 - 821 -
18.6.2  设计主页文件 - 821 -
18.6.3  设计CSS文件 - 826 -
18.6.4  部署并运行程序 - 827 -
18.7  本章总结 - 829 -
第20章  电子产品需求信息发布系统 830
本章要点 830
19.1  系统需求说明 830
19.1.1  项目背景 830
19.1.2  需求分析 830
19.1.3  主要用例说明 831
19.2  系统架构设计 831
19.2.1  BSP系统架构说明 832
19.2.2  采用框架开发的优点 833
19.3  业务实体层设计 834
19.3.1 设计域模型 835
19.3.2  设计数据模型 835
19.3.3  创建数据库 839
19.4  数据持久层设计 839
19.4.1  应用MyEclipse生成PO 839
19.5  DAO层设计 845
19.5.1  DAO层设计 845
19.6  业务逻辑层设计 847
19.6.1  服务层设计 847
19.7  Web层设计 849
19.7.1  表现层设计 849
19.7.2  访问控制层设计 849
19.8  系统目录及模块列表设计 853
19.8.1  文件目录设计 853
19.9  BSP主页面设计 854
19.9.1  登录表现层界面设计 854
19.9.2  登录控制层动作类的设计 856
19.9.3  登录DAO层实现设计 859
19.9.4  登录业务逻辑层实现设计 860
19.9.5  登录验证码的应用 860
28.10  用户注册实现设计 863
19.10.1  用户注册表现层界面设计 864
19.10.2  用户注册控制层动作类的设计 868
19.10.3  注册DAO层实现设计 880
19.10.4  注册业务逻辑层实现设计 884
19.10.5  部署层邮件设计 885
19.11  需求信息发布实现设计 889
19.11.1  需求信息表现层界面设计 890
19.11.2  发布需求信息控制层动作类的设计 893
19.11.4  需求信息DAO层实现设计 897
19.11.5  需求信息发布逻辑控制层实现设计 899
19.12  本章总结 900
第21章  在线书店电子商务系统 901
7.14  应用DWR编写在线书店系统 901
7.14.1  项目介绍 901
7.14.2  编写DAO 901
7.11.3  测试部署 904
7.11.4  调用远程对象 904
7.11.5  实现购物车 905
7.11.6  调用远程的 Cart 方法 906
7.11.7  运行系统 907
第21章  网络在线考试系统 909

 

你可能感兴趣的:(java,web,struts,hibernate,jsf,dojo)