《深入理解JavaWeb开发技术 探索基于主流框架的最佳组合》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:谭贞军编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302310105
  • 页数:627 页
图书介绍:本书共18章,分别讲解了Java Web技术、HTML和XML、JavaScript技术、JSP、Servlet技术、Ajax技术、JavaBean组件技术、两种数据库技术的基本知识、Java Mail组件技术、Struts 2、Spring技术、Hibernate技术、几个通用模块的实现过程,最后通过公告管理系统、企业进销存系统和企业快信系统3个综合实例讲解了Java技术在大型Web项目中的应用流程。

第1章 Java Web初体验 1

1.1 学习Java的巨大优势 2

1.1.1 排名第一的编程语言 2

1.1.2 良好的就业前景 2

1.2 学习Java需要了解的那些事 3

1.2.1 Java语言的发展历史 3

1.2.2 Java的特点 4

1.2.3 Java的平台无关性 5

1.3 Web技术介绍和工作原理 6

1.3.1 本地计算机和远程服务器 7

1.3.2 Web应用程序的工作原理 7

1.3.3 常用的Web开发技术 8

1.4 开发前的准备 9

1.4.1 安装JDK 9

1.4.2 设置PATH环境变量 13

1.4.3 JRE和JDK是有区别的 14

1.4.4 困扰初学者的环境变量问题 14

1.5 安装并配置Tomcat服务器 15

1.5.1 获取Tomcat 15

1.5.2 配置Tomcat的服务端口 18

1.5.3 列出Web应用根路径下的所有页面 18

1.5.4 登录控制台 19

1.5.5 设置虚拟目录 21

1.6 初学者应该明白的几个问题 22

1.6.1 独特的垃圾回收机制 22

1.6.2 对学习者的三条建议 23

第2章 HTML技术介绍 25

2.1 创建基本静态页面 26

2.1.1 设置网页头部和标题 26

2.1.2 设置页面正文和注释 26

2.1.3 文字和段落处理 28

2.1.4 超级链接处理 30

2.1.5 插入图片 32

2.1.6 列表处理 35

2.2 HTML页面布局 36

2.2.1 使用表格标记 36

2.2.2 使用框架标记 40

2.2.3 使用层标记 43

2.3 处理表单 44

2.3.1 表单标记介绍 44

2.3.2 使用form标记 45

2.3.3 使用文本域 45

2.3.4 使用文本区域和按钮 46

2.3.5 使用单选按钮和复选框 46

2.3.6 使用列表菜单 47

2.3.7 使用文件域、图像域和隐藏域 47

2.4 特效和多媒体处理 48

2.4.1 实现滚动效果 48

2.4.2 设置背景音乐 50

2.4.3 插入Flash 50

2.4.4 使用ActiveX控件 51

2.5 谈XML与HTML的区别 52

2.6 初学者应该明白的几个问题 54

2.6.1 用Dreamweaver提高效率 54

2.6.2 在HTML网页中实现空格 56

2.6.3 网站内部链接优化 56

2.6.4 几种增加外部链接的方法 58

第3章 CSS技术基础 59

3.1 CSS技术介绍 60

3.1.1 CSS概述 60

3.1.2 CSS的特点和意义 60

3.2 CSS的语法结构 61

3.3 CSS选择符 62

3.4 调用方式 63

3.5 定位布局 65

3.5.1 元素排列 65

3.5.2 浮动属性定位 66

3.6 使用CSS属性 67

3.6.1 属性类别 67

3.6.2 定位属性 69

3.6.3 内容控制属性 70

3.6.4 浮动属性 73

3.6.5 列表属性 75

3.6.6 补白属性 77

3.6.7 边框属性 78

3.6.8 边界属性 81

3.7 CSS修饰 83

3.7.1 文本修饰 84

3.7.2 图片修饰 85

3.7.3 表单修饰 85

3.7.4 修饰水平线 89

3.8 初学者应该明白的几个问题 90

3.8.1 体会ID选择符的奥妙 90

3.8.2 每种颜色对应十六进制颜色值 90

3.8.3 分析相对路径和绝对路径的优缺点 90

3.8.4 总结调用CSS的方式 91

第4章 引入JavaScript 93

4.1 JavaScript简介 94

4.1.1 运行环境 94

4.1.2 JavaScript格式 94

4.1.3 一个典型的JavaScript文件 94

4.2 数据类型 95

4.2.1 数据类型概述 95

4.2.2 JavaScript常量 96

4.2.3 JavaScript变量 96

4.3 表达式和运算符 97

