《Java EE实用开发指南 基于Weblogic+EJB3+Struts2+Hibernate+Spring》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:高洪岩编著
  • 出 版 社:北京:化学工业出版社
  • 出版年份:2011
  • ISBN:9787122111951
  • 页数:654 页
图书介绍:本书是一本讲解如何使用EJB3 Weblogic10.3 JPA Struts2 Hibernate Spring开发Java Web应用程序的实用型图书,书中在具体讲解SSH2开发技术的同时,结合MVC模式与MyEclipse工具,演示了实际应用项目开发的全过程。

第1章 初入Struts2 1

1.1 Struts2 1

1.1.1 Struts2概述 1

1.1.2官方网站 1

1.2 Struts2——从登录开始 2

1.2.1新建Web项目 2

1.2.2添加Struts2框架支持文件 2

1.2.3新建3个JSP页面 3

1.2.4新建业务(控制)组件 4

1.2.5在XML文件中加入过滤器 5

1.2.6新建中心配置文件 6

1.2.7在配置文件中注册Action和result 6

1.2.8部署项目 8

1.2.9实例总结 9

第2章 控制层Action与配置文件strutsxml 10

2.1实现Action接口 10

2.1.1 Action接口的实现目的 10

2.1.2 Action接口的定义 10

2.1.3新建一个Action接口实例的项目 11

2.1.4 Action接口的实现类 13

2.2用ActionSupport类验证提交表单 13

2.2.1 ActionSupport类的结构 13

2.2.2 Validateable接口的作用 13

2.2.3 ValidationAware接口的作用 14

2.2.4实现ActionSupport类的实例与加入validate验证方法 15

2.3将JSp提交的表单封装为一个JavaBean 18

2.3.1属性驱动的适用场合 18

2.3.2新建一个封装URL参数的实体类 18

2.3.3新建持有实体类引用的控制层 19

2.3.4运行结果 21

2.4由Action转发到JSp页面 21

2.4.1在JSp页面中的转发操作 21

2.4.2创建转发的控制层组件 22

2.4.3更改配置文件中的result对象 22

2.4.4使用EL和Struts2的标签输出数据 23

2.4.5运行结果 23

2.4.6 result对象的种类 24

2.5由Action重定向到Action——无参数 25

2.5.1创建起始控制层Login java 25

2.5.2创建目的控制层Listjava 25

2.5.3在配置文件中配置重定向的重点 26

2.5.4创建显示列表的JSP页面 27

2.6由Action重定向到Action有参数 27

2.6.1需要重定向传递参数场合 27

2.6.2创建起始控制层Login java 28

2.6.3更改配置文件struts.xml 28

2.6.4创建目的控制层Listjava 29

2.6.5使用JSTL和EL在JSP页面中输出数据 30

2.7多模块多配置文件开发 31

2.7.1创建模块的控制层 31

2.7.2创建模块的配置文件 33

2.7.3使用include标记导入多个配置文件 34

2.7.4创建各模块使用的JSP页面 35

2.7.5运行各模块的效果 35

2.8多业务方法时的处理 36

2.8.1第一种实现方式一一通过URL叹号参数 36

2.8.2第二种实现方式——在Action标记中加入method属性 38

2.9自定义全局result 41

2.9.1创建全局result实例和控制层代码 41

2.9.2声明全局的result对象 42

2.9.3运行结果 42

2.10在Action中使用Servlet的API(紧耦版) 43

2.10.1将数据放到不同的作用域中 43

2.10.2从不同作用域中取值 44

2.11在Action中使用Servlet的API(松耦版) 45

2.11. 1创建控制层 45

2.11.2创建JSP视图 46

第3章Struts2文件的上传与下载 48

3.1使用Struts2进行单文件上传 48

3.1.1 Struts2上传功能的底层依赖 48

3.1.2新建上传文件的JSP页面 48

3.1.3设计上传文件的控制层代码 49

3.1.4 Action中File实例的命名规则 50

3.1.5设置上传文件的大小 50

