轻量级Java EE企业应用(第三版)——Struts 2+Spring 3+Hibernate集成开发目录

第1章Java EE应用与开发环境1

1.1 Java EE应用概述二

Java EE应用程序II的1.1.1分层模型

Java EE应用程序的1.1.2组件3

1.1.3 Java EE应用4的结构和优点

1.1.4常用Java EE服务器4

1.2轻量级Java EE应用相关技术5

1.2.1 JSP、Servlet 3.0、JavaBean和替代技术5

1.2.2 Struts 2.2和替代技术5

1.2.3 Hibernate 3.6和替代技术6

1.2.4弹簧3.0和替代技术6

1.3 Tomcat 7的下载和安装

1.3.1安装Tomcat Server 8

1.3.2配置Tomcat的服务端口9。

1.3.3进入控制台10。

1.3.4部署Web App12

1.3.5配置Tomcat 13的数据源

1.4 Eclipse 15的安装和使用

下载并安装Eclipse 15

1.4.2在线安装Eclipse插件15

1.4.3从本地压缩包安装插件17。

1.4.4手工安装Eclipse插件17

1.4.5用Eclipse 18开发Java EE应用程序

1.4.6导入Eclipse项目21

1.4.7导入非Eclipse项目22

1.5 Ant 23的安装和使用

下载并安装1.5.1 Ant 23

1.5.2使用Ant工具24

1.5.3定义生成文件25

1.5.4蚂蚁29的任务

1.6与CVS 31协同开发

1.6.1安装CVS服务器32

1.6.2配置CVS资源库34

1.6.3安装CVS客户端35

1.6.4向服务器35发布项目

1.6.5从服务器下载项目37

1.6.6更新本地文件38

1.6.7提交修改39

1.6.8添加文件和目录39

1.6.9删除文件和目录

1 . 6 . 10查看文件版本更改41

1.6.11提取前一版本文件42的内容

1.6.12从先前版本42重新启动

1.6.13创建标签43

1.6.14创建分支43

1.6.15沿44号支路发展

1.6.16使用Eclipse作为CVS客户端44。

1.7本章摘要46

第2章JSP/Servlet及相关技术详解47

2.1 Web应用程序和web.xml文件48

2.1.1构建Web应用程序48

2.1.2配置描述符web.xml 49

2.2 JSP 50的基本原理

2.3 JSP注释54

2.4 JSP语句54

2.5输出JSP表达式56

2.6 JSP脚本56

2.7 JSP三个编译指令59

2.7.1页指令59

2.7.2包括指令63

2.8 JSP 7操作说明63

2.8.1正向指令64

2.8.2包括指令66

2.8.3 useBean,setProperty,getProperty说明67

插件说明70

参数指令70

2.9 9 9脚本中的内置对象70

2.9.1应用对象72

配置对象77

2.9.3异常对象79

2.9.4输出对象81

页面上下文对象82

2.9.6请求对象84

2.9.7响应对象91

2.9.8会话对象95

2.10 Servlet简介97

2.10.1 Servlet开发

2.10.2 Servlet配置99

2.10.3 JSP/Servlet生命周期101

2.10.4启动时加载Servlet 101

2.10.5访问Servlet 102的配置参数。

2.10.6使用Servlet作为控制器104

2.11 JSP 2自定义标签108

2.11.1开发自定义标签类109。

2.11.2创建TLD文件109。

2.11.3使用标签库110。

2.11.4属性为111的标签

2.11.5标签,标签体115

2.11.6以页面片段为属性的标签117

2.11.7动态属性标签118

2.12过滤器介绍120

2.12.1创建过滤器类120

2.12.2配置过滤器121。

2.12.3利用URL重写实现网站伪静态125。

2.13听众介绍126

2.13.1实现监听器类127

2.13.2配置监听器128

2.13.3使用ServletContextAttribute-Listener 129

2.13.4使用ServletRequestListener和ServletRequestAttributeListener 130