4.3.1 JavaScript的表达式 97

4.3.2 JavaScript的运算符 98

4.4 JavaScript转向控制语句 100

4.4.1 if条件语句 101

4.4.2 for循环语句 102

4.4.3 while循环语句 103

4.4.4 do...while循环语句 104

4.4.5 break控制 105

4.4.6 switch循环语句 106

4.5 JavaScript的函数 106

4.5.1 JavaScript函数的构成 106

4.5.2 JavaScript常用函数 107

4.6 JavaScript对象 109

4.6.1 对象基础知识 109

4.6.2 JavaScript常用对象和方法 111

4.7 JavaScript事件 114

4.7.1 JavaScript常用事件 114

4.7.2 事件处理程序 115

4.8 JavaScript的窗口对象 116

4.8.1 窗口对象 116

4.8.2 窗口对象的事件驱动 116

4.8.3 窗口对象中的属性 116

4.8.4 窗口对象的方法 117

4.8.5 JavaScript窗口对象的应用 117

4.9 JavaScript框架对象 118

4.10 初学者应该明白的几个问题 120

4.10.1 JavaScript与Java的区别 120

4.10.2 错误处理机制 121

4.10.3 设计师们的几块大蛋糕 121

第5章 JSP基础 123

5.1 JSP概述 124

5.2 构建Web应用 124

5.3 配置描述文件web.xml 126

5.4 深入理解JSP机制 127

5.5 基本语法 131

5.5.1 基本语法介绍 131

5.5.2 注释 132

5.5.3 JSP的声明 134

5.5.4 输出表达式 135

5.5.5 脚本 136

5.6 编译指令 139

5.6.1 page指令 139

5.6.2 include指令 141

5.7 JSP的动作指令 142

5.7.1 七个动作指令 142

5.7.2 响应转发指令forward 143

5.7.3 动态include指令 144

5.7.4 下载指令plugin 145

5.7.5 设置参数值指令param 146

5.7.6 JavaBean指令:useBean、setProperty和getProperty 146

5.7.7 将JavaBean实例放在指定的scope 148

5.8 初学者应该明白的几个问题 149

5.8.1 了解JSP的强势和弱势 149

5.8.2 探索JSP 149

5.8.3 体会属性errorPage的好处 150

5.8.4 静态导入和动态导入的区别 152

5.8.5 比较forward动作指令和include动作指令 152

第6章 JSP核心 153

6.1 JSP的内置对象 154

6.1.1 内置对象简介 154

6.1.2 application对象 155

6.1.3 使用config对象 164

6.1.4 exception对象 166

6.1.5 使用pageContext对象 167

6.1.6 使用out对象 169

6.1.7 使用request对象 170

6.1.8 response对象 176

6.1.9 session对象 180

6.2 自定义JSP标签 184

6.2.1 推出自定义标签的好处 184

6.2.2 开发自定义标签类 185

6.2.3 编写TLD文件 185

6.2.4 使用标签库里的标签 188

6.2.5 修改web.xml 189

6.2.6 应用自定义标签 189

6.2.7 将页面片段作为属性的标签 195

6.2.8 动态属性的标签 196

6.3 JSP 2的新特性 198

6.3.1 JSP 2新特性概述 198

6.3.2 配置JSP属性 199

6.3.3 JSP的表达式 201

6.3.4 Tag File 210

6.4 初学者应该明白的几个问题 211

6.4.1 JSP内置对象的实质 211

6.4.2 分析exception对象的原理 211

6.4.3 并不是每个表单域都会生成请求参数 212

6.4.4 总结request中的方法 212

6.4.5 比较forward和redirect 213

6.4.6 Cookie中的中文字符问题 214

6.4.7 了解JSP的session机制 214

第7章 Servlet详解 215

7.1 什么是Servlet 216

7.1.1 Servlet技术的优越性 216

7.1.2 Servlet的持久性 216

7.1.3 Applet和Servlet的异同 217

7.2 Servlet开发初体验 217

7.3 配置Servlet 219

7.4 Servlet的功能 227

7.4.1 与Servlet配置相关的接口 227

7.4.2 Servlet编程接口 228

7.4.3 Servlet应用接口 228

7.5 使用HttpServlet类封装请求 230

7.5.1 HttpServlet类 230

7.5.2 请求与响应 233

7.5.3 会话 234

7.5.4 封装请求 237

7.6 Servlet过滤器 241

7.6.1 配置过滤器 241

7.6.2 使用过滤器 241

7.7 load-on-startup Servlet 243

