《至简SSH 精通Java Web实用开发技术(Struts+Spring+Hibernate)》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:高洪岩编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121095702
  • 页数:529 页
图书介绍:本书共分15章,内容以实用为主,技术和实例相辅相成。书中首先介绍Struts的使用,让读者对视图层的结构有非常好的掌握;然后详细介绍了Hibernate的使用与配置文件的映射关系,并对双向一对多的情况进行了非常详细的介绍;最后带领读者去学习Spring的技术,对AOP和IOC的注入方式进行详细讲解。最后一章以一个SSH整合并且有增、删、改、查功能的实例结束本书的历程。

第1章 Struts简介与使用MyEclipse的配置和开发 1

1.1 关于Apache、ASF、Jakarta、Tomcat 1

1.1.1 Apache 1

1.1.2 ASF 1

1.1.3 Jakarta 1

1.1.4 Tomcat 1

1.2 Struts简介 2

1.3 什么是框架FrameWork 2

1.4 Struts与设计者 3

1.5 JSP中的两个MVC Model方法 3

1.5.1 MVC Model介绍 3

1.5.2 MVC Model 1介绍 4

1.5.3 MVC Model 2介绍 5

1.5.4 Struts中的MVC Model介绍 5

1.6 在MyEclipse中配置Struts开发环境 7

1.6.1 配置JDK环境变量要点 7

1.6.2 MyEclipse的介绍 8

1.6.3 MyEclipse的安装 9

1.6.4 Tomcat的安装 12

1.6.5 测试开发环境 14

1.6.6 MyEclipse与Tomcat集成 17

第2章 Struts的简例 21

2.1 Struts的工作流程 21

2.2 Struts的简例 23

2.2.1 添加Struts框架支持文件 23

2.2.2 添加表示层V-View 26

2.2.3 添加控制层C-Controller 33

2.2.4 添加模型层M-Model 36

2.2.5 结尾前小小的改动 39

2.2.6 struts-config.xml文件 40

2.2.7 部署项目并运行 42

第3章 实战Struts的C-Controller控制层 43

3.1 ActionServlet类的作用 43

3.1.1 process()方法的执行过程 45

3.1.2 process()方法执行过程总结 47

3.2 Action类的作用 48

3.2.1 Action的工作流程 48

3.2.2 Action中实现用户名验证的实例 48

3.2.3 ActionMessages和ActionMessage对出错信息的处理 54

3.2.4 Action,Form和Action使用解析 57

3.3 ActionForward功能介绍与在MyEclipse中的两种创建方法 57

3.3.1 ActionForward的功能 57

3.3.2 在MyEclipse中的两种创建方法 58

3.3.3 对ActionForward进行传参 59

3.3.4 局部ActionForward和全局ActionForward的区别 59

3.3.5 如何从Action转发到Action 59

3.4 ForwardAction与组件间的跳转 59

3.4.1 ForwardAction的使用情况 60

3.4.2 ForwardAction的实例 60

3.4.3 第2种创建ForwardAction的方法 64

3.5 IncludeAction复用Web组件 65

3.5.1 IncludeAction包含进JSP文件 65

3.5.2 IncludeAction包含进Servlet组件 70

3.6 DispatchAction简化控制层类的数量 78

3.7 LookupDispatchAction跨页表单的使用 83

3.8 SwitchAction模块间的切换 89

第4章 中心配置文件struts-config.xml 97

4.1 struts-contig.xml文件结构 97

4.2 配置文件中的子元素 98

4.2.1 〈data-sources/〉子元素 98

4.2.2 〈form-bean/〉子元素 98

4.2.3 〈global-forwards/〉子元素 99

4.2.4 〈action-mappings/〉子元素 99

4.2.5 〈message-resources/〉子元素 100

4.2.6 关于配置strus-config.xml文件 101

4.2.7 元素详解 102

4.2.8 attribute和name的区别 108