2.13.5使用HttpSessionListener和HTTP会话attribute listener 131。

2.14 JSP 2特性136

2.14.1配置JSP属性136

2.14.2表达语言138

2.14.3标签文件支持146。

2.15 Servlet 3.0新特性148

Servlet 3.0的2.15.1注释148

2.15.2 Servlet 3.0的Web模块支持149。

2.15.3 Servlet 3.0提供的异步处理151

2.15.4改进的Servlet API 154

2.16本章概述156

第3章Struts 2的基本用法157

3.1 MVC思想概述158

3.1.1传统型号1和型号2 158

3.1.2 MVC思想及其优越性159

3.2 Struts 2下载和安装160

3.2.1为Web应用程序添加Struts 2支持160。

3.2.2在Eclipse中使用Struts 2 161。

3.2.3添加登录处理162。

3.3 Struts 2流程165

3.3.1 Struts 2应用程序开发步骤165

3.3.2支柱2 166的工艺

3.4支柱2的一般配置167

3.4.1常量配置167

3.4.2包含其他配置文件173。

3.5实施行动174

3.5.1动作接口和ActionSupport基类175。

3.5.2操作访问Servlet API 177

3.5.3动作直接访问Servlet API 179。

3.5.4使用ServletActionContext访问Servlet API 181。

3.6配置操作182

3.6.1包和命名空间182

3.6.2动作185的基本配置

3.6.3使用动态操作方法拨打186。

3.6.4指定方法属性并使用通配符188。

3.6.5配置默认操作194。

3.6.6配置动作的默认处理类194。

3.7配置处理结果195

3.7.1了解处理结果195

3.7.2配置结果195

3.7.3 Struts 2支持结果类型197。

3.7.4明文结果类型198

3.7.5重定向结果类型200

3.7.6重定向操作结果类型201

动态结果202

3.7.8动作属性的值确定物理视图资源202。

3.7.9全球结果204

3.7.10使用预结果监听器205

3.8配置Struts 2异常处理206

3.8.1 Struts 2异常处理机制207

3.8.2声明性异常捕获208

3.8.3输出异常信息210

3.9约定插件和“约定”支持211。

3.9.1动作搜索和映射约定211

3.9.2按约定测绘成果214。

3.9.3行动链协议216

3.9.4自动重新加载映射218

3.9.5常规插件的相关常数为218。

3.9.6约定插件相关标注219

3.10使用Struts 2的国际化219

3.10.1 Struts 2加载全局资源文件219

3.10.2访问国际化消息220

3.10.3输出带有占位符222的国际化消息

3.10.4加载资源文件的方法224

3.10.5加载资源文件的顺序228

3.11使用Struts 2标记库228

3.11.1 Struts 2标记库概述228

3.11.2使用Struts 2标签229

OGNL表达式语言230 3.11.3 Struts 2

在3.11.4 OGNL中设置操作232

3.11.5访问静态成员233

3.11.6λ(?)表情234

3.11.7控制标签234

3.11.8数据标签244

3.11.9主题和模板254

3.11.10自定义主题256

3.11.11表格标签257

3.11.12非形式标签270

3.12本章概述273

第四章深入使用Struts 2 274。

4.1详细解释Struts 2的类型转换275

4.1.1支柱2内置类型转换器276

4.1.2基于OGNL 276的类型转换

4.2.3指定收集元素的类型279

4.1.4自定义类型转换器280

4.1.5注册类型转换器283

4.1.6基于Struts 2 284的自定义类型转换器

4.1.7处理设置设置285

4.1.8类型转换中的错误处理288

4.2使用Struts 2的输入验证293

4.2.1写入验证规则文件294

4.2.2国际提示信息296

4.2.3使用客户端验证298

4.2.4现场检查器300的配置风格

4.2.5非现场检查器301的配置方式

4.2.6短路检查器302

4 . 2 . 7 mcrc 304中的搜索规则

4.2.8检查顺序和短路305

4.2.9内置检查器306