3.1.6设计配置文件 51

3.1.7成功上传单个文件 51

3.2使用Struts2进行多文件上传 52

3.2.1创建上传多个文件的JSP页面 52

3.2.2设计上传的控制层代码 52

3.2.3成功上传多个文件 54

3.3使用属性驱动的形式上传文件 55

3.3.1创建上传多个文件的JSP页面 55

3.3.2设计上传文件的控制层代码 56

3.3.3新建上传文件的封装类 57

3.3.4更改JSP页面中s:file标签的name属性 58

3.3.5以属性驱动方式成功上传多个文件 59

3.4使用Struts2实现带上传进度的实例 60

3.4.1上传文件带进度的原理 60

3.4.2设计上传的JSP页面 60

3.4.3设计上传文件的控制层代码 66

3.4.4设计上传文件的工具类 67

3.4.5实现ProgressListener接口取得上传进度 68

3.4.6将上传进度类与Struts2关联 69

3.4.7替换Struts2默认的上传关联类 70

3.4.8设计提供上传进度基本信息的控制层代码 70

3.4.9设计通过Ajax调用返回上传进度信息的XML文本实现类 71

3.4.10成功上传并且显示进度 72

3.5使用Struts2实现下载文件的功能 74

3.5.1新建下载文件的JSP页面 74

3.5.2设计下载文件的控制层代码 74

3.5.3更改配置文件 76

3.5.4成功下载中文文件名的文件 76

第4章Struts2的数据校验与国际化 77

4.1前面验证实现的缺点 77

4.1.1旧版本的JSP页面代码 77

4.1.2旧版本控制层代码 77

4.1.3旧版本配置文件 78

4.1.4旧版本的运行结果 78

4.2加入新标签 80

4.2.1新版本的JSP页面 80

4.2.2新版本控制层代码 80

4.2.3新版本配置文件 82

4.2.4新版本不显示label属性值 83

4.2.5去掉label属性加入普通文本 83

4.2.6生成简洁的HTML代码 84

4.2.7显示出错信息 84

4.3显示局部出错信息 85

4.3.1在JSP页面中加入调试标签 85

4.3.2查看值栈中的数据 86

4.3.3取出出错信息并显示到JSP页面 86

4.3.4正确显示出错信息 87

4.4显示全局出错信息 87

4.4.1添加s: actionerror标签 87

4.4.2处理出错信息的Action 88

4.4.3设计配置文件 89

4.5对出错信息的参数化 90

4.5.1创建两种语言文本的资源文件 90

4.5.2使用s:text标签显示资源文件中的文本 91

4.5.3在控制层对资源文本参数化 92

4.5.4部署项目运行程序 94

4.5.5在配置文件中注册资源文件 94

第5章JSON与Stnuts2和Ajax联合使用 96

5.1 JSON概述 96

5.2用JSON创建对象 97

5.2.1创建对象的语法格式 97

5.2.2在JSP中用JSON创建一个对象 97

5.2.3运行结果 97

5.3用JSON创建字符串的限制 97

5.3.1需要转义的特殊字符 98

5.3.2在JSP中对JSON特殊字符进行转义 98

5.3.3运行结果 98

5.4用JSON创建数字类型的语法格式 99

5.4.1在JSP中用JSON创建数字类型 99

5.4.2运行结果 100

5.5用JSON创建数组对象的语法格式 100

5.5.1在JSP中用JSON创建一个数组对象 100

5.5.2运行结果 101

5.6用JSON创建嵌套的对象类型 101

5.7将对象转换为JSON字符串 102

5.7.1需要转换的场合 102

5.7.2实现转换 102

5.8将JSON字符串提交到Action并解析(POST方式) 103

5.8.1在JSP中创建JSON和Ajax对象 104

5.8.2创建接收JSON字符串的Action控制层 105

5.8.3运行结果 105

5.8.4控制台输出结果 106

5.9将JSON字符串提交到Action并解析(GET方式) 106

