图书介绍

轻量级Java EE企业应用实战 Struts 2+Spring 5+Hiberna 第5版PDF|Epub|txt|kindle电子书版本网盘下载

轻量级Java EE企业应用实战 Struts 2+Spring 5+Hiberna 第5版
  • 李刚编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121337161
  • 出版时间:2018
  • 标注页数:824页
  • 文件大小:165MB
  • 文件页数:843页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

轻量级Java EE企业应用实战 Struts 2+Spring 5+Hiberna 第5版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

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

1.1 Java EE应用概述2

1.1.1 Java EE应用的分层模型2

1.1.2 Java EE应用的组件3

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

1.1.4常用的Java EE服务器4

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

1.2.1 JSP、 Servlet 3.x和JavaBean及替代技术5

1.2.2 Struts 2.5及替代技术5

1.2.3 Hibermate 5.2及替代技术6

1.2.4 Spring 5.0及替代技术6

1.3 Tomcat的下载和安装7

1.3.1安装Tomcat服务器8

1.3.2配置Tomcat的服务端口9

1.3.3进入控制台9

1.3.4部署Web应用12

1.3.5配置Tomcat的数据源12

1.4 Eclipse的安装和使用14

1.4.1 Eclipse的下载和安装14

1.4.2在线安装Eclipse插件15

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

1.4.4手动安装Eclipse插件17

1.4.5使用Eclipse开发Java EE应用17

1.4.6导入Eclipse项目20

1.4.7导入非 Eclipse项目21

1.5 Ant的安装和使用22

1.5.1 Ant的下载和安装23

1.5.2使用Ant工具23

1.5.3定义生成文件25

1.5.4 Ant的任务(task)29

1.6 Maven的安装和使用31

1.6.1下载和安装Maven31

1.6.2设置Maven32

1.6.3创建、构建简单的项目33

1.6.4 Maven的核心概念36

1.6.5依赖管理41

1.6.6 POM文件的元素43

1.7使用SVN进行协作开发44

1.7.1下载和安装SVN服务器45

1.7.2配置SVN资源库45

1.7.3下载和安装SVN客户端47

1.7.4将项目发布到服务器47

1.7.5从服务器下载项目48

1.7.6提交(Commit)修改48

1.7.7同步(Update)本地文件48

1.7.8添加文件和目录49

1.7.9删除文件和目录50

1.7.10查看文件或目录的版本变革50

1.7.11从以前版本重新开始50

1.7.12创建分支51

1.7.13沿着分支开发51

1.7.14合并分支52

1.7.15 使用Eclipse作为SVN客户端52

1.8使用Git进行软件配置管理(SCM)55

1.8.1下载和安装Git、 TortoiseGit56

1.8.2创建本地资源库58

1.8.3添加(Add)文件和目录59

1.8.4提交(Commit)修改60

1.8.5查看文件或目录的版本变更61

1.8.6删除文件和目录62

1.8.7从以前版本重新开始62

1.8.8克隆(Clone)项目63

1.8.9创建分支64

1.8.10沿着分支开发64

1.8.11合并分支65

1.8.12使用Eclipse作为Git客户端65

1.8.13配置远程中央资源库67

1.8.14推送(Push)项目69

1.8.15获取(Fetch)项目和拉取(Pull)项目70

1.9本章小结72

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

2.1 Web应用和web.xml文件74

2.1.1构建Web应用74

2.1.2配置描述符web.xml75

2.2 JSP的基本原理76

2.3 JSP的4种基本语法80

2.3.1 JSP注释80

2.3.2 JSP声明81

2.3.3 JSP输出表达式82

2.3.4 JSP小脚本83

2.4 JSP的3个编译指令85

2.4.1 page指令85

2.4.2 include指令89

2.5 JSP的7个动作指令90

2.5.1 forward指令90

2.5.2 include指令92

2.5.3 useBean、 setProper、 getProper指令93

2.5.4 plugin指令96

2.5.5 param指令96

2.6 JSP脚本中的9个内置对象96

2.6.1 application对象98

2.6.2 confiig对象103

2.6.3 exception对象105

2.6.4 out对象107

2.6.5 pageContext对象108

2.6.6 request对象109

2.6.7 response对象116

2.6.8 session对象120