4.2.10基于注释316的输入验证

4.2.11手动完成输入验证318。

4.3使用Struts 2控制文件上传322

Struts 2文件上传322

4.3.2上传文件的操作322。

4.3.3动作325由配置文件上传

4.3.4手动文件过滤326

4.3.5拦截器实现文件过滤328

输出错误提示329

4.3.7文件上传的恒定配置330

4.4使用Struts 2来控制文件下载330

4.4.1文件下载操作330

4.4.2配置操作332

4.4.3下载前的授权控制332

4.5详细解释Struts 2的拦截器机制334

4 . 5 . 1 Struts 2 334中拦截器的功能

4.5.2 Struts 2内置拦截器334

4.5.3配置拦截器336

4.5.4使用拦截器338

4.5.5配置默认拦截器338

4.5.6实现拦截器类340

4.5.7使用拦截器342

4.5.8拦截方法343的拦截器

4.5.9拦截器的执行顺序345

4.5.10截取结果的监听器347

4.5.11覆盖拦截器堆栈中特定拦截器的参数348。

4.5.12使用拦截器完成访问控制349

4.6使用Struts 2的Ajax支持351。

4.6.1实现了流类型结果的Ajax 352。

4 . 6 . 2 JSON 354基础知识

4.6.3实施动作逻辑356

4.6.4 json插件和json类型结果357

4.6.5实现JSP页面359

4.7本章概述361

第5章Hibernate 362的基本用法

5.1 ORM和Hibernate 363

5.1.1对象/关系数据库映射(ORM) 363

5.1.2基本映射模式364

5.1.3流行的ORM框架介绍365

5.1.4休眠概述366

5.2 Hibernate 366简介

下载并安装366

Hibernate 367的数据库操作

5.2.3在Eclipse中使用Hibernate 371

5.3 Hibernate架构376

5.4深入了解Hibernate的配置文件377

创建配置对象377

hibernate.properties文件和hibernate.cfg.xml文件380

5.4.3 JDBC连接属性380

5.4.4数据库方言381

5 . 4 . 5 JNDI数据源的连接属性382

5.4.6休眠事务属性382

5.4.7 L2缓存相关属性383

5.4.8外部连接抓取属性383

5.4.9其他常见配置属性383

5.5对持久对象的深入理解384

5.5.1持久性类别的要求384

5.5.2持久对象的状态385

5.5.3改变持久对象状态的方法386

5.6深度休眠映射文件389

5.6.1映射文件结构389

5.6.2映射主键392

5.6.3映射公共属性393

5.6.4映射集合属性398

5.6.5设置属性407的性能分析

5.6.6有序集映射409

5.6.7映射数据库对象411

5.7映射组件属性414

5.7.1组件属性设置为416。

5.7.2集合属性的元素是组件418。

5.7.3作为地图索引的组件420

5.7.4作为复合主键的组件422

5.7.5多列作为联合主键425

5.8使用JPA注释来标记实体426。

5.8.1增加了JPA注释支持426。

5.8.2标注?或者XML映射文件429。

5.9本章概述429

第6章Hibernate 430的深入使用

6.1 Hibernate 431的关联映射

6.1.1单向N-1关联431

6.1.2单向1-1关联436

6.1.3单向1-n关联439

6.1.4单向N-N相关443

6.1.5双向1-N关联443

6.1.6双向N-N相关448

6.1.7双向1-1关联450

6.1.8组件属性中包含的关联实体453

6.1.9基于复合主键456的关系

6.1.10复合主键的成员属性是关联实体458。

6.1.11持续传播+061

6.2继承映射462

6.2.1采用子类元素的继承映射466。

6.2.2使用结合子类元素467的继承映射

6.2.3采用union子类元素的继承映射470。

6.3 Hibernate 472的批处理

6.3.1批量插入473

6.3.2批量更新474

DML样式批量更新/删除474

6.4使用HQL查询476

6.4.1 HQL查询476

hql查询的第478条款

