《孙鑫精品图书系列 Servlet/JSP深入详解 基于Tomcat的Web开发》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:孙鑫著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121361500
  • 页数:672 页
图书介绍:本书从XML、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进地引导读者快速掌握Java Web开发。本书内容全面,涵盖了从事Java Web开发所应掌握的所有知识。在内容的安排上独具匠心,在知识体系的讲解上由浅入深、循序渐进,引导读者快速掌握Servlet和JSP的开发。大部分章节都提供了多个例子,而且很多例子都代表了目前Web开发中经常使用的功能,具有相当大的实用价值,。第2版增加了新版本的一些内容,同时增加了项目案例”个人博客系统”。

Servlet篇 1

第1章 Servlet与Tomcat 1

1.1 Web技术的发展 1

1.2 Servlet与Servlet容器 3

1.3 Servlet容器的分类 4

1.4 Tomcat简介 5

1.5 Tomcat的安装与配置 6

1.5.1 Tomcat的目录结构 8

1.5.2 运行Tomcat 9

1.5.3 Tomcat启动分析 13

1.6 Tomcat的体系结构 15

1.7 Tomcat的管理程序 17

1.8 小结 19

第2章 Servlet技术 20

2.1 Servlet API 20

2.1.1 Servlet接口 21

2.1.2 ServletRequest和ServletResponse 22

2.1.3 ServletConfig 25

2.1.4 一个简单的Servlet 25

2.1.5 GenericServlet 33

2.1.6 HttpServlet 34

2.1.7 HttpServletRequest和HttpServletResponse 35

2.2 几个实例 38

2.2.1 实例一:WelcomeServlet 38

2.2.2 实例二:OutputInfoServlet 44

2.2.3 实例三:LoginServlet 48

2.3 Servlet异常 53

2.3.1 ServletException类 53

2.3.2 UnavailableException类 53

2.4 Servlet生命周期 54

2.5 Servlet上下文 56

2.5.1 ServletContext接口 56

2.5.2 页面访问量统计实例 58

2.6 请求转发 62

2.6.1 RequestDispatcher接口 62

2.6.2 得到RequestDispatcher对象 63

2.6.3 请求转发的实例 63

2.6.4 sendRedirect()和forward()方法的区别 70

2.7 小结 71

第3章 Web应用程序的部署 72

3.1 配置任意目录下的Web应用程序 72

3.2 WAR文件 75

3.3 与Servlet配置相关的元素 78

3.3.1 <servlet>元素及其子元素 78

3.3.2 <servlet-mapping>元素及其子元素 80

3.4 一个实例 82

3.5 小结 86

第4章 数据库访问 87

4.1 JDBC驱动程序的类型 88

4.1.1 JDBC-ODBC桥 88

4.1.2 部分本地API、部分Java驱动程序 89

4.1.3 JDBC网络纯Java驱动程序 89

4.1.4 本地协议的纯Java驱动程序 89

4.2 安装数据库 90

4.3 下载MySQL JDBC驱动 94

4.4 JDBC API 95

4.4.1 加载并注册数据库驱动 96

4.4.2 建立到数据库的连接 99

4.4.3 访问数据库 100

4.4.4 事务处理 129

4.4.5 可滚动和可更新的结果集 138

4.5 JDBC数据源和连接池 140

4.6 小结 145

第5章 会话跟踪 146

5.1 用于会话跟踪的技术 147

5.1.1 SSL会话 147

5.1.2 Cookies 148

5.1.3 URL重写 149

5.2 Java ServletAPI的会话跟踪 149

5.2.1 HttpSession接口 150

5.2.2 Session的生命周期 151

5.2.3 Cookie的应用 165

5.2.4 Session和Cookie的深入研究 173

5.3 Session的持久化 175

5.4 小结 176

第6章 Servlet的异常处理机制 177

6.1 声明式异常处理 178

6.1.1 HTTP错误代码的处理 178

6.1.2 Java异常的处理 182

6.2 程序式异常处理 185

6.2.1 在try-catch语句中处理异常 185

6.2.2 使用RequestDispatcher来处理异常 188

6.3 小结 191

第7章 开发线程安全的Servlet 192

7.1 多线程的Servlet模型 192

7.2 线程安全的Servlet 193

7.2.1 变量的线程安全 193

7.2.2 属性的线程安全 202

7.3 SingleThreadModel接口 206

7.4 小结 206

JSP篇 207

第8章 JSP技术 207

8.1 JSP简介 207

8.2 JSP的运行机制 208

8.3 JSP的语法 213

8.3.1 指令元素(directive element) 213

8.3.2 脚本元素(scripting element) 218

8.3.3 动作元素(action element) 220

8.3.4 注释 228

8.4 JSP的隐含对象 229

8.4.1 pageContext 229

8.4.2 out 230

8.4.3 page 231

8.4.4 exception 231

8.5 对象和范围 232

8.6 留言板程序 235

8.7 留言板管理程序 244

8.8 JSP文档 250

8.8.1 JSP文档的标识 251

8.8.2 JSP文档中的元素语法 251