7.8 访问Servlet的配置参数 244

7.9 Servlet的“加强版”——Filter 247

7.9.1 Filter基础 247

7.9.2 创建Filter 247

7.9.3 配置Filter 249

7.10 使用Listener类 252

7.10.1 Listener类基础 252

7.10.2 实现Listener类 253

7.10.3 使用ServletContextAttributeListener 255

7.10.4 使用ServletRequestListener和ServletRequestAttributeListener 256

7.10.5 使用HttpSessionListener和HttpSessionAttributeListener 257

7.11 全新的Servlet 3.0 259

7.11.1 新的Annotation 260

7.11.2 对Web模块的支持 260

7.11.3 新引入的异步处理 262

7.11.4 改进的Servlet API 264

7.11.5 动态地注册Servlet和Filter的方法 266

7.12 初学者应该明白的几个问题 267

7.12.1 Servlet和JSP的比较 267

7.12.2 使用Annotation配置Servlet 267

7.12.3 Filter和Servlet的关系 268

7.12.4 HttpServletRequest的用法 268

7.12.5 使用异步监听器 268

第8章 深入详解JavaBean 271

8.1 JavaBean基础 272

8.1.1 JavaBean介绍 272

8.1.2 Java EE中JavaBean处于哪一层 273

8.1.3 体验JavaBean 273

8.1.4 总结JavaBean的卓越性能 275

8.2 JSP和JavaBean之间的关系 275

8.2.1 JSP访问JavaBean 275

8.2.2 在JSP中调用JavaBean 277

8.3 设置JavaBean属性 278

8.3.1 Simple属性 278

8.3.2 Indexed属性 279

8.3.3 Bound属性 280

8.3.4 Constrained属性 281

8.3.5 JSP设置属性 282

8.4 JavaBean方法 286

8.5 JavaBean的作用范围 291

8.5.1 page作用域 292

8.5.2 request作用域 293

8.5.3 session作用域 294

8.5.4 application作用域 295

8.6 JavaBean的移除 297

8.7 初学者应该明白的几个问题 301

8.7.1 在Web页面中调用JavaBean组件 301

8.7.2 在JSP中调用JavaBean的优点 303

8.7.3 获得JavaBean的属性 304

第9章 JSTL标签库 305

9.1 JSTL基础 306

9.1.1 使用第三方提供的标签库 306

9.1.2 JSTL标签的构成 307

9.2 JSTL Core标签库 308

9.2.1 一般用途的标签 308

9.2.2 条件标签 312

9.2.3 迭代标签 314

9.2.4 与URL相关的标签 318

9.3 I18N标签库 321

9.3.1 <fmt:formatNumber>标签 322

9.3.2 <fmt:parseNumber>标签 325

9.3.3 <fmt:formatDate>标签 327

9.3.4 <fmt:parseDate>标签 330

9.3.5 <fmt:setTimeZone>标签 331

9.3.6 <fmt:timeZone>标签 332

9.3.7 <fmt:setLocale>标签 334

9.3.8 <fmt:requestEncoding>标签 336

9.3.9 <fmt:setBundle>标签 336

9.3.10 <fmt:message>标签 336

9.3.11 <fmt:param>标签 339

9.3.12 <fmt:bundle>标签 339

9.4 使用SQL标签库 340

9.4.1 <sql:setDataSource>标签 340

9.4.2 <sql:query>标签和<sql:param>标签 341

9.4.3 <sql:update>标签 343

9.4.4 <sql:dateParam>标签 344

9.4.5 <sql:transaction>标签 344

9.5 函数标签 345

9.5.1 求长度函数 345

9.5.2 大小写转换函数 346

9.5.3 求子串函数 346

9.5.4 去空白函数 347

9.5.5 替换函数 347

9.5.6 查找函数 347

9.5.7 拆分与组合函数 348

9.5.8 函数escapeXml() 349

9.6 XML标签库 349

9.7 初学者应该明白的几个问题 352

9.7.1 总结Core标签库 352

9.7.2 <fmt:timeZone>和<fmt:setTimeZone>的区别 353

9.7.3 <fmt:setBundle>与<fmt:bundle>的区别 353

9.7.4 体会属性文件在国际化中的作用 353

9.7.5 关于SQL标签的一些争论 354

9.7.6 在JSP代码中穿插XML文件 354

第10章 Ajax技术 357

10.1 Ajax基础 358

10.1.1 Ajax技术介绍 358

10.1.2 Ajax开发模式与传统开发模式的比较 359