6.4.3关联和联系478

6 . 4 . 4 HQL查询481的选择子句

6 . 4 . 5 HQL查询的聚合功能482

多态查询483

6 . 4 . 7 hql第483条款查询

表达式484

6.4.9根据第486条的命令

6.4.10分组依据条款486

6.4.11子查询487

命名查询488

6.5条件查询488

6.5.1关联和动态关联491

6.5.2预测、汇总和分组492

6.5.3离线查询和子查询495

6.6 SQL查询496

6.6.1标量查询496

6.6.2实体查询498

6.6.3处理关联和继承500

6.6.4命名SQL查询501

6.6.5调用存储过程502

6.6.6使用自定义SQL 503

6.7数据过滤505

6.8交易控制508

6.8.1交易概念508

6.8.2会话和交易509

6.8.3上下文相关会话511

6.9二级缓存和查询缓存511

6.9.1打开二级缓存512。

6.9.2管理缓存和统计缓存515

6.9.3使用查询缓存516

6.10事件机制518

拦截器519

6.10.2事件系统221

6.11本章摘要525

第七章Spring 526的基本用法

7.1弹簧介绍及弹簧3.0 527的变化

7.1.1弹簧527简介

7.1.2弹簧的变化3.0 528

7.2 Spring 528的下载和安装

7.2.1在Java SE应用程序中使用Spring 528

7.2.2在Web应用程序中使用Spring 529

7.2.3在Eclipse中开发Spring应用程序

7.3 Spring的核心机制:依赖注入533

理解依赖注入533

7.3.2设定注射534

结构注射538

7.3.4两种注射方法的比较539

7.4使用弹簧容器539

7.4.1弹簧容器540

7.4.2使用应用程序上下文541

7.4.3应用上下文的国际化支持542

7.4.4应用上下文的事件机制544

7.4.5让豆子得到弹簧容器546。

弹簧容器中的7.5 Bean 548

7.5.1 Bean 548的基本定义

7.5.2容器中Bean的范围是551。

7.5.3配置依赖性553

7.5.4设置通用属性值555

7.5.5配置伙伴Bean 557

7.5.6注入自动装配的伙伴Bean 557

7.5.7注入嵌套Bean 560

7.5.8注射设定值561

组合属性名称565

7.5.10春豆和JavaBean 566

7.6 Java配置管理提供了7.6 Spring 3.0 567

7.7 Bean实例创建方法和依赖性配置570

7.7.1使用构造函数创建Bean实例570。

7.7.2使用静态工厂方法创建Bean 572。

7.7.3调用实例工厂方法创建Bean 575

7.8深刻理解容器中的Bean 577

7.8.1使用抽象Bean 577。

7.8.2使用子Bean 578

7 . 8 . 3 bean继承和Java继承的区别579

7.8.4容器中的工厂豆580

7.8.5获取Bean本身的id 582。

7 . 8 . 6 Bean 583的强制初始化

7.9容器中豆的生命周期583

7.9.1依赖注入后的行为584

7 . 9 . 2 bean销毁前的行为585

7.9.3协调具有非同步范围的beans

7.10对依赖配置的深刻理解591

7.10.1注入其他Bean 592的属性值

7.10.2注入其他Bean 594的字段值

7.10.3注入其他Bean的方法返回595

7.11基于XML Schema的简化配置模式36666.886666666667

7.11.1用p命名空间配置属性599。

7.11.2使用util模式600

7.12由Spring 3.0 602提供的表达式语言(Spel)

7.12.1使用表达式接口计算表达式603

7.12.2 Bean定义中的表达式语言支持604。

7.12.3 SpEL语法详细信息606

7.13本章摘要611

第八章深入使用Spring 612

8.1两种后置处理器613

8.1.1豆类后处理器613

8.1.2 Bean后处理器的用处617

8.1.3集装箱后处理器617

8.1.4属性占位符配置器619

8.1.5重写占位符配置器620

8.2 Spring的零配置支持621。