2.7 Servlet介绍122

2.7.1 Servlet的开发122

2.7.2 Servlet的配置124

2.7.3 JSP/Servlet的生命周期125

2.7.4 load.on.startup Servlet126

2.7.5访问Servlet的配置参数127

2.7.6使用Servlet作为控制器129

2.8 JSP 2的自定义标签133

2.8.1开发自定义标签类133

2.8.2建立TLD文件134

2.8.3使用标签库135

2.8.4带属性的标签136

2.8.5带标签体的标签139

2.8.6以页面片段作为属性的标签141

2.8.7动态属性的标签143

2.9 Filter介绍144

2.9.1创建Filter类145

2.9.2配置Filter146

2.9.3使用URL Rewrite实现网站伪静态149

2.10 Listener介绍150

2.10.1实现Listener类151

2.10.2配置Listener152

2.10.3使用ServletContextAttributeListener153

2.10.4使用ServletRequestListener和ServletRequestAttributeListener154

2.10.5使用HttpSessionListener和HttpSessionAttributeListener155

2.11 JSP 2特性160

2.11.1配置JSP属性160

2.11.2表达式语言162

2.11.3 Tag File支持170

2.12 Servlet 3新特性172

2.12.1 Servlet 3的注解172

2.12.2 Servlet 3的Web模块支持172

2.12.3 Servlet 3提供的异步处理174

2.12.4改进的Servlet API177

2.13 Servlet 3.1新增的非阻塞式IO180

2.14 Tomcat 8.5的WebSocket支持182

2.15 本章小结187

第3章 Struts 2的基本用法188

3.1 MVC思想概述189

3.1.1传统Model 1和Model 2189

3.1.2 MVC思想及其优势190

3.2 Struts 2的下载和安装191

3.2.1为Web应用增加Struts 2支持191

3.2.2在Eclipse中使用Struts 2192

3.2.3增加登录处理193

3.3 Struts 2的流程196

3.3.1 Struts 2应用的开发步骤196

3.3.2 Struts 2的运行流程197

3.4 Struts 2的常规配置198

3.4.1常量配置198

3.4.2包含其他配置文件204

3.5实现Action204

3.5.1 Action接口和ActionSupport基类206

3.5.2 Action访问Servlet API208

3.5.3 Action直接访问Servlet API210

3.5.4使用ServletActionContext访问Servlet API212

3.6配置Action212

3.6.1包和命名空间213

3.6.2 Action的基本配置216

3.6.3使用Action的动态方法调用217

3.6.4指定method属性及使用通配符219

3.6.5配置默认Action224

3.6.6配置Action的默认处理类225

3.7配置处理结果225

3.7.1理解处理结果225

3.7.2配置结果226

3.7.3 Struts 2支持的结果类型227

3.7.4 plainText结果类型229

3.7.5 redirect结果类型230

3.7.6 redirectAction结果类型231

3.7.7动态结果232

3.7.8 Action属性值决定物理视图资源232

3.7.9全局结果234

3.7.10使用PreResultListener235

3.8配置Struts 2的异常处理236

3.8.1 Struts 2的异常处理机制236

3.8.2声明式异常捕捉238

3.8.3输出异常信息239

3.9 Convention插件与“约定”支持240

3.9.1 Action的搜索和映射约定241

3.9.2按约定映射Result243

3.9.3 Action链的约定246

3.9.4自动重加载映射247

3.9.5 Convention插件的相关常量247

3.9.6 Convention插件相关注解248

3.10使用Struts 2的国际化248

3.10.1视图页面的国际化249

3.10.2 Action的国际化250

3.10.3使用包范围的国际化资源251

3.10.4使用全局国际化资源252

3.10.5输出带占位符的国际化消息254

3.10.6 加载资源文件的顺序256

3.11使用Struts 2的标签库256

3.11.1 Struts 2标签库概述256

3.11.2使用Struts 2标签257

3.11.3 Struts 2的OGNL表达式语言258

3.11.4 OGNL中的集合操作260

3.11.5访问静态成员261

3.11.6 Lambda (λ)表达式261

3.11.7控制标签262

3.11.8数据标签271

3.11.9主题和模板279

3.11.10自定义主题281

3.11.11表单标签282

3.11.12非表单标签294

3.12本章小结297