5.9.1在JSP中创建JSON字符串和Ajax对象 106

5.9.2创建接收JSON字符串的Action控制层 107

5.9.3运行结果 108

5.10将JSON字符串提交到Action并解析(GET和POST方式) 109

5.10.1在服务器端用GET方法解析JSON字符串 111

5.10.2在服务器端用POST方法解析JSON字符串 111

510.3运行结果 112

5.10.4控制台输出结果 112

5.11使用Ajax调用Action并生成JSON再传递到客户端(GET和POST方式) 113

5.11.1新建具有Ajax提交功能的JSP页面 113

5.11.2在Action控制层创建List对象并存储元素类型为String 116

5.11.3在Action控制层创建List对象并存储元素类型为JavaBean 117

5.11.4在Action控制层创建Map对象并存储元素类型为String 118

5.11.5在Action控制层创建Map对象并存储元素类型为JavaBean 118

5.11.6调用不同的Action 120

第6章OGNL语言的应用 121

6.1 OGNL语言概述 121

6.2 OGNL表达式的测试 121

6.2.1创建测试用Action控制层 121

6.2.2使用Java脚本输出结果 122

6.2.3运行结果 122

6.2.4 struts.valueStack对象的结构 123

6.3使用OGNL语言输出String类型 123

6.4输出ArrayList中String类型变量的实例 124

6.4.1向List存储字符串 124

6.4.2输出集合数组中的数据 124

6.4.3运行结果 125

6.5输出ArrayList中Bean类型变量的实例 125

6.5.1向List存储JavaBean类型的数据 125

6.5.2在JSP页面中输出List中Java Bean的属性值 126

6.5.3运行结果 127

6.6输出HashMap中String类型变量的实例 127

6.6.1向Map存储String类型的数据 127

6.6.2在JSP页面中输出Map中String的属性值 128

6.6.3运行结果 128

6.7输出HashMap中Bean类型变量的实例 129

6.7.1向Map存储JavaBean类型的数据 129

6.7.2在JSP页面中输出Map中JavaBean的属性值 130

6.7.3运行结果 130

第7章JQue与JSON和Ajax联合开发 131

7.1 JQue概述 131

7.2 JQue框架的Ajax功能简介 131

7.3使用JQue的Ajax功能调用远程Action(无返回结果) 132

7.4 JQue的Ajax方法结构 133

7.5使用JQue的Ajax功能调用远程Action(有返回结果) 134

7.6调用远程Action并且传递JSON格式参数(有返回值) 136

7.7返回List中存Striyng的JSON字符串 138

第8章Struts2控制标签库 141

8.1 Struts2标签库的分类 141

8.2 s:if、 s:elseif和s:else标签的应用 141

8.2.1 s:if和s:elseif标签概述 141

8.2.2创建传递城市ID的Action 142

8.2.3在JSP中使用s:if标签输出中文的城市名 143

8.2.4运行结果 143

8.3输出String[]中的内容 144

8.3.1 s:iterator标签概述 144

8.3.2在Action中向String[]数组保存数据 144

8.3.3使用s:iterator标签输出数组 145

8.3.4运行结果 146

8.4输出集合中的内容 146

8.4.1输出List中的String字符串内容 146

8.4.2输出List中JavaBean的属性内容 147

8.4.3输出Map中的String字符串内容 150

8.4.4使用s:iterator标签输出Map中JavaBean类型属性值 152

8.5输出隔行不同颜色的效果 155

8.5.1向List中添加BBS模拟数据 155

8.5.2创建BBS的实体类 156

8.5.3实现隔行变色的效果 157

8.5.4运行结果 159

8.6将多个集合对象拼成一个集合对象 159

8.6.1 s:append标签概述 159

8.6.2在Action中填充List集合对象 160

8.6.3新建实体类 161

8.6.4合并集合对象 162

8.6.5集合合并后的效果 163

8.7将多个集合对象拼成一个集合对象 164

8.7.1 smerge标签概述 164

8.7.2在Action中填充List集合对象 164