10.1.3 Ajax是一门提高用户体验的技术 360

10.1.4 Ajax需要注意的几个问题 361

10.2 XMLHttpRequest对象 362

10.2.1 创建XMLHttpRequest对象 363

10.2.2 XMLHttpRequest对象的方法 364

10.2.3 XMLHttpRequest对象的属性 366

10.2.4 XMLHttpRequest对象的事件句柄函数 367

10.3 与服务器通信——发送请求与处理响应 368

10.3.1 发送请求 368

10.3.2 处理服务器响应 369

10.4 解决中文乱码问题 371

10.4.1 发送请求时出现中文乱码 371

10.4.2 获取服务器的响应结果时出现中文乱码 371

10.5 Ajax重构 372

10.6 使用Ajax技术 373

10.6.1 一个简单的Ajax程序 374

10.6.2 分析Ajax的步骤 375

10.7 表单验证实例 379

10.8 无刷新上传进程实例 385

10.9 初学者应该明白的几个问题 389

10.9.1 异步和同步的问题 389

10.9.2 GET方式和POST方式的选择 389

10.9.3 体会innerText属性的特殊作用 389

10.9.4 充分利用Ajax的开源框架 390

10.9.5 探讨验证码的无刷新验证的实现思路 390

第11章 数据库编程 397

11.1 与数据库相关的概念 398

11.2 SQL语言 400

11.2.1 数据定义 400

11.2.2 数据操纵 402

11.2.3 视图 404

11.2.4 SQL高级操作 405

11.3 初识JDBC 407

11.3.1 JDBC驱动类型 407

11.3.2 JDBC的常用接口和类 408

11.3.3 JDBC编程步骤 410

11.4 常用的几种数据库 413

11.4.1 Access数据库 413

11.4.2 SQL Server数据库 413

11.4.3 MySQL数据库 417

11.5 执行SQL语句的方式 417

11.5.1 使用executeUpdate 417

11.5.2 使用execute方法 418

11.6 事务处理 420

11.6.1 JDBC中的事务控制 420

11.6.2 检查数据库是否支持事务处理 422

11.6.3 JDBC事务控制的流程 422

11.7 存储过程 425

11.7.1 创建存储过程 426

11.7.2 调用创建的存储过程 428

11.8 初学者应该明白的几个问题 429

11.8.1 通过课外学习掌握数据库技术 430

11.8.2 没有最完美的产品 430

11.8.3 合适的就是最好的 432

第12章 Struts 2基础 435

12.1 MVC思想 436

12.1.1 什么是MVC思想 436

12.1.2 MVC思想及其优势 437

12.1.3 Struts MVC思想 437

12.2 下载并安装Struts 2 438

12.2.1 获得并设置Struts 2 438

12.2.2 在Eclipse中使用Struts 2 440

12.2.3 使用Struts 2的流程 441

12.2.4 Struts 2的工作流程 443

12.3 配置Struts 2 443

12.3.1 配置常量 443

12.3.2 包含其他配置文件 448

12.4 实现Action 448

12.4.1 基础知识 448

12.4.2 标准Action类 450

12.4.3 ActionSupport基类 450

12.4.4 访问Servlet API 455

12.4.5 直接访问Servlet API 458

12.4.6 用ServletActionContext访问Servlet API 459

12.5 配置Action 462

12.5.1 命名空间和包 462

12.5.2 基本配置 466

12.5.3 使用Action的动态方法调用 466

12.5.4 为Action配置method属性 469

12.5.5 使用通配符映射方式 470

12.6 初学者应该明白的几个问题 470

12.6.1 MVC思想和观察者模式 471

12.6.2 使用Action处理用户请求 471

12.6.3 一份完整struts.xml文件的常量配置骨架 471

第13章 Hibernate基础 475

13.1 Hibernate基础 476

13.1.1 Hibernate概述 476

13.1.2 Hibernate API简介 476

13.1.3 Hibernate的核心接口 477

13.1.4 Hibernate的体系结构 478

13.2 Hibernate的下载和安装 478

13.2.1 下载Hibernate 478

13.2.2 为Eclipse安装插件 480

13.3 认识几种简单配置Hibernate的方式 481

13.3.1 配置数据源 481

13.3.2 配置c3p0连接池 482

13.3.3 配置proxool连接池 483

13.3.4 MySQL连接配置 484

13.3.5 SQL Server连接配置 485

13.3.6 Oracle连接配置 486

13.4 Hibernate配置 486

13.4.1 持久化操作实例 486

13.4.2 创建Configuration对象 490