第5章 View视图层与ActionForm 111

5.1 ActionForm类的结构 111

5.2 ActionForm对象的作用域 112

5.3 DynaActionForm的使用 113

5.4 DynaActionForm实例 114

5.5 Action和ActionForm配置精例 120

5.5.1 完整的Action功能 120

5.5.2 仅有form的Action超链接功能 120

5.5.3 Action执行后转发 121

5.5.4 仅有JSP的Action 121

5.5.5 两个Action对应一个form 121

5.5.6 两个Action对应两个form 122

5.6 解决ActionForm中文乱码问题 122

5.7 ActionErrors封装出错信息 123

第6章 Struts-html标签库 125

6.1 HTML与Struts中html标签区别及Struts标签公共特征 125

6.2 Snippets窗口的使用 126

6.3 html:base设置相对根路径 127

6.3.1 html:base使用实例1 128

6.3.2 〈html:base〉使用实例2 129

6.3.3 〈html:base〉使用实例3——设置ref属性为site和page的区别 131

6.4 〈html:cancel〉取消提交转到另一个页面 135

6.5 html:checkbox复选框开发介绍及实例 140

6.5.1 〈html:checkbox〉复选框在Action中状态的改变 143

6.5.2 html:checkbox复选框的初始化 144

6.5.3 在Action中通过数据库的数据控制html:checkbox复选框的选中状态 147

6.5.4 6.5.3节示例的升级版 151

6.6 〈html:errors〉出错提示 156

6.6.1 显示局部错误信息 156

6.6.2 显示全局错误信息 159

6.7 〈html:file〉单文件/多文件兼容上传功能的实现 160

6.7.1 定制JSP页面 160

6.7.2 定制ActionForm类 164

6.7.3 属于控制层的Action类 166

6.7.4 查看Up_File上传功能的类代码 166

6.7.5 处理中文文件名乱码的过滤器 167

6.7.6 在Web.xml文件中配置过滤器代码 169

6.8 〈html:form〉表单的提交 171

6.9 〈html:hidden〉保密地传送数据 172

6.9.1 〈html:hidden〉的开发实例 172

6.9.2 〈html:hidden〉如何设置默认值 176

6.10 〈html:html〉定义HTML文件 178

6.11 〈html:image〉定义图像提交按钮 178

6.12 〈html:img〉在页面上显示图像 181

6.13 〈html:link〉变幻莫测的超级链接 185

6.13.1 Link type为Action的情况 185

6.13.2 Link type为forward的情况 188

6.13.3 Link type为href的情况 189

6.13.4 Link type为page的情况 190

6.13.5 参数值为动态时的超级链接的使用情况 191

6.13.6 在〈html:link〉标签中嵌入JSP脚本的探讨 193

6.13.7 带参数的超级链接的使用解决实例 193

6.13.8 给Struts中的〈html:link〉标签添加确认对话框 195

6.13.9 用〈html:link〉标签生成BBS主题列表功能 196

6.14 〈html:messages〉与〈html:errors〉的使用区别 202

6.14.1 〈html:messages〉显示全局信息的实例 202

6.14.2 〈html:messages〉显示局部信息的实例 205

6.15 〈html:multibox〉分组类型的复选框 208

6.15.1 〈html:multibox〉做一个选择爱好的实例 209

6.15.2 〈html:multibox〉初始化时在ActionForm中处理呈checked状态 211

6.15.3 〈html:multibox〉初始化时在Action中处理呈checked状态 215

6.16 〈html:select〉和〈html:option〉实现下拉和列表表单 220

6.16.1 〈html:select〉和〈html:option〉实现下拉表单 220

6.16.2 〈html:select〉和〈html:option〉实现单选列表表单 221

6.16.3 〈html:select〉和〈html:option〉实现多选列表表单 222

6.16.4 〈html:select〉和〈html:option〉标签设置下拉表单初始化值 222