8.7.3新建实体类 165

8.7.4使用smerge标签合并集合对象 166

8.7.5运行结果 167

8.8取集合中的部分元素为子集合 168

8.8.1 s:subset标签概述 168

8.8.2在Action中对List集合对象进行数据填充 168

8.8.3创建填充进集合对象中的实体类 169

8.8.4对集合取子集 169

8.8.5运行结果 170

8.9按自定义的条件取集合中的匹配元素为子集合 171

8.9.1在Action中对List进行数据填充 171

8.9.2创建List中填充的实体类 172

8.9.3自定义取子集过滤的条件类 172

8.9.4对集合对象List取子集 173

8.9.5运行结果 173

8.10按集合中的个人体重进行排序 174

8.10.1 s:sort标签概述 174

8.10.2在Action中创建并填充要排序的List集合对象 174

8.10.3创建List集合对象中的实体类 175

8.10.4创建排序策略实现Comparator接口的工具类 175

8.10.5对集合对象List进行排序 176

8.10.6运行结果 176

8.11分割字符串 177

8.11.1 s:generator标签概述 177

8.11.2在Action中声明并初始化要分隔的字符串变量 177

8.11.3使用s:generator标签对字符串String进行分隔 178

8.11.4运行结果 178

第9章Struts2数据标签库 179

9.1在JSP页面访问Action类中数据 179

9.1.1 s:action标签概述 179

9.1.2创建Action控制层 179

9.1.3在JSP页面中使用s:action标签 180

9.1.4返回结果的JSP页面 180

9.1.5运行结果 181

9.2输出转义的HTML格式 181

9.2.1 s:property标签概述 181

9.2.2将要转义输出的String数据封装到Action中 182

9.2.3在JSp页面中对HTML字符串进行输出 182

9.2.4运行结果 183

9.3在JSp页面中实例化一个JavaBean 183

9.3.1 s:bean和s:param标签概述 183

9.3.2创建工具实体类 184

9.3.3使用s:bean标签创建一个类 184

9.3.4运行结果 185

9.4 s:param标签的3种赋值方法 185

9.4.1带参数的Action 185

9.4.2对s:bean标签创建的类使用s:param标签传递参数 186

9.4.3运行结果 186

9.5输出日期和时间 187

9.5.1 s:date标签概述 187

9.5.2创建日期工具类 187

9.5.3使用s: date标签输出并格式化日期 187

9.5.4运行结果 188

9.6查看值栈或上下文中的信息 188

9.6.1创建测试用Action控制层 188

9.6.2在JSp页面中加入s:debug标签 189

9.6.3查看valueStack值栈中的数据 190

9.7导入JSP文件或Servlet资源 190

9.7.1 s:include标签概述 190

9.7.2导入JSP文件 190

9.7.3创建导入的目标文件 191

9.7.4运行结果 191

9.8将数据放入作用域中 191

9.8.1 s:set标签概述 191

9.8.2使用s: set标签在JSP页面中创建变量 192

9.8.3 s:set的运行结果 192

9.9生成分页导航超链接 192

9.9.1 s:url标签概述 192

9.9.2创建测试用分页Action 193

9.9.3在JSP页面中使用s:url标签生成URL 195

9.9.4运行结果 196

9.10将数据放到值栈顶端 196

9.10.1 s:push标签概述 196

9.10.2在JSP页面中将数据压入值栈 197

9.10. 3运行结果 197

9.11实现国际化 197

9.11.1 s:il8n和s:text标签概述 197

9.11.2在JSP页面显示资源文件中的文本 198

9.11.3运行结果 198

第10章Struts2表单标签 199

10.1 s:checkbox标签的应用 199

10.1.1 s:checkbox标签概述 199

10.1.2创建取得checkbox值的Action 199

10.1.3在JSP页面中使用s:checkbox标签 200

10.1.4创建显示s: checkbox结果的JSP页面 200

10.1.5运行结果 201

10.2通过Action设置s:checkbox标签默认选中状态 201