13.4.3 Hibernate的JDBC连接 493

13.4.4 数据库方言 493

13.4.5 与Hibernate相关的常用属性 494

13.5 SessionFactory接口 496

13.6 Session接口 497

13.6.1 save()方法 498

13.6.2 get()方法 498

13.6.3 load()方法 499

13.6.4 update()方法 499

13.6.5 delete()方法 500

13.7 Transaction接口 501

13.8 Query接口 501

13.9 Criteria接口 502

13.10 持久化对象 503

13.10.1 持久化类的规则 503

13.10.2 持久化的状态 503

13.10.3 改变持久化对象状态 505

13.11 Hibernate映射文件 505

13.11.1 映射文件结构 506

13.11.2 主键映射 507

13.11.3 普通属性映射 508

13.11.4 映射引用属性 510

13.11.5 映射Set集合属性 515

13.11.6 映射List集合属性 517

13.11.7 其他属性 517

13.12 初学者应该明白的几个问题 518

13.12.1 应该尽量使用数据源方式 518

13.12.2 何时使用Hibernate作为持久化框架 518

13.12.3 分析集合性能 518

第14章 Spring技术 521

14.1 Spring技术介绍 522

14.1.1 Spring的优点 522

14.1.2 Spring将改变Java EE 522

14.2 下载并安装Spring 522

14.2.1 获取Spring压缩包 522

14.2.2 在Eclipse中使用Spring 524

14.2.3 在Web项目中使用Spring 527

14.3 依赖注入 530

14.3.1 依赖注入基础 530

14.3.2 设置注入 531

14.3.3 代码升级游刃有余 533

14.3.4 构造注入 534

14.4 Spring容器 535

14.4.1 Spring的IoC容器 537

14.4.2 BeanFactory对IoC容器的功能定义 538

14.4.3 XmlBeanFactory的工作原理 538

14.4.4 ApplicationContext的国际化 541

14.4.5 详解ApplicationContext的事件机制 542

14.4.6 Bean获取Spring容器 546

14.5 Spring中的Bean 549

14.5.1 定义Bean 549

14.5.2 Spring中Bean的作用域 550

14.5.3 配置依赖 553

14.5.4 属性值注入 554

14.5.5 注入field值 556

14.5.6 注入方法返回值 557

14.6 Java配置管理 560

14.7 初学者应该明白的几个问题 563

14.7.1 使用HttpInvoke提高效率 563

14.7.2 Hibernate与Spring的JDBC Template效率比较 567

14.7.3 Spring+Hibernate模式下数据操作的效率问题 568

14.7.4 Spring效率的测试报告 568

第15章 深入挖掘最优框架组合 573

15.1 纵览各种各样的框架 574

15.2 Struts 2+iBatis+JSON实现快速Java Web 2.0程序开发 575

15.3 JSF和Web的完美组合,提升开发效率 576

15.3.1 传统JSP开发存在的问题 576

15.3.2 开发基于JSF的Web应用程序步骤 576

15.4 分析JavaWeb的MVC实现模型 578

15.4.1 MVC介绍 578

15.4.2 举例说明MVC的用法 579

15.4.3 基本MVC的实例 581

15.5 分析常规Java Web的开发模式 585

15.5.1 三个标准动作 585

15.5.2 JSP的设计模式 586

15.6 总结Java Web开发中的几种经典模式 587

15.7 SSH模式 589

15.7.1 SSH的整合理念 589

15.7.2 组装Struts+Spring+Hibernate的背景 591

15.7.3 分解Struts+Spring+Hibernate的层次 592

15.7.4 Spring整合Struts的三个窍门 593

15.7.5 拦截Struts 595

15.7.6 Spring整合Hibernate 596

15.8 Struts与Spring两种MVC框架的比较 599

15.8.1 Struts 600

15.8.2 Spring 601

第16章 OA办公自动化系统 603

16.1 需求分析 604

16.2 项目规划 604

16.3 编写项目计划书 605

16.4 构建开发环境 607

16.5 规划系统目录结构 607

16.6 搭建数据库 607

16.6.1 数据库E-R图分析 608

16.6.2 数据结构表 611

16.7 最后的准备工作 618

16.7.1 数据表的创建及测试数据的插入 618

16.7.2 系统文件组织结构 619

16.7.3 数据源及框架的配置 619

16.8 具体编码 620

16.8.1 登录模块 620

16.8.2 管理首页模块 623

16.8.3 紧急报警模块 624

16.8.4 文件管理模块 624

16.9 调试与发布 625

参考文献 627