Tomcat与Java Web开发技术详解(第3版)

Tomcat与Java Web开发技术详解(第3版)

作者:孙卫琴
语言:中文
出版:电子工业出版社
ISBN:9787121361555
出版时间:2019
页数:
定价:129.00元
装帧:平装
购买纸质书

内容简介

内容已隐藏,请登录后查看

登录后继续查看

作者简介

孙卫琴是中国知名IT 作家和Java 专家,毕业于上海交通大学,随后主要从事基于Java 的软件开发工作,在此期间还从事Java 方面的培训和咨询工作。2002 年开始Java 技术领域的创作,文风清晰严谨、深入浅出,深受读者欢迎,其多部作品的销量在同类书籍中一度位居全国榜首。

本书目录

第1篇
Java Web开发技术详解
第1 章 Web 运作原理探析.......................1
1.1 Web 的概念.............................................2
1.2 HTML简介.............................................3
1.3 URL简介................................................5
1.4 HTTP 简介..............................................6
HTTP 请求格式..........................8
HTTP 响应的格式....................10
正文部分的MIME类型...........12
HTTP 各个版本的特点.............12
1.5 用Java 套接字创建HTTP 客户与服务器
程序.......................................................14
演示异构系统之间用HTTP 协议
通信..............................................18
演示对网页中超链接的处理过程
......................................................21
演示对网页中图片的处理过程22
1.6 Web 的发展历程...................................22
发布静态HTML文档..............23
发布静态多媒体信息................23
提供浏览器端与用户的动态交互
功能..............................................24
提供服务器端与用户的动态交互
功能..............................................25
发布Web应用..........................30
发布Web服务..........................31
Web2.0:全民共建的Web.......34
Web3.0:智能化处理海量信息35
1.7 处理HTTP 请求参数以及HTML表单35
1.8 客户端向服务器端上传文件................38
1.9 小结.......................................................44
1.10 思考题.................................................44
第2章 Tomcat简介................................49
2.1 Tomcat 概述...........................................50
2.2 Tomcat 作为Servlet 容器的基本功能..51
2.3 Tomcat 的组成结构...............................52
2.4 Tomcat 的工作模式...............................55
2.5 Tomcat 的版本.......................................57
2.6 安装和配置Tomcat 所需的资源..........59
2.7 安装Tomcat...........................................60
2.8 启动Tomcat 并测试Tomcat 的安装....61
2.9 Tomcat 的运行脚本...............................63
2.10 小结.....................................................64
2.11 思考题.................................................64
第3章 第一个JavaWeb应用.................67
3.1 JavaWeb 应用简介................................67
3.2 创建JavaWeb 应用...............................68
JavaWeb 应用的目录结构........68
创建HTML文件......................70
创建Servlet 类..........................70
创建JSP 文件...........................72
创建web.xml 文件....................72
3.3 在Tomcat 中发布JavaWeb应用74
Tomcat 的目录结构..................74
按照默认方式发布JavaWeb 应用
.....................................................75
Web组件的URL......................76
配置Tomcat 的<Context>元素.80
配置Tomcat 的虚拟主机..........82
3.4 创建、配置和使用自定义JSP 标签....85
3.5 用批处理文件或ANT编译范例..........89
3.6 小结.......................................................90
3.7 思考题...................................................91
第4章 Servlet技术上.....................93
4.1 Servlet API.............................................94
Servlet接口...............................95
GenericServlet 抽象类...............96
HttpServlet 抽象类....................98
ServletRequest接口................101
HttpServletRequest接口.........102
ServletResponse 接口..............104
HttpServletResponse接口.......106
ServletConfig 接口..................108
ServletContext 接口................110
4.2 JavaWeb 应用的生命周期.................. 113
启动阶段.................................113
运行时阶段.............................113
终止阶段.................................114
用Tomcat 的管理平台管理Web
应用的生命周期........................114
4.3 Servlet 的生命周期............................. 116
初始化阶段.............................116
运行时阶段.............................117
销毁阶段.................................117
演示Servlet 的生命周期的范例
....................................................118
4.4 ServletContext 与Web 应用范围........121
在Web 应用范围内存放共享数据
的范例........................................122
使用ServletContextListener 监听
器................................................124
4.5 Servlet 的服务方法抛出异常..............127
4.6 防止页面被客户端缓存......................128
4.7 使用Annotation 标注配置Servlet......129
4.8 处理HTTP 请求参数中的中文字符编码
.............................................................131
4.9 小结.....................................................133
4.10 思考题...............................................135
第5章 Servlet技术下.....................139
5.1 下载文件.............................................139
5.2 上传文件.............................................141
利用Apache开源类库实现文件上
传................................................142
利用Servlet API中的Part 接口实
现文件上传................................146
5.3 动态生成图像.....................................149
5.4 读写Cookie.........................................152
5.5 访问Web 应用的工作目录.................159
5.6 转发和包含.........................................161
请求转发.................................162
包含.........................................166
请求范围.................................168
5.7 重定向.................................................168
5.8 访问Servlet 容器内的其他Web 应用172
5.9 避免并发问题.....................................173
合理决定在Servlet中定义的变量
的作用域类型............................176
使用Java 同步机制对多线程同步
...................................................178
被废弃的SingleThreadModel接口
...................................................179
5.10 对客户请求的异步处理....................181
异步处理的流程...................181
异步处理的范例...................182
异步监听器...........................186
非阻塞I/O.............................187
5.11 服务器端推送....................................191
5.12 小结...................................................193
5.13 思考题...............................................196
第6章 JSP 技术....................................199
6.1 比较HTML、Servlet 和JSP..............199
静态HTML文件....................199
用Servlet 动态生成HTML 页面
....................................................200
用JSP 动态生成HTML页面201
6.2 JSP 语法..............................................205
JSP 指令Directive............206
JSP 声明..................................208
Java程序片段Scriptlet....209
Java表达式.............................210
隐含对象.................................212
6.3 JSP 的生命周期...................................214
6.4 请求转发.............................................216
6.5 包含.....................................................218
静态包含.................................218
动态包含.................................220
混合使用静态包含和动态包含
....................................................222
6.6 JSP 异常处理.......................................229
6.7 再谈发布JSP.......................................232
6.8 预编译JSP ..........................................232
6.9 PageContext 类的用法........................234
6.10 在web.xml 中配置JSP.....................236
6.11 JSP 技术的发展趋势.........................237
6.12 小结...................................................238
6.13 思考题...............................................238
第7章 bookstore 应用简介..................243
7.1 bookstore 应用的软件结构.................243
Web服务器层.........................244
数据库层.................................244
7.2 浏览bookstore 应用的JSP 网页........244
7.3 JavaBean 和实用类.............................248
实体类.....................................248
购物车的实现.........................249
7.4 发布bookstore 应用............................252
7.5 小结.....................................................253
第8章 访问数据库...............................255
8.1 安装和配置MySQL数据库...............255
8.2 JDBC 简介...........................................257
java.sql包中的接口和类........260
编写访问数据库程序的步骤..263
事务处理.................................266
8.3 通过JDBC API访问数据库的JSP范例程
序.........................................................267
8.4 bookstore 应用通过JDBC API 访问数据
库.........................................................269
8.5 数据源DataSource简介...............274
8.6 配置数据源.........................................276
在context.xml 中加入<Resource>
元素............................................276
在web.xml 中加入<resource-ref>
元素............................................277
8.7 程序中访问数据源..............................277
通过数据源连接数据库的JSP 范
例程序........................................278
bookstore 应用通过数据源连接数
据库............................................279
8.8 处理数据库中数据的中文字符编码..282
8.9 分页显示批量数据..............................283
8.10 用可滚动结果集分页显示批量数据287
8.11 小结...................................................290
8.11 思考题...............................................291
第9章 HTTP 会话的使用与管理........295
9.1 会话简介.............................................295
9.2 HttpSession 的生命周期及会话范围..299
9.3 使用会话的JSP 范例程序..................301
9.4 使用会话的Servlet 范例程序............305
9.5 通过重写URL来跟踪会话................308
9.6 会话的持久化......................................312
标准会话管理器StandardManager
....................................................315
持久化会话管理器
PersistentManager ......................315
9.7 会话的监听.........................................320
用HttpSessionListener 统计在线
用户人数....................................324
用HttpSessionBindingListener 统
计在线用户人数........................326
9.8 小结.....................................................330
9.9 思考题.................................................331
第10章 JSP 访问JavaBean..................335
10.1 JavaBean 简介...................................335
10.2 JSP 访问JavaBean 的语法...............336
10.3 JavaBean 的范围...............................338
JavaBean 在页面page范围内
....................................................339
JavaBean 在请求request范围
内................................................341
JavaBean 在会话session范围
内................................................343
JavaBean 在Web 应用
application范围内..............344
10.4 在bookstore 应用中访问JavaBean..345
访问BookDB 类...................345
访问ShoppingCart 类...........346
10.5 小结...................................................350
10.6 思考题...............................................351
第11章 开发JavaMail Web应用.........355
11.1 E-mail 协议简介................................355
SMTP 简单邮件传输协议....356
POP3邮局协议.....................356
接收邮件的新协议IMAP.....356
11.2 JavaMail API 简介.............................357
11.3 建立JavaMail 应用程序的开发环境359
获得JavaMail API的类库....360
安装和配置邮件服务器........360
11.4 创建JavaMail 应用程序...................362
11.5 JavaMail Web 应用简介....................366
11.6 JavaMail Web 应用的程序结构........367
重新封装Message数据........368
用于保存邮件账号信息的
JavaBean ....................................371
定义所有JSP 文件的相同内容
...................................................373
登录IMAP服务器上的邮件账号
...................................................375
管理邮件夹...........................377
查看邮件夹中的邮件信息....380
查看邮件内容.......................384
创建和发送邮件....................385
退出邮件系统.......................388
11.7 在Tomcat 中配置邮件会话Mail
Session.............................................388
在context.xml 中配置Mail
Session 资源...............................388
在web.xml 中加入对JNDI Mail
Session 资源的引用...................389
在javamail 应用中获取JNDI
Mail Session 资源......................389
11.8 发布和运行javamail 应用................391
11.9 小结...................................................392
11.10 思考题..............................................392
第12章 EL表达式语言.......................395
12.1 基本语法...........................................395
访问对象的属性及数组的元素
...................................................396
EL运算符.............................396
隐含对象...............................398
命名变量...............................399
12.2 使用EL表达式的JSP 范例.............400
关于基本语法的例子............400
读取HTML表单数据的例子402
访问命名变量的例子............403
12.3 定义和使用EL函数.........................403
12.4 小结...................................................406
12.5 思考题...............................................407
第13章 自定义JSP 标签.....................409
13.1 自定义JSP 标签简介........................409
13.2 JSP Tag API........................................410
JspTag接口...........................411
Tag接口................................411
IterationTag 接口...................413
BodyTag接口........................414
TagSupport类和BodyTagSupport
类................................................416
13.3 message 标签范例访问标签属性
.............................................................420
创建message 标签的处理类
MessageTag................................421
创建标签库描述文件............425
在Web应用中使用标签......427
发布支持中、英文版本的
helloapp 应用.............................429
13.4 iterate 标签范例重复执行标签主体
.............................................................431
13.5 greet 标签范例访问标签主体内容
.............................................................435
13.6 小结...................................................439
13.7 思考题...............................................440
第14章 采用模板设计网上书店 应用443
14.1 如何设计网站的模板........................443
14.2 创建负责流程控制的Servlet............444
14.3 创建模板标签和模板JSP 文件........446
<parameter>标签和其处理类448
<screen>标签和处理类.........451
<definition>标签和处理类....453
<insert>标签和处理类..........457
14.4 修改JSP 文件....................................459
14.5 发布采用模板设计的bookstore 应用
.............................................................460
14.6 小结...................................................463
第15章 JSTL Core 标签库...................465
15.1 使用第三方提供的标签库的步骤....465
15.2 JSTL标签库简介..............................466
15.3 一般用途的标签................................467
<c:out>标签...........................468
<c:set>标签...........................469
<c:remove>标签....................470
<c:catch>标签........................471
15.4 条件标签...........................................471
<c:if>标签.............................471
<c:choose> 、<c:when> 和
<c:otherwise>标签.....................472
15.5 迭代标签...........................................473
<c:forEach>标签...................473
<c:forTokens>标签................477
15.6 URL相关的标签...............................478
<c:import>标签.....................478
<c:url>标签...........................479
<c:redirect>标签....................480
15.7 小结...................................................481
15.8 思考题...............................................481
第16章 JSTL I18N 标签库..................485
16.1 国际化的概念....................................485
16.2 Java语言对I18N 的支持.................486
Locale类...............................486
ResourceBundle类................490
MessageFormat 类和复合消息
....................................................492
16.3 国际化标签........................................494
<fmt:setLocale>标签.............494
<fmt:setBundle>标签............495
<fmt:bundle>标签.................496
<fmt:message>标签...............496
<fmt:param>标签..................497
<fmt:requestEncoding>标签..498
16.4 创建国际化的Web 应用...................498
创建支持国际化的网页........499
创建资源文件.......................502
16.5 格式化标签........................................503
<fmt:setTimeZone>标签.......503
<fmt:timeZone>标签.............503
<fmt:formatNumber>标签.....504
<fmt:parseNumber>标签.......505
<fmt:formatDate>标签..........506
<fmt:parseDate>标签............507
16.6 小结...................................................508
16.7 思考题...............................................509
第17章 JSTL Sql标签库.....................513
17.1 <sql:setDataSource>标签..................513
17.2 <sql:query>标签................................514
设置数据源...........................514
设置select 查询语句............515
控制实际取出的记录............515
访问查询结果.......................515
使用<sql:query>标签的范例516
17.3 <sql:param>标签...............................519
17.4 <sql:dateParam>标签.........................519
17.5 <sql:update>标签...............................520
17.6 <sql:transaction>标签........................521
17.7 小结...................................................522
17.8 思考题...............................................523
第18章 JSTL Functions标签库...........525
18.1 fn:contains 函数.................................525
18.2 fn:containsIgnoreCase 函数...............525
18.3 fn:startsWith 函数..............................526
18.4 fn:endsWith 函数...............................526
18.5 fn:indexOf函数.................................526
18.6 fn:replace 函数...................................527
18.7 fn:substring函数...............................527
18.8 fn:substringBefore 函数.....................528
18.9 fn:substringAfter 函数.......................528
18.10 fn:split 函数.....................................528
18.11 fn:join 函数......................................529
18.12 fn:toLowerCase 函数.......................529
18.13 fn:toUpperCase 函数.......................530
18.14 fn:trim函数.....................................530
18.15 fn:escapeXml 函数..........................530
18.16 fn:length 函数..................................531
18.17 小结.................................................532
18.18 思考题.............................................533
第19章 简单标签和标签文件.............535
19.1 实现SimpleTag 接口........................535
创建和使用<hello>简单标签537
创建和使用带属性和标签主体
的<welcome>简单标签.............538
创建和使用带动态属性的
<max>简单标签........................540
19.2 使用标签文件....................................541
标签文件的隐含对象...........545
标签文件的指令...................546
标签文件的<jsp:invoke> 和
<jsp:doBody>动作元素.............547
创建和使用带属性和标签主体
的display标签文件..................548
创建和使用带属性和标签主体
的welcome标签文件................549
创建和使用带变量的precode 标
签文件........................................551
19.3 小结...................................................552
19.4 思考题...............................................552
第20章 过滤器.....................................555
20.1 过滤器简介........................................555
20.2 创建过滤器........................................556
20.3 发布过滤器........................................560
在web.xml 文件中配置过滤器
....................................................560
用WebFilter 标注来配置过滤
器................................................561
用NoteFilter 来过滤NoteServlet
的范例........................................562
20.4 串联过滤器........................................566
包装设计模式简介...............567
ServletOutputStream 的包装类
....................................................569
HttpServletResponse 的包装类
....................................................572
创建对响应结果进行字符串替
换的过滤器................................573
ReplaceTextFilter 过滤器工作的
UML时序图..............................574
发布和运行包含
ReplaceTextFilter 过滤器的Web 应
用................................................576
20.5 异步处理过滤器................................579
20.6 小结...................................................582
20.7 思考题...............................................582
第21章 Web应用中访问EJB 组件....587
21.1 JavaEE 体系结构简介.......................587
21.2 安装和配置WildFly服务器.............589
21.3 创建EJB 组件...................................590
编写Remote 接口.................591
编写Enterprise Java Bean 类591
21.4 在Web 应用中访问EJB组件..........593
21.5 发布JavaEE 应用..............................595
在WildFly上发布EJB组件595
在WildFly上发布Web应用596
在WildFly 上发布JavaEE 应用
...................................................597
21.6 小结...................................................598
21.7 思考题...............................................600
第22章 Web应用中访问Web 服务....601
22.1 SOAP 简介........................................601
22.2 在Tomcat 上发布Axis Web 应用....603
22.3 创建SOAP 服务...............................604
创建提供SOAP 服务的Java 类
...................................................605
创建SOAP服务的发布描述文件
...................................................605
22.4 发布和管理SOAP 服务...................606
发布SOAP 服务...................606
管理SOAP 服务...................607
22.5 创建和运行SOAP 客户程序............609
22.6 在bookstore 应用中访问SOAP 服务
............................................................. 611
对SOAP服务方法的参数和返回
值的限制....................................611
创建BookDB 服务类及
BookDBDelegate代理类...........612
发布BookDBService 服务和
bookstore应用...........................617
22.7 小结...................................................619
22.8 思考题...............................................620
第23章 Web应用的MVC 设计 模式623
23.1 MVC 设计模式简介..........................623
23.2 JSP Model1 和JSP Model2...............625
23.3 Spring MVC 概述..............................627
Spring MVC的框架结构......627
Spring MVC的工作流程......630
23.4 创建采用Spring MVC的Web 应用630
建立Spring MVC的环境.....630
创建视图...............................631
创建模型...............................632
创建Controller组件.............633
创建web.xml 文件和Spring
MVC 配置文件.........................636
23.5 运行helloapp 应用............................637
23.6 小结...................................................638
23.7 思考题...............................................638
第2篇
Tomcat配置及第三方实用软件的用法
第 24章 Tomcat的管理平台................641
24.1 访问Tomcat 的管理平台..................641
24.2 Tomcat 的管理平台...........................642
管理Web应用......................642
管理HTTP 会话...................644
查看Tomcat 服务器信息......645
24.3 小结...................................................646
第25章 安全域.....................................647
25.1 安全域概述........................................647
25.2 为Web 资源设置安全约束...............648
在web.xml 中加入
<security-constraint>元素..........649
在web.xml中加入<login-config>
元素............................................651
在web.xml 中加入
<security-role>元素...................654
25.3 内存域...............................................655
25.4 JDBC 域.............................................656
用户数据库的结构...............656
在MySQL 中创建和配置用户数
据库............................................657
配置<Realm>元素.................658
25.5 DataSource 域....................................659
25.6 在Web 应用中访问用户信息...........660
25.7 小结...................................................661
25.8 思考题...............................................661
第26章 Tomcat与其他HTTP 服务器集成
...................................................................663
26.1 Tomcat 与HTTP 服务器集成的原理663
JK插件..................................664
AJP 协议................................665
26.2 在Windows下Tomcat与Apache服务器
集成.....................................................665
26.3 在Linux下Tomcat 与Apache服务器集
成.........................................................668
26.4 Tomcat 与IIS 服务器集成................670
安装和启动IIS服务器.........670
准备相关文件.......................671
编辑注册表...........................672
在IIS 中加入“jakarta”虚拟目
录................................................673
把JK 插件作为ISAPI 筛选器加
入到IIS......................................674
测试配置...............................675
26.5 Tomcat 集群.......................................675
配置集群系统的负载平衡器676
配置集群管理器...................678
26.6 小结...................................................682
26.7 思考题...............................................683
第27章 在Tomcat中配置SSI.............685
27.1 SSI 简介.............................................685
echo指令.............................686
include指令.........................688
flastmod 指令......................689
fsize 指令.............................690
exec指令.............................690
config指令..........................690
if、elif、else 和endif 指令
....................................................692
27.2 在Tomcat 中配置对SSI 的支持......692
27.3 小结...................................................694
27.4 思考题...............................................694
第28章 Tomcat阀................................697
28.1 Tomcat 阀简介...................................697
28.2 客户访问日志阀................................698
28.3 远程地址过滤阀................................700
28.4 远程主机过滤阀................................701
28.5 错误报告阀........................................702
28.6 小结...................................................703
28.7 思考题...............................................703
第29章 在Tomcat中配置SSL...........705
29.1 SSL简介............................................705
加密通信...............................706
安全证书...............................706
SSL握手...............................707
29.2 在Tomcat 中使用SSL......................709
准备安全证书.......................709
配置SSL连接器...................710
访问支持SSL的Web站点..711
29.3 小结...................................................712
29.4 思考题...............................................712
第30章 用ANT工具管理Web 应用..715
30.1 安装配置ANT ..................................715
30.2 创建build.xml 文件..........................715
30.3 运行ANT..........................................721
30.4 小结...................................................722
30.5 思考题...............................................723
第31章 使用Log4J 进行日志操作.....725
31.1 Log4J简介........................................725
Logger 组件...........................726
Appender组件.......................727
Layout 组件...........................728
Logger 组件的继承性...........729
31.2 Log4J 的基本使用方法.....................730
创建Log4J的配置文件........730
在程序中使用Log4J ............731
31.3 在helloapp 应用中使用Log4J .........734
31.4 小结...................................................736
31.5 思考题...............................................736
第32章 Velocity模板语言...................739
32.1 获得与Velocity相关的类库............739
32.2 Velocity的简单例子.........................740
创建Velocity模板................740
创建扩展VelocityViewServlet的
Servlet 类...................................740
发布和运行基于Velocity的Web
应用............................................741
32.3 注释...................................................743
32.4 引用...................................................743
变量引用...............................744
属性引用...............................744
方法引用...............................746
正式引用符...........................747
安静引用符...........................747
转义符...................................747
大小写替换...........................748
32.5 指令...................................................748
set指令................................748
字面字符串...........................750
if指令..................................750
比较运算...............................751
foreach 循环指令................752
include指令.........................753
parse指令............................754
macro 指令..........................754
转义VTL指令......................755
VTL的格式.........................756
32.6 其他特征...........................................756
数学运算...............................756
范围操作符...........................757
字符串的连接.......................757
32.7 小结...................................................758
32.8 思考题...............................................758
第33章 创建嵌入式Tomcat服务器...761
33.1 将Tomcat 嵌入Java 应用.................761
33.2 创建嵌入了Tomcat 的Java 示范程序
.............................................................763
33.3 终止嵌入式Tomcat 服务器..............766
调用Tomcat类的stop方法终止
服务器........................................766
通过SHUTSDOWN 命令终止服
务器............................................766
33.4 运行嵌入式Tomcat 服务器..............768
33.5 小结...................................................771
33.6 思考题...............................................771
附录A server.xml文件..........................775
A.1 配置Server 元素................................776
A.2 配置Service 元素...............................777
A.3 配置Engine元素...............................777
A.4 配置Host 元素...................................778
A.5 配置Context 元素..............................778
A.6 配置Connector 元素..........................779
A.7 配置Executor 元素............................781
附录B web.xml文件.............................783
B.1 配置过滤器.........................................785
B.2 配置Servlet ........................................786
B.3 配置Servlet 映射................................787
B.4 配置Session........................................787
B.5 配置Welcome 文件清单....................787
B.6 配置Tag Library.................................788
B.7 配置资源引用.....................................788
B.8 配置安全约束.....................................789
B.9 配置安全验证登录界面.....................789
B.10 配置对安全验证角色的引用...........790
附录C XML简介..................................791
C.1 SGML、HTML 与XML的比较......791
C.2 DTD 文档类型定义............................792
C.3 有效XML文档以及简化格式的XML文
档.........................................................793
C.4 XML中的常用术语...........................795
URL、URN和URI ...............795
XML命名空间...........
· · · · · ·