10.2.1创建初始化s:checkbox标签的Action 201

10.2.2创建显示s: checkbox标签的JSP页面 202

10.2.3创建取得s:checkbox标签最新值的Action 202

10.2.4将最新值显示到JSP页面 203

10.2.5运行结果 204

10.3使用List静态创建s:checkboxlist标签 204

10.3.1 s:checkboxlist标签概述 204

10.3.2创建包含爱好数组String[]的Action 205

10.3.3在JSP页面中使用s:checkboxlist标签 205

10.3.4创建显示爱好的JSP页面 206

10.3.5运行结果 206

10.4使用Map静态创建s:checkboxlist标签 207

10.4.1在JSP页面中创建Map类型的对象 207

10.4.2创建显示爱好的JSP页面 208

10.4.3运行结果 208

10.5动态生成同组checkbox且默认为checked状态 209

10.5.1在Action中生成s:checkboxlist标签的条目 209

10.5.2创建爱好实体类 210

10.5.3在JSP页面中显示s:checkboxlist标签以及初始条目 211

10.5.4运行结果 212

10.6使用动态和静态方式生成s:combobox标签 212

10.6.1 s:combobox标签概述 212

10.6.2创建Action控制层 212

10.6.3创建爱好实体类 213

10.6.4生成s:combobox标签的条目 214

10.6.5运行结果 215

10.7 s:doubleselect标签的应用 215

10.7.1 s:doubleselect标签概述 215

10.7.2创建省实体类 216

10.7.3创建市实体类 217

10.7.4创建控制层Action 217

10.7.5创建接收提交结果的Action 220

10.7.6创建显示省市二级联动的JSP页面 221

10.7.7创建显示提交后省市值的JSP页面 222

10.7.8运行结果 223

10.8 s:hidden标签的应用 224

10.8.1 s:hidden标签概述 224

10.8.2创建Action控制层 224

10.8.3在JSP页面中使用s:hidden标签 225

10.8.4创建显示提交表单的Action 225

10.8.5创建显示最终结果值的JSP页面 226

10.8.6创建测试实体类 226

10.8.7运行结果 227

10.9 s:optiontransferselect标签的应用 228

10.9.1 s:optiontransferselect标签概述 228

10.9.2创建用于生成条目的Action 228

10.9.3生成双向选择表单的JSP代码 230

10.9.4表单控件所在s:form的属性 231

10.9.5运行结果 231

10.9.6提交表单的目标Action 232

10.10 s:select和s:optgroup标签的应用 234

10.10.1创建生成s: select条目的Action 234

10.10.2在JSP页面中使用s: select标签 235

10.10.3创建城市实体类 236

10.10.4运行结果 237

10.10.5生成的HTML代码 238

10.11 s:textfield、 s:password和s:textarea标签的应用 240

10.11.1 stextfield、 s:password和s:textarea标签概述 240

10.11.2创建Action 241

10.11.3创建显示标签的JSP页面 242

10.11.4运行结果 242

10.11.5创建提交后的目标Action 243

10.11.6调试提交的表单值 243

10.12静态和动态生成内容条目 244

10.12.1 s:updownselect标签概述 244

10.12.2创建生成表单条目的Action 245

10.12.3创建显示表单的JSP页面 245

10.12.4创建提交后的目标Action 246

10.12.5查看最新提交的值 247

10.12.6运行结果 247

10.13动态生成同组复选框 248

10.13.1创建实体类 248

10.13.2新建同组s:checkbox标签的Action 249

10.13.3在JSP页面中显示同组复选框 250

10.13.4创建显示结果值的Action 251

10.13.5配置文件 251

10.13.6运行结果 252

10.14设置s: select标签的默认值 252

10.14.1创建设置s: select默认值的Action 252

10.14.2获取默认值List的JSP页面 255

10.14.3运行结果 256

第11章 初入Hibernate 257

11.1 Hibeate概述 257

11.2持久层、持久化与ORM 258

11.3用MyEclipse开发第一个Hibeate实例 259