第4章 深入使用Struts 2298

4.1详解Struts 2的类型转换299

4.1.1 Struts 2内建的类型转换器299

4.1.2基于OGNL的类型转换300

4.1.3指定集合元素的类型302

4.1.4自定义类型转换器304

4.1.5注册类型转换器306

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

4.1.7处理Set集合308

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

4.2使用Struts 2的输入校验316

4.2.1编写校验规则文件316

4.2.2国际化提示信息319

4.2.3使用客户端校验320

4.2.4字段校验器配置风格321

4.2.5非字段校验器配置风格322

4.2.6短路校验器324

4.2.7校验文件的搜索规则325

4.2.8校验顺序和短路327

4.2.9内建校验器327

4.2.10基于注解的输入校验337

4.2.11手动完成输入校验339

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

4.3.1 Struts 2的文件上传342

4.3.2实现文件上传的Action343

4.3.3配置文件上传的Action345

4.3.4手动实现文件过滤347

4.3.5拦截器实现文件过滤348

4.3.6输出错误提示349

4.3.7文件上传的常量配置350

4.4使用Struts 2控制文件下载351

4.4.1实现文件下载的Action351

4.4.2配置Action352

4.4.3下载前的授权控制352

4.5详解Struts 2的拦截器机制353

4.5.1拦截器在Struts 2中的作用354

4.5.2 Struts 2内建的拦截器354

4.5.3配置拦截器356

4.5.4使用拦截器的配置语法357

4.5.5配置默认拦截器358

4.5.6实现拦截器类360

4.5.7使用拦截器361

4.5.8拦截方法的拦截器362

4.5.9拦截器的执行顺序365

4.5.10拦截结果的监听器366

4.5.11覆盖拦截器栈里特定拦截器的参数367

4.5.12使用拦截器完成权限控制368

4.6使用Struts 2的Ajax支持370

4.6.1使用stream类型的Result实现Ajax370

4.6.2 JSON的基本知识372

4.6.3实现Action逻辑375

4.6.4 JSON插件与json类型的Result376

4.6.5实现JSP页面377

4.7本章小结378

第5章 Hibernate的基本用法380

5.1 ORM和Hibernate381

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

5.1.2基本映射方式382

5.1.3流行的ORM框架简介383

5.1.4 Hibernate概述383

5.2 Hibernate入门384

5.2.1 Hibernate下载和安装384

5.2.2 Hibernate的数据库操作385

5.2.3在Eclipse中使用Hibernate389

5.3 Hibernate的体系结构392

5.4深入Hibernate配置文件393

5.4.1创建Confiiguration对象393

5.4.2 hibernate.properties文件与hibernate.cfg.xml文件396

5.4.3 JDBC连接属性396

5.4.4数据库方言397

5.4.5 JNDI数据源的连接属性398

5.4.6 Hibernate事务属性399

5.4.7二级缓存相关属性399

5.4.8外连接抓取属性399

5.4.9其他常用的配置属性400

5.5深入理解持久化对象400

5.5.1持久化类的要求400

5.5.2持久化对象的状态401

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

5.6深入Hibernate映射405

5.6.1映射属性407

5.6.2映射主键415

5.6.3使用Hibernate的主键生成器417

5.6.4映射集合属性418

5.6.5集合属性的性能分析424

5.6.6有序集合映射426

5.6.7映射数据库对象427

5.7映射组件属性430

5.7.1组件属性为集合432

5.7.2集合属性的元素为组件433

5.7.3组件作为Map的索引434

5.7.4组件作为复合主键436

5.7.5多列作为联合主键438

5.8使用传统的映射文件439

5.8.1增加XML映射文件439

5.8.2注解,还是XML映射文件441

5.9本章小结442

第6章 深入使用Hibernate与JPA443

6.1 Hibernate的关联映射444

6.1.1单向N-1关联444

6.1.2单向1—1关联449

6.1.3单向1-N关联450

6.1.4单向N-N关联453

6.1.5双向1-N关联455

6.1.6双向N-N关联458

6.1.7双向1—1关联459

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

6.1.9基于复合主键的关联关系463

6.1.10复合主键的成员属性为关联实体464

6.1.11持久化的传播性467

6.2继承映射468