6.16.5 〈html:select〉和〈html:option〉设置列表单选表单初始化值 223

6.16.6 〈html:select〉和〈html:option〉在ActionForm/Action中设置列表多选表单初始化值 223

6.16.7 如何获取〈html:select〉和〈html:option〉下拉列表单选表单值 225

6.16.8 如何获取〈html:select〉和〈html:option〉列表多选表单值 227

6.17 使用〈html:options〉动态生成〈html:select〉和〈html:option〉表单内容 228

6.17.1 从数据库的内容动态生成〈html:select〉和〈html:option〉表单内容 229

6.17.2 初始化〈html:select〉和〈html:options〉表单生成的内容 231

6.18 使用〈html:optionsCollection〉动态生成〈html:option〉表单内容 231

6.18.1 使用〈html:optionsCollection〉动态生成〈html:option〉表单内容实例 232

6.18.2 使用〈html:optionsCollection〉标签中的property属性生成下拉列表 236

6.19 〈html:password〉、〈html:text〉和〈html:textarea〉标签的使用 240

6.19.1 〈html:password〉标签的redisplay属性实例 240

6.19.2 使用style的CSS样式改变〈html:text〉标签的外观 241

6.19.3 〈html:textarea〉标签的使用 242

6.20 〈html:radio〉标签的使用 242

6.21 〈html:submit〉和〈html:reset〉标签的使用 243

第7章 Struts-Logic标签库 245

7.1 〈logic:iterate〉标签的功能 245

7.1.1 显示数组String[]中的内容 246

7.1.2 显示HashMap中的内容 246

7.1.3 显示ArrayList中的内容 248

7.2 〈logic:redirect〉重定向的标签 249

7.3 〈logic:forward〉转发的标签 249

7.4 〈logic:empty〉和〈logic:notempty〉标签的作用 249

7.5 〈logic:present〉标签的作用及其与〈logic:empty〉的区别 251

7.6 〈logic:equal〉和〈logic:notEqual〉判断等于和不等于 252

7.6.1 使用〈logic:equal〉和〈logic:notEqual〉判断变量 252

7.6.2 使用〈logic:equal〉和〈logic:notEqual〉判断bean的属性值 253

7.7 〈logic:lessEqual〉和〈logic:lessThan〉判断小于等于和小于 254

7.7.1 〈logic:lessEqual〉和〈logic:lessThan〉判断变量 255

7.7.2 〈logic:lessEqual〉和〈logic:lessThan〉判断bean的属性值 256

7.8 〈logic:greaterEqual〉和〈logic:greaterThan〉判断大于等于和大于 257

7.8.1 〈logic:greaterEqual〉和〈logic:greaterThan〉判断变量 257

7.8.2 〈logic:greaterEqual〉和〈logic:greaterThan〉判断bean的属性值 258

第8章 Struts-Bean标签库 261

8.1 Bean标签库的功能 261

8.2 〈bean:write〉标签显示Bean中的属性值 261

8.2.1 〈bean:write〉标签显示变量 261

8.2.2 〈bean:write〉标签显示bean的property属性值 262

8.2.3 〈bean:write〉标签format属性的应用 265

8.2.4 〈bean:write〉标签filter属性的应用 265

8.3 〈bean:parameter〉标签读取HTTP请求的参数 266

8.3.1 使用〈bean:parameter〉标签读取单个HTTP参数 266

8.3.2 使用〈bean:parameter〉标签读取数组型HTTP参数 267

8.4 〈bean:message〉标签显示资源文件中的文本消息 268

8.5 〈bean:define〉标签定义一个变量 272

8.5.1 〈bean:define〉标签定义一个字符串常量 273

8.5.2 使用〈bean:define〉标签复制bean 273

8.5.3 使用〈bean:define〉标签复制现有bean的属性给新的bean 273

第9章 Struts与其他 275

9.1 Struts资源文件国际化 275