11.3.1安装Oracle llg数据库 260

11.3.2登录Oracle数据库 261

11.3.3创建表空间和数据文件 262

11.3.4创建用户及与表空间关联 264

11.3.5为用户授予权限 265

11.3.6创建数据表 268

11.3.7创建主键生成器——Oracle序列 270

11.3.8使用MyEclipse Database Explorer工具连接Oracle llg数据库 271

11.3.9创建一个支持Struts和Hibeate的Web Project 273

11.3.10对数据表进行Hibeate逆向工程 275

11.3.11逆向工程后的项目ORM结构 276

11.3.12使用Hibeate进行持久化 279

第12章Hibernate核心技能 281

12.1 Configuration概述 281

12.2 SessionFactory概述 281

12.3 Session概述 282

12.4使用Session实现CURD功能 282

12.4.1在Oracle 11 g中创建示例数据表 282

12.4.2逆向工程后的项目结构 283

12.4.3创建create.action 285

12.4.4创建read.action 286

12.4.5创建路径为update.action的Action 288

12.4.6创建delete.action 289

12.5在Hibeate中使用JNDI技术 290

12.5.1备份配置文件 290

12.5.2更改配置文件context.xml 290

12.5.3更改配置文件web.xml 291

12.5.4添加Hibeate框架配置 291

12.5.5逆向工程 292

12.5.6支持JNDI的hibeate.cfg.xml配置文件 292

12.5.7添加控制层show.action 293

12.5.8部署项目验证结果 293

12.6掌握Hibeate必备的要点 294

12.6.1 Hibeate的OID与缓存 294

12.6.2 Hibeate中的对象状态 296

12.7双向一对多在MyEclipse中的实现 296

12.7.1创建主表main 296

12.7.2创建子表sub 297

12.7.3创建主表main与从表sub的关联对象 297

12.7.4成功关联的提示 298

12.7.5逆向主从表外键关系 298

12.7.6集合set与many-to-one 299

12.7.7新建主表main的数据 300

12.7.8新建子表sub的数据 301

12.7.9删除子表sub的数据 303

12.7.10删除主表main的数据 304

12.8 Hibeate备忘知识点 306

12.9对主从表结构中的HashSet进行排序 307

12.10 Hibeate中延迟加载的调试实例 307

12.10.1主从表表结构的设计 307

12.10.2主从表表内容的填充 308

12.10.3逆向工程 308

12.10.4创建test.action 308

12.10.5 lazy属性的默认值 308

12.10.6使用Expressions面板进行辅助调试 309

12.11对Oracle中CLOB字段类型的读处理 310

第13章Hibernate的检索 312

13.1 Hibeate的检索方式 312

13.1.1创建数据库表和外联对象 312

13.12检索实例 313

13.2 HQL表别名 315

13.3对结果集进行排序 316

13.4 HQL索引参数绑定 316

13.5 HQL命名参数绑定与安全性 317

13.6 HQL方法链的应用 317

13.7 HQL中uniqueResult方法的应用 318

13.8 HQL中的where子句与查询条件 318

13.9 HQL中的迫切左外连接与调试 321

13.10 HQL中的左外连接与调试 325

13.11 HQL中的迫切左外连接/左外连接主从不匹配的情况 329

13.12 HQL中的迫切内连接与调试 330

13.13 HQL中的内连接与调试 333

13.14 HQL中的聚集函数distinct、 count、 min、 max、 sum、 avg 336

13.15 HQL中的分组查询 338

第14章Spring基础 340

14.1 Spring概述 340

14.2 Spring的架构 340

14.3 IOC概述 341

14.4 AOP概述 342

14.5 IOC容器 342

14.6一个使用传统方式保存数据功能的实例 342

14.7使用Spring的IOC方式保存数据 343

14.8 BeanFacto与AppcationContext 349

14.9 Spring的IOC容器注入类型 350

14.9.1通过IOC容器注入基本数据类型 350

14.9.2通过IOC容器注入引用数据类型 354