6.2.1整个类层次对应一个表的映射策略470

6.2.2连接子类的映射策略472

6.2.3每个具体类对应一个表的映射策略475

6.3批量处理策略477

6.3.1批量插入477

6.3.2 JPA与Hibernate478

6.3.3 JPA的批量插入479

6.3.4批量更新481

6.3.5 DML风格的批量更新/删除481

6.3.6 JPA的DML支持482

6.4 HQL查询和JPQL查询483

6.4.1 HQL查询483

6.4.2 JPQL查询485

6.4.3 from子句487

6.4.4关联和连接487

6.4.5查询的select子句490

6.4.6 HQL查询的聚集函数491

6.4.7多态查询491

6.4.8 HQL查询的where子句492

6.4.9表达式493

6.4.10 order by子句495

6.4.11 group by子句495

6.4.12子查询495

6.4.13命名查询496

6.5动态条件查询497

6.5.1执行DML语句501

6.5.2 select的用法502

6.5.3元组查询503

6.5.4多Root查询504

6.5.5关联和动态关联505

6.5.6分组、聚集和排序508

6.6原生SQL查询510

6.6.1标量查询510

6.6.2实体查询511

6.6.3处理关联和继承514

6.6.4命名SQL查询515

6.6.5调用存储过程517

6.6.6使用定制SQL518

6.6.7 JPA的原生SQL查询520

6.7数据过滤524

6.8事务控制526

6.8.1事务的概念527

6.8.2 Session与事务527

6.8.3上下文相关的Session529

6.9二级缓存和查询缓存530

6.9.1开启二级缓存530

6.9.2管理缓存和统计缓存533

6.9.3使用查询缓存534

6.10事件机制537

6.10.1拦截器537

6.10.2事件系统539

6.11本章小结541

第7章 Spring的基本用法542

7.1 Spring简介和Spring 5.0的变化543

7.1.1 Spring简介543

7.1.2 Spring 5.0的变化544

7.2 Spring入门544

7.2.1 Spring下载和安装544

7.2.2使用Spring管理Bean545

7.2.3在Eclipse中使用Spring548

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

7.3.1理解依赖注入552

7.3.2设值注入553

7.3.3构造注入557

7.3.4两种注入方式的对比558

7.4使用Spring容器559

7.4.1 Spring容器559

7.4.2使用ApplicationContext560

7.4.3 ApplicationContext的国际化支持562

7.4.4 ApplicationContext的事件机制563

7.4.5让Bean获取Spring容器566

7.5 Spring容器中的Bean568

7.5.1 Bean的基本定义和Bean别名568

7.5.2容器中Bean的作用域569

7.5.3配置依赖572

7.5.4设置普通属性值574

7.5.5配置合作者Bean575

7.5.6使用自动装配注入合作者Bean575

7.5.7注入嵌套Bean578

7.5.8注入集合值579

7.5.9组合属性583

7.5.10 Spring的Bean和JavaBean584

7.6 Spring提供的Java配置管理585

7.7创建Bean的3种方式588

7.7.1使用构造器创建Bean实例588

7.7.2使用静态工厂方法创建Bean589

7.7.3调用实例工厂方法创建Bean591

7.8深入理解容器中的Bean593

7.8.1抽象Bean与子Bean593

7.8.2 Bean继承与Java继承的区别595

7.8.3容器中的工厂Bean595

7.8.4获得Bean本身的id597

7.8.5强制初始化Bean598

7.9容器中Bean的生命周期598

7.9.1依赖关系注入之后的行为599

7.9.2 Bean销毁之前的行为601

7.9.3协调作用域不同步的Bean603

7.10高级依赖关系配置606

7.10.1获取其他Bean的属性值607

7.10.2获取Field值609

7.10.3获取方法返回值611

7.11基于XML Schema的简化配置方式614

7.11.1使用P:命名空间简化配置614

7.11.2使用c:命名空间简化配置615

7.11.3使用util:命名空间简化配置617

7.12 Spring提供的表达式语言(SpEL)619

7.12.1使用Expression接口进行表达式求值619

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

7.12.3 SpEL语法详述622

7.13本章小结627

第8章 深入使用Spring628

8.1两种后处理器629

8.1.1 Bean后处理器629

8.1.2 Bean后处理器的用处633