8.9 小结 255

第9章 JSP与JavaBean 256

9.1 JavaBean简介 256

9.1.1 属性的命名 257

9.1.2 属性的类型 259

9.2 在JSP中使用JavaBean 259

9.2.1 <jsp:useBean> 260

9.2.2 <jsp:setProperty> 261

9.2.3 <jsp:getProperty> 262

9.2.4 示例 262

9.3 网上书店程序 267

9.4 小结 291

第10章 JSP开发的两种模型 292

10.1 模型1 292

10.2 模型2 296

10.3 MVC模式的实现总结 303

10.4 小结 303

第11章 标签库(Tag Library) 304

11.1 标签库API 304

11.1.1 标签的形式 304

11.1.2 Tag接口 306

11.1.3 IterationTag接口 307

11.1.4 BodyTag接口 309

11.2 标签库描述符 310

11.2.1 <taglib>元素 311

11.2.2 <validator>元素 312

11.2.3 <listener>元素 313

11.2.4 <tag>元素 313

11.2.5 <tag-file>元素 316

11.2.6 <function>元素 316

11.3 传统标签的开发 318

11.3.1 实例一:<hello>标签 318

11.3.2 实例二:<max>标签 321

11.3.3 实例三:<greet>标签 323

11.3.4 实例四:<switch>标签 326

11.3.5 实例五:<iterate>标签 331

11.4 简单标签的开发 337

11.4.1 SimpleTag接口 337

11.4.2 实例一:<welcome>标签 339

11.4.3 实例二:<max_ex>标签 341

11.5 自定义标签开发总结 343

11.6 小结 343

第12章 表达式语言(EL) 344

12.1 语法 344

12.1.1 “[]”和“.”操作符 344

12.1.2 算术操作符 345

12.1.3 关系操作符 346

12.1.4 逻辑操作符 346

12.1.5 Empty操作符 346

12.1.6 条件操作符 346

12.1.7 圆括号 346

12.1.8 操作符的优先级 346

12.2 隐含对象 347

12.3 命名变量 348

12.4 保留的关键字 349

12.5 函数 349

12.6 小结 351

第13章 JSP标准标签库(JSTL) 352

13.1 JSTL简介 352

13.2 配置JSTL 353

13.3 Core标签库 354

13.3.1 一般用途的标签 354

13.3.2 条件标签 358

13.3.3 迭代标签 361

13.3.4 URL相关的标签 364

13.4 I18N标签库 369

13.4.1 国际化标签 369

13.4.2 格式化标签 375

13.5 SQL标签库 384

13.5.1 <sql:setDataSource> 384

13.5.2 <sql:query> 385

13.5.3 <sql:param> 389

13.5.4 <sql:dateParam> 390

13.5.5 <sql:update> 390

13.5.6 <sql:transaction> 392

13.6 XML标签库 393

13.6.1 核心操作 394

13.6.2 流程控制 397

13.6.3 转换操作 401

13.7 Functions标签库 404

13.7.1 fn:contains 404

13.7.2 fn:containsIgnoreCase 405

13.7.3 fn:startsWith 405

13.7.4 fn:endsWith 406

13.7.5 fn:indexOf 407

13.7.6 fn:replace 407

13.7.7 fn:substring 408

13.7.8 fn:substringBefore 409

13.7.9 fn:substringAfter 410

13.7.10 fn:split 410

13.7.11 fn:join 411

13.7.12 fn:toLowerCase 412

13.7.13 fn:toUpperCase 413

13.7.14 fn:trim 413

13.7.15 fn:escapeXml 414

13.7.16 fn:length 414

13.8 小结 415

第14章 标签文件(Tag Files) 416

14.1 标签文件的语法 416

14.2 一个简单的标签文件 416

14.3 标签文件的隐含对象 420

14.4 标签文件的指令 421

14.4.1 tag指令 421

14.4.2 attribute指令 423

14.4.3 variable指令 423

14.5 标签文件实例讲解 425

14.5.1 实例一:<welcome>标签 425

14.5.2 实例二:<toHtml>标签 426

14.6 <jsp:invoke>动作元素 428

14.7 <jsp:doBody>动作元素 428

14.8 小结 429

应用篇 430

第15章 Servlet监听器 430

15.1 监听器接口 430

15.2 ServletContextListener接口 431

15.3 HttpSessionBindingListener接口 433

15.4 在线人数统计程序 434

15.5 小结 441

第16章 Filter在Web开发中的应用 442

16.1 过滤器概述 442

16.2 FilterAPI 443

16.2.1 Filter接口 444

16.2.2 FilterConfig接口 444

16.2.3 FilterChain接口 445

16.3 过滤器的部署 445

16.4 过滤器的开发 448

16.5 对用户进行统一验证的过滤器 450

16.6 对请求和响应数据进行替换的过滤器 456

16.7 对响应内容进行压缩的过滤器 467

16.8 小结 474

第17章 中文乱码问题与国际化 475

17.1 中文乱码问题产生的由来 475

17.1.1 常用字符集 475

