《Java Web从入门到精通 视频实战版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:常倬林等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111324188
  • 页数:572 页
图书介绍:本书本着由浅入深的学习层进方式,分五部分来介绍Struts、Hibernate和Spring框架。第一部分为J2EE开发必须知道的基础知识,介绍了Web应用的发展阶段、JSP、Servlet。第二部分、第三部分和第四部分分别采用了相似的行文结构,条理清楚地讲解了Struts、Hibernate和Spring三种框架所包含的组件。第五部分则通过Struts+Hibernate+Spring解决方案实现一个完整的应用实例。

第一篇Java开发Web应用 1

第1章 背景知识简介 1

1.1 Java语言简介 1

1.1.1 Java语言概述 1

1.1.2 Java语言的特性和优势 2

1.1.3 Java语言的发展现状 3

1.1.4 Java语言的发展前景 3

1.2 Web应用程序开发基本知识 4

1.2.1 Web应用程序的运行原理 4

1.2.2 Web服务器汇总 4

1.2.3开发一个Web应用程序的简单流程 5

1.3 Web应用程序开发 5

1.3.1 C/S与B/S之争 5

1.3.2动态页面语言对比 6

1.3.3.NET与J2EE之争 7

1.4小结 8

1.5常见面试题分析 8

1.6习题 8

第2章 学习JSP 9

2.1环境准备 9

2.1.1安装JDK 9

2.1.2安装Tomcat 10

2.1.3安装MyEclipse 11

2.2第一个JSP程序 12

2.2.1 JSP的工作原理 12

2.2.2 JSP目录结构 12

2.2.3解读web.xml 13

2.2.4编写第一个 JSP 14

2.2.5发布与测试 15

2.3 JSP的基本语法 16

2.3.1给JSP加注释 16

2.3.2在JSP中声明变量和函数 16

2.3.3用JSP表达式输出结果 17

2.3.4用JSP脚本实现程序逻辑 17

2.4编译指令和动作标签 18

2.4.1使用page指令 18

2.4.2用include指令插入其他JSP 19

2.4.3用taglib指令引入标签库 19

2.4.4用forward标签跳转页面 20

2.4.5动态插入文件 20

2.4.6用标签操作JavaBean 20

2.4.7其他动作标签 22

2.5 JSP的内置对象 23

2.5.1使用request对象获取请求 23

2.5.2使用response对象做应答 24

2.5.3在session对象中保存用户会话 24

2.5.4 application对象、pageContext对象和JSP的范围 25

2.5.5使用out对象输出 26

2.5.6在exception对象中处理异常 27

2.5.7 page对象和config对象 27

2.6 Servlet 27

2.6.1 Servlet简介 27

2.6.2创建Servlet 28

2.6.3过滤器 30

2.6.4监听器 31

2.7自定义JSP标签 32

2.7.1标签库简介 33

2.7.2创建标签的处理类 33

2.7.3创建标签库描述文件 34

2.7.4使用自定义标签 35

2.7.5 JSP 2.0中新增的标签定义方法 36

2.8小结 36

2.9常见面试题分析 37

2.10习题 37

第二篇 Struts2框架 39

第3章Struts2概述 39

3.1 Struts项目简介 39

3.2 Struts2的由来 39

3.3 Web世界中的MVC 40

3.3.1 MVC在Web中的发展 40

3.3.2前端控制器和页面控制器 41

3.4为什么要使用Struts2 42

3.4.1框架的意义 43

3.4.2 Struts2的优势 43

3.5小结 43

3.6常见面试题分析 43

3.7习题 44

第4章Struts2入门 45

4.1下载与安装Struts2 45

4.1.1下载Struts2 45

4.1.2发布Struts2自带的例子 46

4.2第一个Struts2程序 46

4.2.1配置web.xml 46

4.2.2编写JSP界面 47

4.2.3编写Action类 47

4.2.4在配置文件中添加映射 48

4.3发布与测试 48

4.3.1发布 48

4.3.2测试结果 48

4.3.3分析处理流程 48

4.4小结 50

4.5常见面试题分析 50