9.1.1 MyEclipse保存中文资源文件 275

9.1.2 使用MyEclipse的资源文件插件jinto 275

9.2 Struts如何在URL中传递中文参数 277

9.3 在不同的资源文件中的显示信息 278

9.3.1 在不同的资源文件中显示信息的实例 278

9.3.2 优化新建资源文件目录结构 280

9.4 改变Struts的*.do扩展名 281

9.5 设置应用的默认页面 285

9.6 UR1重写技术 287

9.7 使用Struts多语言切换的情况 292

9.8 添加Struts包的操作 296

9.9 实现跨页表单的提交 298

9.10 使用Struts实现文件的下载(支持中文名称) 307

第10章 JSTL核心标签库和EL表达式的联合使用 311

10.1 JSTL+EL+Servlet的示例 311

10.2 使用EL表达式显示String类型变量的示例 320

10.3 使用EL表达式显示ArrayList存储String类型变量的示例 320

10.4 使用EL表达式显示ArrayList存储bean类类型变量的示例 321

10.5 使用JSTL中的c:out标签显示String类型变量的示例 322

10.6 使用JSTL标签显示bean中属性的示例 322

10.7 使用JSTL标签对null和″″在默认值上的区别 322

10.8 使用JSTL标签显示在线编辑器的内容(fckeditor) 323

10.9 使用JSTL标签和EL表达式通过变量显示属性的值 324

10.10 使用JSTL标签和EL表达式显示HashMap中String的值 324

10.11 使用JSTL标签和EL表达式显示HashMap中bean属性的值 325

10.12 EL表达式中的保留字 325

10.13 EL中与生存期有关的对象 326

10.14 JSTL中c:set标签body属性的使用示例 327

10.15 JSTL中c:if标签body属性的使用示例 327

10.16 JSTL中的c:choose标签的示例 327

10.17 使用JSTL中的c:forEach标签显示ArrayList中的String和bean属性的示例 328

10.18 使用JSTL中的c:forEach标签显示HashMap中的String和bean属性的示例 329

10.19 使用JSTL标签和EL表达式实现隔行显示不同颜色的效果 329

10.20 使用JSTL标签和EL表达式显示嵌套情况的数据 331

第11章 Hibernate概述 333

11.1 Hibernate概述与优势 333

11.2 持久层与持久化和ORM 334

11.3 用MyEclipse开发第一个Hibernate示例 336

11.3.1 安装MySQL数据库及GUI工具 336

11.3.2 准备MySQL的JDBC驱动程序和创建MySQL数据库 346

11.3.3 使用MyEclipse的MyEclipse Database Explorer工具连接数据库 348

11.3.4 创建一个支持Struts和Hibernate的Web project 352

11.3.5 对数据表进行Hibernate逆向工程 355

11.3.6 逆向工程后的项目ORM结构 358

11.3.7 使用Hibernate进行持久化 360

第12章 Hibernate基本技能 363

12.1 Configuration 363

12.2 SessionFactory 363

12.3 Session 364

12.4 使用Session实现CURD功能 364

12.4.1 在MySQL中创建示例数据表Hibernate_crud 364

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

12.4.3 新建create.do的Action 367

12.4.4 新建read.do的Action 369

12.4.5 新建update.do的Action 371

12.4.6 新建delete.do的Action 372

12.5 Hibernate使用JNDI技术 374

12.5.1 备份tomcat/conf路径下的配置文件 374

12.5.2 更改配置文件context.xml 374

12.5.3 更改配置文件web.xml 374

12.5.4 添加Hibernate框架配置的关键步骤 375

12.5.5 逆向工程 376

12.5.6 支持JNDI的Hibernate.cfg.xml配置文件内容 376

12.5.7 添加show.do的Action路径 377

12.5.8 部署项目验证结果 377

12.6 掌握Hibernate必备的要点 378