8.1.3容器后处理器633

8.1.4属性占位符配置器634

8.1.5重写占位符配置器636

8.2 Spring的“零配置”支持637

8.2.1搜索Bean类637

8.2.2指定Bean的作用域640

8.2.3使用@Resource和@Value配置依赖640

8.2.4使用@PostConstruct和@PreDestroy定制生命周期行为641

8.2.5使用@DependsOn和@Lazy改变初始化行为642

8.2.6自动装配和精确装配643

8.2.7 Spring 5新增的注解647

8.2.8使用@Required检查注入648

8.3资源访问648

8.3.1 Resource实现类649

8.3.2 ResourceLoader接口和ResourceLoaderAware接口653

8.3.3使用Resource作为属性655

8.3.4在ApplicationContext中使用资源656

8.4 Spring的AOP660

8.4.1为什么需要AOP660

8.4.2使用AspectJ实现AOP661

8.4.3 AOP的基本概念667

8.4.4 Spring的AOP支持668

8.4.5基于注解的“零配置”方式669

8.4.6 基于XML配置文件的管理方式684

8.5 Spring的缓存机制690

8.5.1启用Spring缓存690

8.5.2使用@Cacheable执行缓存693

8.5.3使用@CacheEvict清除缓存696

8.6 Spring的事务698

8.6.1 Spring支持的事务策略698

8.6.2使用XML Schema配置事务策略702

8.6.3使用@Transactional708

8.7 Spring整合Struts 2709

8.7.1启动Spring容器709

8.7.2 MVC框架与Spring整合的思考710

8.7.3让Spring管理控制器711

8.7.4使用自动装配715

8.8 Spring整合Hibernate717

8.8.1 Spring提供的DAO支持717

8.8.2管理Hibernate的SessionFactory718

8.8.3实现DAO组件的基类719

8.8.4 HibernateTemplate和HibernateDaoSupport722

8.8.5实现DAO组件725

8.8.6使用IoC容器组装各种组件725

8.8.7使用声明式事务728

8.9 Spring整合JPA729

8.9.1管理EntityManagerFactory729

8.9.2实现DAO组件基类732

8.9.3使用声明式事务734

8.10本章小结735

第9章 企业应用开发的思考和策略736

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

9.1.1可扩展性、可伸缩性737

9.1.2快捷、可控的开发738

9.1.3稳定性、高效性738

9.1.4花费最小化,利益最大化739

9.2如何面对挑战739

9.2.1使用建模工具739

9.2.2利用优秀的框架739

9.2.3选择性地扩展741

9.2.4使用代码生成器742

9.3常见设计模式精讲742

9.3.1单例模式743

9.3.2简单工厂744

9.3.3工厂方法和抽象工厂750

9.3.4代理模式753

9.3.5命令模式758

9.3.6策略模式761

9.3.7门面模式763

9.3.8桥接模式766

9.3.9观察者模式769

9.4常见的架构设计策略773

9.4.1贫血模型773

9.4.2领域对象模型776

9.4.3合并业务逻辑组件与DAO组件778

9.4.4合并业务逻辑组件和Domain Object779

9.4.5抛弃业务逻辑层780

9.5本章小结781

第10章 简单工作流系统782

10.1项目背景及系统结构783

10.1.1应用背景783

10.1.2系统功能介绍783

10.1.3相关技术介绍784

10.1.4系统结构785

10.1.5系统的功能模块785

10.2 Hibernate持久层786

10.2.1设计持久化实体786

10.2.2创建持久化实体类787

10.3实现DAO层792

10.3.1 DAO组件的定义792

10.3.2实现DAO组件795

10.3.3部署DAO层797

10.4实现Service层799

10.4.1业务逻辑组件的设计799

10.4.2实现业务逻辑组件800

10.4.3事务管理805

10.4.4部署业务逻辑组件806

10.5实现任务的自动调度806

10.5.1使用Quartz806

10.5.2在Spring中使用Quartz810

10.6实现系统Web层813

10.6.1 Struts 2和Spring的整合813

10.6.2控制器的处理顺序图814

10.6.3员工登录814

10.6.4进入打卡816

10.6.5处理打卡818

10.6.6进入申请819

10.6.7提交申请821

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

10.7本章小结824

热门推荐