4.6习题 51

第5章Struts2的核心概念 52

5.1术语概述 52

5.2 Struts2的体系结构 52

5.3 Struts2的配置文件 53

5.3.1全局配置文件——struts.properties 54

5.3.2核心配置文件——struts.xml 56

5.3.3 struts.xml的默认实现 56

5.3.4 Velocity模板规则文件 57

5.4 struts.xml的配置 58

5.4.1 Action配置 58

5.4.2 Result配置 59

5.4.3拦截器配置 60

5.4.4包配置 61

5.4.5命名空间配置 61

5.4.6在struts.xml中定义Bean 63

5.4.7在struts.xml中使用通配符 63

5.5实现Action 63

5.5.1实现Action接口 64

5.5.2扩展ActionSupport类 64

5.5.3实现基本校验 64

5.5.4使用本地的资源文件 68

5.5.5用ActionContext与Web容器发生联系 72

5.5.6高级输入 73

5.5.7使用Model-Driven 78

5.5.8使用Property-Driven 80

5.6 Result类型介绍 82

5.6.1内置Result类型 82

5.6.2默认Result 83

5.6.3页面跳转Result 84

5.6.4创建Action链 84

5.6.5整合各种View技术 86

5.6.6自定义Result 87

5.7拦截器介绍 89

5.7.1拦截器的原理 89

5.7.2内置拦截器介绍 91

5.7.3使用内置拦截器 92

5.7.4内置拦截器栈介绍 94

5.7.5自定义拦截器 97

5.8小结 98

5.9常见面试题分析 99

5.10习题 99

第6章Struts2的View组件 100

6.1 EL简介 100

6.1.1 EL语法 100

6.1.2 EL变量 101

6.1.3自动转变类型 102

6.1.4 EL隐含对象(内置对象) 103

6.1.5 EL保留字 106

6.2使用通用标签 107

6.2.1标签语法 107

6.2.2控制标签 108

6.2.3数据标签 112

6.2.4杂项标签 116

6.3使用HTML标签 119

6.3.1模板和主题 119

6.3.2通用属性 119

6.3.3表单标签介绍 121

6.3.4非表单标签 124

6.3.5标签实例 124

6.4 OGNL介绍 130

6.4.1 OGNL概述 130

6.4.2 OGNL中的集合 131

6.5模板和主题的原理与方法 132

6.5.1模板装载 132

6.5.2选择主题 132

6.5.3 Struts2自带主题 133

6.5.4自定义主题 134

6.6在Struts中使用FreeMarker 135

6.6.1最简单的应用 135

6.6.2模板加载顺序 139

6.6.3在FTL文件中使用标签 139

6.7在Struts中使用Velocity 139

6.7.1最简单的应用 140

6.7.2变量解析 144

6.7.3配置Velocity 144

6.7.4在VM文件中使用标签 144

6.8在Struts中使用JasperReports 145

6.8.1准备JasperReports库 145

6.8.2定义值对象 145

6.8.3编写action类 147

6.8.4编写Jasper模板 148

6.8.5配置struts.xml 150

6.9小结 152

6.10常见面试题分析 152

6.11习题 153

第7章Struts2的高级应用 154

7.1类型转换 154

7.1.1为什么需要类型转换 154

7.1.2定义类型转换器 154

7.1.3内建的类型转换支持 155

7.1.4参数名称的关系 155

7.1.5空值属性处理 156

7.1.6 Collection和Map支持 156

7.1.7类型转换错误处理 160

7.2校验 161

7.2.1手动校验 161

7.2.2使用框架校验 161

7.2.3注册校验器 163

7.2.4字段校验和非字段校验 164

7.2.5校验器的短路 165

7.2.6客户端校验 166

7.2.7 AJAX校验实例 167

7.3国际化 170

7.3.1信息的来源 171

7.3.2资源包搜索顺序 171

7.3.3添加默认的资源包 171

7.3.4使用国际化信息 172

7.4处理上传文件 174

7.4.1编写文件上传页面 174

7.4.2构造处理上传的Action 175