8.2.1搜索Bean类621

8.2.2指定Bean的范围624

8.2.3使用@Resource配置依赖关系625

8.2.4使用@PostConstruct和@ predestroy626自定义生命周期行为

8.2.5注释626增加了8.2.5弹簧3.0

8.2.6自动装配和精确装配627

8.3资源访问629

8.3.1资源实现类630

8.3.2资源加载器接口和资源加载器软件接口635

8.3.3使用资源作为属性638

8.3.4在应用程序上下文中使用资源639

8.4弹簧的AOP 643

为什么8.4.1需要AOP 643?

8.4.2用AspectJ实现AOP 644

AOP 649的基本概念

8.4.4弹簧支架的AOP 650。

8.4.5基于注释651的“零配置”模式

基于XML配置文件的管理模式666

8.5春季交易672

8 . 5 . 1 Spring 673支持的交易策略

8.5.2使用TransactionProxyFactoryBean 678创建事务代理

8.5.3交易配置策略8.5.3春季2。X 681

8.5.4使用@事务性685

8.6弹簧集成支柱2 686

8.6.1启动弹簧容器686

8.6.2关于MVC框架和Spring集成的思考38866 . 88888888861

8.6.3让Spring管理控制器689

8.6.4使用自动装配692

8.7 Spring集成Hibernate 695

8.7.1弹簧695提供刀支持

管理Hibernate的会话工厂696

8.7.3使用休眠模板697

8.7.4使用HibernateCallback 701

8.7.5实现DAO组件703

8.7.6使用IoC容器组装各种组件705

8.7.7使用声明性事务707

8.8弹簧集成JPA 708

管理EntityManager 709

8.8.2使用JpaTemplate 711

8.8.3使用JpaCallback 713

8.8.4用JpaDaoSupport实现DAO组件714。

8.8.5使用声明性事务714

8.9本章概述715

第九章企业应用开发的思路与策略716

9.1企业应用开发面临的挑战717

9.1.1扩展性和可伸缩性717

9.1.2快速可控开发718

9.1.3稳定高效719

9.1.4费用最小化,收益最大化719

9.2如何面对挑战719

9.2.1使用建模工具719

9.2.2使用优秀的框架720

9.2.3选择性延伸722

9.2.4使用代码生成器722

9.3通用设计模式介绍722

9.3.1单一模式723

简单工厂724

9.3.3工厂方法和抽象工厂730

代理模式733

命令模式739

9.3.6策略模式741

9.3.7立面模式743

桥接模式746

9.3.9观察者模式750

9.4通用架构设计策略753

9.4.1贫血模型753

9.4.2域对象模型756

9.4.3将业务逻辑对象与DAO对象合并758

9.4.4合并业务逻辑对象和域对象759。

9.4.5放弃业务逻辑层761

9.5本章概述762

10简单工作流系统第763章

10.1项目背景及体系结构764

10.1.1应用背景764

10.1.2系统功能介绍764

10.1.3相关技术介绍

10.1.4系统结构766

10.1.5系统766的功能模块

10.2休眠持久层767

10 . 2 . 1设计持久性实体767

10.2.2创建持久实体类768

10.2.3映射持久性实体772

10.3实现道层777。

10 . 3 . 1 DAO组件778的定义

10.3.2实现DAO组件783

10.3.3部署DAO层787

10.4服务层789的实现

10.4.1业务逻辑组件设计789

10.4.2实现业务逻辑组件789

10.4.3交易管理795

10.4.4部署业务逻辑组件795

10.5实现任务的自动调度

10.5.1使用石英797。

10.5.2春季使用石英802

10.6实现系统Web层804。

10.6.1支柱2和弹簧集成804

10.6.2控制器805的处理顺序

10.6.3员工登录806

10.6.4输入打卡808。

10.6.5加工打孔卡810

10.6.6输入申请811。

10.6.7提交申请812

10.6.8使用拦截器完成权限管理814

10.7本章摘要816