14.9.3通过IOC容器注入null类型 354

14.9.4通过IOC容器注入泛型List列表和数组类型 356

14.9.5通过IOC容器注入泛型Set列表和数组类型 360

14.9.6通过IOC容器注入泛型Map列表和数组类型 365

14.9.7通过IOC容器注入Properties类型 371

14.9.8通过IOC容器对构造方法进行注入 373

14.10 Spring中Bean在Singleton和Prototype的作用域 375

14.11 Spring中注入外部属性文件的属性值 377

14.12 Spring中多个配置文件的应用 380

14.13 AOP概述 382

14.13.1静态代理的实现 383

14.13.2动态代理的实现 385

14.14方法执行前增强 387

14.15 方法执行后增强 390

14.16方法前后环绕增强 391

第15章Struts2+Hibernate+Spring整合 394

15.1整合目的 394

15.2创建数据表 394

15.2.1新建Oracle数据表sshtable 394

15.2.2新建主键约束 395

15.3新建Web项目 395

15.4创建Struts2框架支持环境 396

15.4.1添加Struts2框架支持文件 396

15.4.2在web.xml文件中注册Struts2的过滤器 396

15.4.3在项目的src目录下创建配置文件struts…xml 397

15.5添加Hibeate Database Explorer数据库连接 398

15.5.1创建数据库连接对象 398

15.5.2选择目的数据库 398

15.6 添加Hibemate3.1框架支持文件 398

15.7添加Spring2.0框架支持文件 399

15.8自动创建的配置文件 400

15.9在web.xml文件中加入Spring的utf-8编码过滤器和Spring监听 400

15.10在配置文件中定义struts.obj ectFacto常量 402

15.11对Oracle 11g数据表sshtable进行Hibeate逆向工程 402

15.12了解继承自HibeateDaoSuppo类DAO 403

15.13创建All_ DAO对象 407

15.14创建Tablel_ Service对象 408

15.15 创建AllService对象 409

15.16在配置文件中配置DAO和service的关系 410

15.17新建自定义Action的父类BaseAction 411

15.18创建一个操作sshtable表数据的Action 412

15.19在配置文件中配置/base和/test路径和注释事务 413

15.20部署到WebLogic 10.3中间件容器 416

15.20.1在WebLogic 10.3中创建一个域 416

15.20.2将MyEclipse与WebLogic进行关联 418

15.20.3启动WebLogic服务并部暑项目 419

15.21执行带数据库插入的Action 421

第16章 有状态无状态SessionBean和消息驱动Bean 424

16.1 EJB3概述 424

16.1.1 Java EE体系结构 425

16.1.2容器的概念 425

16.2有状态SessionBean和无状态SessionBean 426

16.2.1 SessionBean的作用 426

16.2.2 SessionBean的种类 426

16.2.3在MyEclipse中无状态SessionBean的创建 427

16.2.4用Web方式调用本地SayHello接口 440

16.2.5无状态SessionBean类型为Local和Remote的区别 444

16.2.6 EJB组件接口无注解时的默认情况 445

16.2.7调用远程Remote类型的Stateless SessionBean无状态实验 446

16.2.8无状态SessionBean的回调函数和生命周期 451

16.2.9无状态SessionBean实例变量值保留的问题与无状态SessionBean实例池 454

16.2.10什么是有状态SessionBean 459

16.2.11在MyEclipse中有状态SessionBean的创建与有状态性实验 459

16.2.12将Remote远程无状态SessonBean共享的服务重命名 465

16.2.13使用注解声明SessionBean的第2种写法 468

16.2.14有状态SessionBean的钝化与激活 469

16.2.15 有状态SessionBean的回调函数和生命周期 470

16.2.16有状态SessionBean的@Remove回调函数的使用 476

16.2.17注入其他Local类型的EJB对象 479

16.3消息驱动JavaBean(MDB)和在Weblogic中创建消息目的 481

16.3.1创建持久性存储对象 483

16.3.2创建JMS服务器 484