7.4.3编写结果页面 176

7.4.4更多配置 177

7.4.5错误处理 178

7.4.6多文件上传 179

7.5防止重复提交 182

7.5.1使用<s:token>标签增加标记 182

7.5.2使用TokenInterceptor验证 183

7.5.3使用TokenSessionStoreInterceptor重新输出结果页面 185

7.6自动等待页面 186

7.7控制反转 188

7.7.1配置Spring 188

7.7.2实现接口 189

7.7.3创建Action 190

7.7.4结果页面 191

7.8用Annotation配置Struts 192

7.8.1配置Action 192

7.8.2配置拦截器 192

7.8.3配置验证器 193

7.8.4配置类型转换 195

7.9小结 197

7.10常见面试题分析 197

7.11习题 198

第8章MyEclipse中的Struts2实战 199

8.1准备开发环境 199

8.1.1创建工程 199

8.1.2引入Struts2的类库 200

8.1.3创建Struts2的配置文件 201

8.1.4目录结构 202

8.2编写代码 203

8.2.1登录界面 203

8.2.2登录Action 204

8.2.3用户CRUD操作 208

8.2.4添加校验 212

8.2.5实现国际化 214

8.2.6使用自定义拦截器 215

8.3在MyEclipse中发布 216

8.4小结 217

8.5常见面试题分析 217

8.6习题 218

第三篇 Hibernate框架 219

第9章Hibernate概述 219

9.1 JDBC简介 219

9.1.1 JDBC提供的工具接口 219

9.1.2使用JDBC访问数据库 220

9.1.3持久化层 221

9.1.4关系型数据库与面向对象的冲突 222

9.2 ORM介绍 223

9.2.1什么是ORM 223

9.2.2 ORM带来了什么 223

9.2.3流行的ORM框架简介 224

9.3 Hibernate项目简介 225

9.3.1 Hibernate的由来 225

9.3.2为什么要选择Hibernate 226

9.4小结 226

9.5常见面试题分析 227

9.6习题 227

第10章Hibernate入门 228

10.1安装MySQL数据库 228

10.1.1下载MySQL 228

10.1.2安装MySQL 228

10.1.3配置MySQL 229

10.1.4 MySQL的常用命令 230

10.1.5下载MySQL的JDBC驱动 231

10.2下载与安装Hibernate 231

10.2.1下载Hibernate 231

10.2.2安装Hibernate 232

10.3第一个Hibernate程序 232

10.3.1创建表 233

10.3.2创建持久化类 233

10.3.3编写映射文件 234

10.3.4编写Hibernate配置文件 235

10.3.5编写测试程序 236

10.3.6运行测试 237

10.4小结 237

10.5常见面试题分析 237

10.6习题 238

第11章Hibernate基础 240

11.1基本概念 240

11.1.1体系结构 240

11.1.2持久化类 241

11.1.3实例的状态 244

11.2配置Hibernate 245

11.2.1数据库连接配置 246

11.2.2全局属性配置 247

11.2.3连接池配置 247

11.2.4使用其他配置方式 248

11.3 Hibernate核心类 248

11.3.1 Configuration类 248

11.3.2 SessionFactory类 249

11.3.3 Session类 250

11.3.4 Query和Criteria类 250

11.3.5 Transaction接口 251

11.4通过Session完成基本操作 251

11.4.1保存数据 251

11.4.2加载数据 253

11.4.3更新数据 253

11.4.4 saveOrUpdate方法 254

11.4.5删除数据 254

11.4.6缓存 255

11.5小结 256

11.6常见面试题分析 256

11.7习题 257

第12章Hibernate的O/R映射 258

12.1映射定义 258

12.1.1 <hibernate-mapping>元素介绍 259

12.1.2 <class>元素介绍 259

12.1.3 <id>元素介绍 261

12.1.4 <property>元素介绍 262

12.1.5其他属性 263

12.2映射对象标识符 264

12.2.1标识符的含义 264

12.2.2内置生成器介绍 265

12.2.3 Hibernate的内置标识符生成器的用法 266