17.1.2 对乱码产生过程的分析 478

17.2 中文乱码问题的解决方案 480

17.3 使用过滤器解决中文问题 482

17.4 让Tomcat支持中文文件名 487

17.5 国际化与本地化 488

17.5.1 Locale 488

17.5.2 资源包 490

17.5.3 消息格式化 492

17.5.4 编写国际化的Web应用程序 493

17.6 小结 498

第18章 开发安全的Web应用程序 499

18.1 概述 499

18.2 理解验证机制 501

18.2.1 HTTP Basic Authentication 501

18.2.2 HTTP Digest Authentication 502

18.2.3 HTTPS Client Authentication 502

18.2.4 Form Based Authentication 502

18.3 声明式安全 503

18.3.1 <security-constraint>元素 503

18.3.2 多个安全约束的联合 506

18.3.3 <login-config>元素 507

18.3.4 基本验证的实现 508

18.3.5 基于表单验证的实现 510

18.3.6 使用数据库保存用户名和密码 513

18.4 程序式安全 517

18.5 SQL注入攻击的防范 520

18.6 小结 522

第19章 避免表单的重复提交 523

19.1 在客户端避免表单的重复提交 523

19.2 在服务器端避免表单的重复提交 526

19.3 小结 534

第20章 使用Eclipse开发Web应用 535

20.1 Eclipse介绍 535

20.1.1 下载并安装Eclipse 535

20.1.2 Eclipse开发环境介绍 536

20.1.3 配置Eclipse 540

20.2 文件的上传 544

20.2.1 基于表单的文件上传 544

20.2.2 文件上传格式分析 545

20.2.3 commons-fileupload组件 546

20.2.4 文件上传实例 548

20.3 文件的下载 561

20.4 给图片添加水印和文字 570

20.5 小结 574

第21章 Servlet 3.0新特性详解 576

21.1 新增的注解 577

21.1.1 @WebServlet注解 577

21.1.2 @WebFilter注解 579

21.1.3 @WebInitParam注解 580

21.1.4 @WebListener注解 581

21.1.5 @MultipartConfig注解 582

21.2 异步处理 582

21.2.1 实例:计算斐波那契数列 585

21.2.2 AsyncListener 588

21.3 动态添加和配置Web组件 590

21.3.1 实例一:实现ServletContextListener接口来添加Servlet 592

21.3.2 实例二:实现ServletContainerInitializer接口来添加组件 593

21.4 Web片段和可插性支持 596

21.4.1 Web模块开发 597

21.4.2 解决Web模块加载顺序的问题 599

21.5 HttpServletRequest对文件上传的支持 601

21.6 总结 605

附录A 快速掌握HTML 606

A.1 WWW简介 606

A.2 快速掌握HTML 608

A.2.1 HTML(Hypertext Markup Language) 608

A.2.2 HTML元素的四种形式 608

A.2.3 第一个页面 608

A.2.4 第二个页面 609

A.2.5 与段落控制相关的标签 610

A.2.6 控制文本的显示 611

A.2.7 如何输入特殊的字符 613

A.2.8 注释 615

A.2.9 列表 615

A.2.10 表格 619

A.2.11 HTML交互式表单 622

A.2.12 其他常用标签 629

A.2.13 框架 633

A.3 小结 634

附录B 解析HTTP 635

B.1 概述 635

B.2 HTTP URL 636

B.3 HTTP请求 637

B.3.1 请求行 637

B.3.2 消息报头 638

B.3.3 请求正文 638

B.4 HTTP响应 639

B.4.1 状态行 639

B.4.2 消息报头 641

B.4.3 响应正文 641

B.5 HTTP消息 642

B.6 实验 647

B.7 小结 649

附录C server.xml文件 650

C.1 顶层元素 651

C.1.1 Server元素 651

C.1.2 Service元素 651

C.2 连接器 652

C.2.1 HTTP连接器 652

C.2.2 AJP连接器 654

C.3 容器 654

C.3.1 Engine元素 654

C.3.2 Host元素 655

C.3.3 Context元素 656

C.4 小结 657

附录D web.xml文件 658

D.1 <description>元素 659

D.2 <display-name>元素 659

D.3 <icon>元素 660

D.4 <distributable>元素 660

D.5 <context-param>元素 660

D.6 <filter>元素 660

D.7 <filter-mapping>元素 661

D.8 <listener>元素 662

D.9 <servlet>元素 662

D.10 <servlet-mapping>元素 664

D.11 <session-config>元素 664

D.12 <mime-mapping>元素 664

D.13 <welcome-file-list>元素 665

D.14 <error-page>元素 665

D.15 <jsp-config>元素 665

D.16 <security-constraint>元素 667

D.17 <login-config>元素 668

D.18 <security-role>元素 669

D.19 <env-entry>元素 669

D.20 <ejb-ref>元素 670

D.21 <ejb-local-ref>元素 670

D.22 <resource-ref>元素 671

D.23 <resource-env-ref>元素 671

D.24 <locale-encoding-mapping-list>元素 671

D.25 小结 672