12.6.1 Hibernate的OID与缓存 378

12.6.2 Hibernate中的对象状态:瞬时状态、持久化状态、游离状态 380

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

12.7.1 创建主表main 381

12.7.2 创建从表sub 381

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

12.7.4 配置主表main与从表sub的关联关系 383

12.7.5 逆向主从表外键关系 383

12.7.6 set与many-to-one 385

12.7.7 新建主表main数据 386

12.7.8 新建子表sub数据 387

12.7.9 删除子表sub数据 389

12.7.10 删除主表main数据 391

12.8 Hibernate备忘知识点 393

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

12.10 Hiberate中延迟加载的调试实验 395

12.10.1 主从表表结构的设计 395

12.10.2 填充主从表记录内容 396

12.10.3 逆向工程 396

12.10.4 新建test.do路径的Action并设计程序代码 396

12.10.5 需要注意的lazy属性的默认值 397

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

第13章 Hibernate的检索 401

13.1 HQL表别名 404

13.2 HQL对结果集进行排序 404

13.3 HQL索引参数的绑定 405

13.4 HQL的命名参数绑定与安全性 405

13.5 HQL方法链的使用 406

13.6 HQL中的uniqueResult方法的使用 406

13.7 HQL中的where子句与查询条件 407

13.8 HQL中的迫切左外连接与调试 410

13.9 HQL中的左连接与调试 416

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

13.11 HQL中的迫切内连接与调试 422

13.12 HQL中的内连接与调试 427

13.13 HQL中的聚集函数:distinct count min max sum avg 432

13.14 HQL中的分组查询 434

第14章 Spring基础 437

14.1 Spring的介绍 437

14.2 Spring的架构 437

14.3 IOC的介绍 438

14.4 AOP的介绍 439

14.5 IOC容器 439

14.6 使用传统方式保存数据功能的测试 439

14.7 使用Spring的IOC方式保存数据功能的测试 441

14.8 BeanFactory与ApplicationContext 448

14.9 Spring的IOC容器的注入类型 448

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

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

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

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

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

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

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

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

14.10 Spring中的Bean在singleton和prototype中的作用域 476

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

14.12 在Spring中多个applicationContext.xml配置文件的使用 482

14.13 AOP的概念与介绍 485

14.13.1 静态代理的实现 485

14.13.2 动态代理的实现 487

14.14 MethodBeforeAdvice方法执行前增强 489

14.15 AfterReturningAdvice方法执行后增强 493

14.16 MethodInterceptor方法执行前、后围绕增强 495

第15章 Struts+Hibernate+Spring整合与增、删、改、查CURD操作 499

15.1 目的 499

15.2 新建MySQL数据库ssh_test 499

15.3 新建Web项目ssh_test 500

15.4 添加Struts1.3框架支持文件 500

15.5 添加Hibernate Database Explorer数据库连接 501

15.6 添加Hibernate 3.1框架支持文件 502

15.7 添加Spring 2.0框架支持文件 503

15.8 自动创建的applicationContext.xml文件 504

15.9 在web.xml文件中加入Spring的utf-8过滤器 505

15.10 在struts-config.xml文件中加入spring的request代理 506

15.11 对MySQL数据库中的table 1表进行Hibernate逆向工程 508

15.12 了解继承自HibernateDaoSupport类DAO 509

15.13 创建All_DAO对象 513

15.14 创建Table1_Service服务对象 515

15.15 创建All_Service服务对象 515

15.16 在applicationContext.xml文件中配置dao和service的关系 516

15.17 新建自定义Action的父类base 517

15.18 新建一个添加table_1表数据的Action、Form和JSP 518

15.19 在applicationContext.xml中配置base和/create_table1路径和注释事务 521

15.20 部署项目执行测试 523

15.21 新建修改update_table1的Action 523

15.22 新建查询read_table1的Action 526

15.23 新建扩展DAO类Ext_DAO 527