12.2.4映射自然主键 268

12.2.5复合自然主键 269

12.3 Hibernate的类型 270

12.3.1 Java基本值类型的Hibernate映射 271

12.3.2 Java时间和日期类型的Hibernate映射类型 271

12.3.3 Java大对象类型的Hibernate映射类型 271

12.3.4 JDK自带的Java类的Hibernate映射类型 272

12.3.5自定义值类型 273

12.4小结 276

12.5常见面试题分析 276

12.6习题 277

第13章 复杂映射关系 278

13.1关联关系映射 278

13.1.1多对一 278

13.1.2一对一 280

13.1.3一对多 281

13.1.4双向关联 281

13.1.5双向一对一 283

13.1.6使用连接表 283

13.1.7多对多 285

13.1.8完整实例 287

13.2集合类映射 291

13.2.1持久类中的集合类 291

13.2.2映射集合 292

13.2.3映射外键 293

13.2.4映射索引 294

13.2.5集合类排序 294

13.2.6完整的Map实例 295

13.3组件映射 298

13.3.1依赖对象 298

13.3.2在集合中出现的依赖对象 302

13.3.3组件作为联合标识符 303

13.3.4动态组件 305

13.4继承关系映射 305

13.4.1所有的类同在一张表 305

13.4.2每个子类一张表 307

13.4.3每个具体类一张表 309

13.5小结 311

13.6常见面试题分析 311

13.7习题 312

第14章用Hibernate检索数据 313

14.1查询基础 313

14.1.1执行查询 313

14.1.2用iterate()方法迭代查询结果 314

14.1.3指定绑定参数 314

14.1.4用Hibernate简单分页 315

14.1.5可滚动遍历 315

14.2 HQL语句详解 316

14.2.1 HQL基础 316

14.2.2用from子句指定数据表 317

14.2.3用select子句查询数据 318

14.2.4 HQL中的聚集函数 319

14.2.5多态查询 319

14.2.6用where子句添加查询条件 319

14.2.7查询条件中的表达式 320

14.2.8用order by子句排序 323

14.2.9用group by子句分组 323

14.2.10 HQL的子查询 324

14.2.11用fetch关键字延迟加载集合 324

14.2.12将HQL语句放入配置文件中 324

14.3条件查询 325

14.3.1添加查询条件 326

14.3.2结果集排序 327

14.3.3条件查询中的关联关系 327

14.3.4使用样例查询 328

14.3.5离线查询和子查询 329

14.4直接使用SQL 329

14.4.1使用SQL查询 329

14.4.2将SQL语句放入配置文件中 331

14.4.3调用存储过程 332

14.5数据过滤 334

14.6小结 337

14.7常见面试题分析 337

14.8习题 337

第15章Hibernate高级应用 338

15.1批量处理 338

15.1.1及时清理session缓冲区 338

15.1.2使用无状态session接口 339

15.1.3使用HQL的批量语句 340

15.2事务与并发处理 341

15.2.1事务简介 342

15.2.2使用JDBC事务 342

15.2.3使用JTA事务 344

15.2.4数据操作的异常处理 344

15.2.5使用悲观锁 345

15.2.6使用乐观锁 346

15.3延迟加载 347

15.3.1实体对象的延迟加载 347

15.3.2集合类型的延迟加载 347

15.3.3属性的延迟加载 350

15.4缓存管理 350

15.4.1什么是缓存 351

15.4.2 Hibernate自带的一级缓存 351

15.4.3二级缓存的定义 352

15.4.4常用的缓存插件 352

15.4.5如何使用二级缓存 352

15.5事件机制 357

15.5.1拦截器 357

15.5.2事件系统 361

15.6使用注释配置Hibernate 365

15.6.1在创建session工厂时指定Annotation 366

15.6.2使用注释 366

15.6.3给文件中的HQL加注释 369

15.7小结 369

15.8 常见面试题分析 369

15.9习题 370

第16章MyEclipse中的Hibernate3实战 371

16.1环境介绍 371

16.1.1数据库连接工具 371

16.1.2创建Hibernate工程 372