16.3.3创建JMS模块 486

16.3.4在JMS模块中创建子部署 488

16.3.5在JMS模块中创建资源 489

16.3.6点到点式消息驱动JavaBean 491

16.3.7发布——订阅式消息驱动JavaBean 495

16.4在EJB 3中创建基于Web Service的业务服务 500

16.5计时器与作业调度 509

第17章 实体Bean 512

17.1实体Bean概述 512

17.2持久层、持久化与ORM 512

17.2.1在Weblogic的JNDI树中创建节点与对象 515

17.2.2在Weblogic的JNDI树中创建子节点 523

17.2.3在Weblogic的JNDI树中查找lookup节点 524

17.2.4在Weblogic的JNDI树中删除节点 525

17.3从保存1条记录开始 526

17.3.1安装Oracle 11g数据库 526

17.3.2使用Toad管理Oracle数据库 528

17.3.3用MyEclipse Database Explorer工具连接Oracle 11 g数据库 535

17.3.4用EJB项目直联数据库 538

17.3.5改成JNDI连接池的实例 543

17.4解析实体类所使用的注解 548

17.5在SQL Server 2005数据库中插入记录的实验 549

17.6在MySQL数据库中插入记录的实验 551

17.7使用table表在Oracle数据库中生成主键的实验 553

17.8用EJB3在Oracle中插入Date时间类型 556

17.9处理CLOB数据类型 558

17.10在Weblogic中实现JDBC+JNDI全局性分布式事务实验 559

17.10.1 JTA和2PC的概述 559

17.10.2全局性事务处理的案例 559

第18章J PA核心技能 570

18.1 EntityManager类的概述 570

18.1.1实体类的状态 571

18.1.2 EJB3中的事务 571

18.2 EntityManager类的方法 571

18.2.1 persist(Object)方法 574

18.2.2 merge(T)方法和find(Class﹤T>, Object)方法 575

18.2.3 remove(Object)方法 577

18.2.4 getReference(Class﹤T>, Object)方法 579

18.2.5 createNativeQueQ方法 583

18.2.6 close()和isOpen()方法 589

18.2.7 refresh(Object)方法 589

18.2.8 clear()和contains(Object)方法 592

18.2.9 createQue(String)方法 593

18.2.10 createNamedQue(String)方法 594

18.3 EntiManagerFacto对象介绍 596

18.4用Java SE客户端调用远程EJB3组件(使用逆向DAO) 597

18.5在Java SE客户端使用EntityManagerFacto实现持久化(手动配置) 600

18.6在Java SE客户端使用EntityManagerFacto实现持久化(自动配置) 603

18.7在会话Bean中生成EntityManagerFacto 608

18.8双向一对多的增删改查CURD实战 610

18.8.1基本环境设置 610

18.8.2功能的实现 616

第19章JPQL语言必备技能 625

19.1 JPQL语言介绍 625

19.2命名参数和索引式参数及实体参数式查询 625

19.2.1索引式参数查询 626

19.2.2命名式参数查询 628

19.2.3为实现主从关联实验创建数据表Sheng和Shi 628

19.2.4 Sheng表和Shi表2种关联查询的方式 629

19.3 JPQL语言支持的运算符 630

19.3.1+、一、*、/、=、>=、>、<、<=、<>、、between、like和in的使用 631

19.3.2 not取反运算符的使用 634

19.3.3 is nu为空运算符的使用 635

19.3.4 is empty主表关联的子表集合为空运算符的使用 635

19.4 order by的使用 636

19.5查询指定字段的示例 637

19.6聚合函数avg、 count、 max、 min和sum的使用 639

19.7 group by和having的使用 641

19.8 left join的使用 642

19.9 distinct去除重复记录 644

19.10JpQL语言的字符串操作函数 644

19.11用JPQL语言取得当前的日期和日期时间数据 649

19.12 JPQL语言对日期的判断 650

19.13 JPQL语言的数学函数 652

19.14 JPQL语言中的分页功能 654