16.1.3生成持久化类 374

16.1.4 HQL编辑器 376

16.2代码说明 377

16.2.1配置文件 377

16.2.2 SessionFactory 378

16.2.3数据脚本 380

16.2.4持久化类和映射文件 381

16.2.5 DAO类 384

16.3测试 388

16.4小结 390

16.5常见面试题分析 390

16.6习题 390

第四篇 Spring框架 391

第17章Spring概述 391

17.1 Spring简介 391

17.1.1 Spring项目历史 391

17.1.2 Spring的由来 391

17.1.3 Spring2.5带来的新特性 392

17.2 Spring的基本概念 392

17.2.1 Spring的组成结构 393

17.2.2什么是IoC 394

17.2.3什么是AOP 395

17.3为什么要使用Spring 395

17.3.1何谓轻量级 396

17.3.2 Spring带来了什么 396

17.3.3 Spring的优势 396

17.3.4其他轻量级容器 397

17.4小结 397

17.5常见面试题分析 397

17.6习题 398

第18章Spring入门 399

18.1下载与安装Spring 399

18.1.1下载Spring 399

18.1.2安装Spring 400

18.2第一个Spring程序 401

18.2.1 IoC示例 401

18.2.2 AOP示例 403

18.3小结 406

18.4常见面试题分析 407

18.5习题 407

第19章Spring的IoC 408

19.1 Bean工厂 408

19.1.1创建Bean工厂 408

19.1.2使用多个文件 409

19.1.3获取Bean 409

19.1.4 BeanFactory的其他方法 410

19.2配置Bean 411

19.2.1 Bean的定义 411

19.2.2 Bean命名约定 411

19.2.3 Bean的别名 412

19.3依赖 412

19.3.1 setter注入 412

19.3.2构造函数注入 414

19.3.3引用其他的Bean(协作者) 415

19.3.4使用depends-on 416

19.3.5注入集合类 416

19.3.6自动装配 419

19.4 Bean的特性 422

19.4.1 Bean的作用域 422

19.4.2改变Bean的行为 422

19.4.3 Bean的生命周期 423

19.5利用ApplicationContext 425

19.5.1利用MessageSource实现国际化 425

19.5.2事件处理 426

19.5.3底层资源的访问 428

19.5.4延迟初始化Bean 429

19.5.5 ApplicationContext在Web应用中的实例化 429

19.6使用注释定义IoC (2.5新增) 430

19.6.1用例介绍 430

19.6.2使用@Autowired注释 431

19.6.3在setter方法上使用注释 432

19.6.4在构造函数中使用注释 432

19.6.5当出现多个匹配情况时的处理 433

19.6.6使用JSR-250的注释 433

19.6.7彻底摆脱配置文件 434

19.7小结 435

19.8 常见面试题分析 435

19.9习题 437

第20章Spring的AOP 438

20.1 Spring AOP简介 438

20.1.1 AOP的概念 438

20.1.2 AOP的术语 439

20.1.3 Spring的AOP有何特点 440

20.1.4 Spring AOP的功能和目标 441

20.2用@AspectJ配置AOP 441

20.2.1启用@AspectJ支持 441

20.2.2声明一个切面 442

20.2.3声明一个切入点 442

20.2.4合并切入点表达式 443

20.2.5声明通知 444

20.2.6通知的参数 448

20.2.7使用引入来定义接口 449

20.3用XML方式配置AOP 450

20.3.1声明一个切面 450

20.3.2声明一个切入点 450

20.3.3声明通知 451

20.3.4通知的参数 453

20.3.5使用引入 454

20.3.6使用@AspectJ还是XML 454

20.4 Spring 2.0以前的AOP 455

20.4.1声明切面 455

20.4.2创建通知 456

20.4.3配置文件 457

20.4.4运行实例 457

20.5小结 459

20.6常见面试题分析 459

20.7习题 460

第21章Spring的MVC框架 461

21.1 Spring MVC简介 461

21.1.1 Spring MVC的结构 461

21.1.2 Spring Web MVC框架的特点 462

21.2 DispatcherServlet的功能 463

21.2.1在Web服务器中配置DispatcherServlet 463

21.2.2加载Bean配置文件 464

21.2.3 Spring Web应用的上下文 464

21.3控制器 465

21.3.1基类AbstractController 465

21.3.2其他实用的控制器 466

21.4处理器映射 466

21.5视图解析器 468

21.6 Spring对视图的支持 469

21.6.1 Spring的标签库 469

21.6.2 Spring的主题 471

21.7 MVC的完整实例 472

21.7.1配置web.xml 472

21.7.2创建Controller 472

21.7.3视图解析器 475

21.7.4 JSP页面 476

21.7.5发布与测试 478

21.8用注释驱动Spring MVC (2.5新增) 479

21.8.1基于注释的Controller 479

21.8.2使注释生效 480

21.9小结 480

21.10常见面试题分析 481

21.11习题 481

第22章用Spring整合其他应用 482

22.1集成Struts 482

22.1.1概述 482

22.1.2添加plugin包 483

22.1.3修改web.xml文件 483

22.1.4把Struts与Spring的配置文件对应起来 484

22.1.5高级选项 485

22.2集成Struts 1.x 485

22.2.1装载应用程序环境 485

22.2.2使用Spring的ActionSupport 486

22.2.3将动作管理委托给Spring 487

22.3 Spring下的远程访问 489

22.3.1访问RMI 489

22.3.2使用JAX-RPC的Web Service 491

22.3.3发送电子邮件 493

22.3.4其他远程访问 494

22.4简化EJB的访问 494

22.4.1用传统方式访问EJB 494

22.4.2用Spring访问EJB 495

22.5 Spring中的定时调度 496

22.5.1创建定制的timer 496

22.5.2直接调度JavaBean 498

22.6 Spring中的线程池 498

22.6.1使用TaskExecutor接口 498

22.6.2 Spring自带的TaskExecutor实现 499

22.7事务管理 500

22.7.1编程式事务管理 500

22.7.2声明式事务管理 502

22.8使用JDBC进行数据访问 504

22.8.1 JdbcTemplate类 504

22.8.2 DataSource接口 505

22.8.3执行SQL语句 505

22.8.4执行查询 506

22.8.5更新数据库 507

22.9集成Hibernate 508

22.9.1简介 508

22.9.2在Spring的application context中创建SessionFactory 508

22.9.3使用HibemateTemplate 510

22.9.4使用HibemateDaoSupport类 511

22.9.5使用编程式的事务 511

22.9.6使用声明式的事务 512

22.10小结 514

22.11常见面试题分析 514

22.12习题 515

第23章MyEclipse中的Spring实战 516

23.1环境介绍 516

23.1.1插件的下载与安装 516

23.1.2创建Spring工程 516

23.1.3利用向导创建Spring的Bean 519

23.1.4其他支持 520

23.2代码说明 520

23.2.1在Spring中给Hibernate配置数据源 521

23.2.2持久化类和映射文件 522

23.2.3 DAO类 524

23.2.4添加事务管理 525

23.3测试 526

23.4小结 528

23.5常见面试题分析 528

23.6习题 528

第五篇 项目实战 531

第24章Struts+Spring+Hibernate 网上购物系统 531

24.1系统概述 531

24.2系统总体设计 532

24.2.1领域模型设计 532

24.2.2业务逻辑设计 533

24.2.3界面设计 533

24.2.4其他设计 535

24.3持久层设计 537

24.3.1数据库设计 537

24.3.2 Hibernate映射策略设计 538

24.3.3 Hibernate数据源的配置 543

24.3.4 DAO设计 544

24.4业务逻辑组织 546

24.4.1用例分析及实现 546

24.4.2使用Spring声明式事务 551

24.5用Struts调用业务层并展示信息 553

24.5.1 Action与ActionForm的设计 553

24.5.2使用JSP+JSTL+EL展示信息 559

24.6其他功能实现 569

24.6.1用Constants类定义常量 570

24.6.2用过滤器防止用户非法访问后台 570

24.7小结 571