内容简介 · · · · · ·
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。
本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做了全面更新。书中详细介绍了Servlet/ JSP与Web容器之间的关系,必要时从Tomcat源代码分析,了解Servlet/ JSP如何与容器互动。本书还涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。
本书在讲解的过程中,以“微博”项目贯穿全书,随着每一章的讲述都在适当的时候将JSP & Servlet技术应用于“微博”程序之中,以便读者能了解完整的应用程序构建方法。
作者简介 · · · · · ·
林信良(网名:良葛格)
学历:台湾大学电机工程学系
经历:台湾升阳教育训练技术顾问、专业讲师,Oracle授权训练中心讲师
著作:《Java JDK 5.0学习笔记》、《Java SE 6技术手册》、《Spring技术手册》等
译作:《Ajax实战手册》、《jQuery实战手册(第2版)》
个人网站:http://openhome.cc
目录 · · · · · ·
第1章 Web应用程序简介 1
1.1 Web应用程序基础知识 2
1.1.1 关于HTML 2
1.1.2 URL、URN与URI 3
1.1.3 关于HTTP 5
1.1.4 有关URL编码 9
· · · · · · (更多)
1.1 Web应用程序基础知识 2
1.1.1 关于HTML 2
1.1.2 URL、URN与URI 3
1.1.3 关于HTTP 5
1.1.4 有关URL编码 9
· · · · · · (更多)
第1章 Web应用程序简介 1
1.1 Web应用程序基础知识 2
1.1.1 关于HTML 2
1.1.2 URL、URN与URI 3
1.1.3 关于HTTP 5
1.1.4 有关URL编码 9
1.1.5 动态网页与静态网页 11
1.2 Servlet/JSP简介 13
1.2.1 何谓Web容器 13
1.2.2 Servlet与JSP的关系 15
1.2.3 关于MVC/Model 2 18
1.2.4 Java EE简介 21
1.3 重点复习 22
1.4 课后练习 23
第2章 编写与设置Servlet 25
2.1 第一个Servlet 26
2.1.1 准备开发环境 26
2.1.2 第一个Servlet程序 28
2.2 在HelloServlet之后 31
2.2.1 关于HttpServlet 31
2.2.2 使用@WebServlet 33
2.2.3 使用web.xml 34
2.2.4 文件组织与部署 36
2.3 进阶部署设置 37
2.3.1 URL模式设置 38
2.3.2 Web目录结构 40
2.3.3 使用web-fragment.xml 42
2.4 重点复习 45
2.5 课后练习 46
第3章 请求与响应 48
3.1 从容器到HttpServlet 49
3.1.1 Web容器做了什么 49
3.1.2 doXXX()方法 51
3.2 关于HttpServletRequest 54
3.2.1 处理请求参数与标头 54
3.2.2 请求参数编码处理 57
3.2.3 getReader()、getInputStream()
读取Body内容 60
3.2.4 getPart()、getParts()取得上传
文件 64
3.2.5 使用RequestDispatcher调派
请求 69
3.3 关于HttpServletResponse 75
3.3.1 设置响应标头、缓冲区 76
3.3.2 使用getWriter()输出字符 77
3.3.3 使用getOutputStream()输出
二进制字符 80
3.3.4 使用sendRedirect()、
sendError() 82
3.4 综合练习/微博 84
3.4.1 微博应用程序功能概述 84
3.4.2 实现会员注册功能 86
3.4.3 实现会员登录功能 90
3.5 重点复习 92
3.6 课后练习 93
第4章 会话管理 96
4.1 会话管理基本原理 97
4.1.1 使用隐藏域 97
4.1.2 使用Cookie 100
4.1.3 使用URL重写 104
4.2 HttpSession会话管理 107
4.2.1 使用HttpSession 107
4.2.2 HttpSession会话管理
原理 111
4.2.3 HttpSession与URL重写 113
4.3 综合练习/微博 115
4.3.1 修改微博应用程序 116
4.3.2 新增与删除信息 117
4.3.3 会员网页显示信息 120
4.4 重点复习 122
4.5 课后练习 123
第5章 Servlet进阶API、过滤器
与监听器 125
5.1 Servlet进阶API 126
5.1.1 Servlet、ServletConfig与GenericServlet 126
5.1.2 使用ServletConfig 128
5.1.3 使用ServletContext 131
5.2 应用程序事件、监听器 134
5.2.1 ServletContext事件、
监听器 134
5.2.2 HttpSession事件、
监听器 137
5.2.3 HttpServletRequest事件、
监听器 144
5.3 过滤器 145
5.3.1 过滤器的概念 145
5.3.2 实现与设置过滤器 147
5.3.3 请求封装器 152
5.3.4 响应封装器 157
5.4 异步处理 161
5.4.1 AsyncContext简介 161
5.4.2 模拟服务器推播 164
5.4.3 更多AsyncContext
细节 167
5.5 综合练习/微博 168
5.5.1 创建UserService 168
5.5.2 设置过滤器 174
5.5.3 重构微博 175
5.6 重点复习 180
5.7 课后练习 182
第6章 使用JSP 186
6.1 从JSP到Servlet 187
6.1.1 JSP生命周期 187
6.1.2 Servlet至JSP的简单
转换 190
6.1.3 指示元素 194
6.1.4 声明、Scriptlet与表达式
元素 198
6.1.5 注释元素 202
6.1.6 隐式对象 203
6.1.7 错误处理 205
6.2 标准标签 210
6.2.1 <jsp:include>、<jsp:forward>
标签 210
6.2.2 <jsp:useBean>、<jsp:setProperty>
与<jsp:getProperty>简介 211
6.2.3 深入<jsp:useBean>、<jsp:setProperty> 与<jsp:getProperty> 214
6.2.4 谈谈Model 1 218
6.2.5 XML格式标签 220
6.3 表达式语言(EL) 221
6.3.1 EL简介 221
6.3.2 使用EL取得属性 223
6.3.3 EL隐式对象 226
6.3.4 EL运算符 227
6.3.5 自定义EL函数 228
6.4 综合练习/微博 230
6.4.1 改用JSP实现视图 230
6.4.2 重构UserService
与member.jsp 234
6.4.3 创建register.jsp、index.jsp、
user.jsp 240
6.5 重点复习 245
6.6 课后练习 247
第7章 使用JSTL 249
7.1 JSTL简介 250
7.2 核心标签库 252
7.2.1 流程处理标签 252
7.2.2 错误处理标签 255
7.2.3 网页导入、重定向、URL
处理标签 257
7.2.4 属性处理与输出标签 258
7.3 I18N兼容格式标签库 261
7.3.1 I18N基础 261
7.3.2 信息标签 264
7.3.3 地区标签 267
7.3.4 格式标签 272
7.4 XML标签库 275
7.4.1 XPath、XSLT基础 276
7.4.2 解析、设置与输出
标签 279
7.4.3 流程处理标签 280
7.4.4 文件转换标签 281
7.5 函数标签库 283
7.6 综合练习/微博 284
7.6.1 修改register.jsp 285
7.6.2 修改member.jsp 285
7.6.3 修改user.jsp 287
7.7 重点复习 288
7.8 课后练习 290
第8章 自定义标签 293
8.1 Tag File自定义标签 294
8.1.1 Tag File简介 294
8.1.2 处理标签属性与Body 297
8.1.3 TLD文件 299
8.2 Simple Tag自定义标签 301
8.2.1 Simple Tag简介 301
8.2.2 了解API架构与生命
周期 304
8.2.3 处理标签属性与Body 306
8.2.4 与父标签沟通 310
8.2.5 TLD文件 314
8.3 Tag自定义标签 315
8.3.1 Tag简介 315
8.3.2 了解架构与生命周期 317
8.3.3 重复执行标签Body 319
8.3.4 处理Body运行结果 321
8.3.5 与父标签沟通 324
8.4 综合练习/微博 327
8.4.1 实现首页最新信息 327
8.4.2 自定义Blahs标签 330
8.5 重点复习 332
8.6 课后练习 334
第9章 整合数据库 338
9.1 JDBC入门 339
9.1.1 JDBC简介 339
9.1.2 连接数据库 344
9.1.3 使用Statement、
ResultSet 350
9.1.4 使用PreparedStatement、CallableStatement 355
9.2 JDBC进阶 359
9.2.1 使用DataSource取得
连接 359
9.2.2 使用ResultSet卷动、更新
数据 362
9.2.3 批次更新 364
9.2.4 Blob与Clob 366
9.2.5 事务简介 374
9.2.6 metadata简介 381
9.2.7 RowSet简介 384
9.3 使用SQL标签库 390
9.3.1 数据源、查询标签 390
9.3.2 更新、参数、事务标签 391
9.4 综合练习/微博 392
9.4.1 重构/使用DAO 393
9.4.2 使用JDBC实现DAO 395
9.4.3 设置JNDI部署描述 400
9.5 重点复习 401
9.6 课后练习 402
第10章 Web容器安全管理 404
10.1 了解与实现Web容器安全
管理 405
10.1.1 Java EE安全基本概念 405
10.1.2 声明式基本身份验证 408
10.1.3 容器基本身份验证
原理 413
10.1.4 声明式窗体验证 414
10.1.5 容器窗体验证原理 415
10.1.6 使用HTTPS保护
数据 416
10.1.7 编程式安全管理 419
10.1.8 标注访问控制 422
10.2 综合练习/微博 424
10.2.1 使用容器窗体验证 424
10.2.2 设置DataSourceRealm 426
10.3 重点复习 429
10.4 课后练习 430
第11章 JavaMail入门 432
11.1 使用JavaMail 433
11.1.1 传送纯文字邮件 433
11.1.2 发送多重内容邮件 436
11.2 综合练习/微博 440
11.2.1 实现取回密码功能 440
11.2.2 接收重送密码请求 445
11.3 重点复习 447
11.4 课后练习 447
第12章 从模式到框架 449
12.1 认识设计模式 450
12.1.1 Template Method模式(Gof
设计模式) 450
12.1.2 Intercepting Filter模式(Java
EE设计模式) 451
12.1.3 Model-View-Controller模式
(架构模式) 452
12.2 重构、模式与框架 453
12.2.1 Business Delegate
模式 453
12.2.2 Service Locator模式 454
12.2.3 Transfer Object模式 455
12.2.4 Front Controller模式 455
12.2.5 库与框架 456
12.3 重点复习 457
12.5 课后练习 459
附录A 如何使用本书项目 460
附录B MySQL入门 463
· · · · · · (收起)
1.1 Web应用程序基础知识 2
1.1.1 关于HTML 2
1.1.2 URL、URN与URI 3
1.1.3 关于HTTP 5
1.1.4 有关URL编码 9
1.1.5 动态网页与静态网页 11
1.2 Servlet/JSP简介 13
1.2.1 何谓Web容器 13
1.2.2 Servlet与JSP的关系 15
1.2.3 关于MVC/Model 2 18
1.2.4 Java EE简介 21
1.3 重点复习 22
1.4 课后练习 23
第2章 编写与设置Servlet 25
2.1 第一个Servlet 26
2.1.1 准备开发环境 26
2.1.2 第一个Servlet程序 28
2.2 在HelloServlet之后 31
2.2.1 关于HttpServlet 31
2.2.2 使用@WebServlet 33
2.2.3 使用web.xml 34
2.2.4 文件组织与部署 36
2.3 进阶部署设置 37
2.3.1 URL模式设置 38
2.3.2 Web目录结构 40
2.3.3 使用web-fragment.xml 42
2.4 重点复习 45
2.5 课后练习 46
第3章 请求与响应 48
3.1 从容器到HttpServlet 49
3.1.1 Web容器做了什么 49
3.1.2 doXXX()方法 51
3.2 关于HttpServletRequest 54
3.2.1 处理请求参数与标头 54
3.2.2 请求参数编码处理 57
3.2.3 getReader()、getInputStream()
读取Body内容 60
3.2.4 getPart()、getParts()取得上传
文件 64
3.2.5 使用RequestDispatcher调派
请求 69
3.3 关于HttpServletResponse 75
3.3.1 设置响应标头、缓冲区 76
3.3.2 使用getWriter()输出字符 77
3.3.3 使用getOutputStream()输出
二进制字符 80
3.3.4 使用sendRedirect()、
sendError() 82
3.4 综合练习/微博 84
3.4.1 微博应用程序功能概述 84
3.4.2 实现会员注册功能 86
3.4.3 实现会员登录功能 90
3.5 重点复习 92
3.6 课后练习 93
第4章 会话管理 96
4.1 会话管理基本原理 97
4.1.1 使用隐藏域 97
4.1.2 使用Cookie 100
4.1.3 使用URL重写 104
4.2 HttpSession会话管理 107
4.2.1 使用HttpSession 107
4.2.2 HttpSession会话管理
原理 111
4.2.3 HttpSession与URL重写 113
4.3 综合练习/微博 115
4.3.1 修改微博应用程序 116
4.3.2 新增与删除信息 117
4.3.3 会员网页显示信息 120
4.4 重点复习 122
4.5 课后练习 123
第5章 Servlet进阶API、过滤器
与监听器 125
5.1 Servlet进阶API 126
5.1.1 Servlet、ServletConfig与GenericServlet 126
5.1.2 使用ServletConfig 128
5.1.3 使用ServletContext 131
5.2 应用程序事件、监听器 134
5.2.1 ServletContext事件、
监听器 134
5.2.2 HttpSession事件、
监听器 137
5.2.3 HttpServletRequest事件、
监听器 144
5.3 过滤器 145
5.3.1 过滤器的概念 145
5.3.2 实现与设置过滤器 147
5.3.3 请求封装器 152
5.3.4 响应封装器 157
5.4 异步处理 161
5.4.1 AsyncContext简介 161
5.4.2 模拟服务器推播 164
5.4.3 更多AsyncContext
细节 167
5.5 综合练习/微博 168
5.5.1 创建UserService 168
5.5.2 设置过滤器 174
5.5.3 重构微博 175
5.6 重点复习 180
5.7 课后练习 182
第6章 使用JSP 186
6.1 从JSP到Servlet 187
6.1.1 JSP生命周期 187
6.1.2 Servlet至JSP的简单
转换 190
6.1.3 指示元素 194
6.1.4 声明、Scriptlet与表达式
元素 198
6.1.5 注释元素 202
6.1.6 隐式对象 203
6.1.7 错误处理 205
6.2 标准标签 210
6.2.1 <jsp:include>、<jsp:forward>
标签 210
6.2.2 <jsp:useBean>、<jsp:setProperty>
与<jsp:getProperty>简介 211
6.2.3 深入<jsp:useBean>、<jsp:setProperty> 与<jsp:getProperty> 214
6.2.4 谈谈Model 1 218
6.2.5 XML格式标签 220
6.3 表达式语言(EL) 221
6.3.1 EL简介 221
6.3.2 使用EL取得属性 223
6.3.3 EL隐式对象 226
6.3.4 EL运算符 227
6.3.5 自定义EL函数 228
6.4 综合练习/微博 230
6.4.1 改用JSP实现视图 230
6.4.2 重构UserService
与member.jsp 234
6.4.3 创建register.jsp、index.jsp、
user.jsp 240
6.5 重点复习 245
6.6 课后练习 247
第7章 使用JSTL 249
7.1 JSTL简介 250
7.2 核心标签库 252
7.2.1 流程处理标签 252
7.2.2 错误处理标签 255
7.2.3 网页导入、重定向、URL
处理标签 257
7.2.4 属性处理与输出标签 258
7.3 I18N兼容格式标签库 261
7.3.1 I18N基础 261
7.3.2 信息标签 264
7.3.3 地区标签 267
7.3.4 格式标签 272
7.4 XML标签库 275
7.4.1 XPath、XSLT基础 276
7.4.2 解析、设置与输出
标签 279
7.4.3 流程处理标签 280
7.4.4 文件转换标签 281
7.5 函数标签库 283
7.6 综合练习/微博 284
7.6.1 修改register.jsp 285
7.6.2 修改member.jsp 285
7.6.3 修改user.jsp 287
7.7 重点复习 288
7.8 课后练习 290
第8章 自定义标签 293
8.1 Tag File自定义标签 294
8.1.1 Tag File简介 294
8.1.2 处理标签属性与Body 297
8.1.3 TLD文件 299
8.2 Simple Tag自定义标签 301
8.2.1 Simple Tag简介 301
8.2.2 了解API架构与生命
周期 304
8.2.3 处理标签属性与Body 306
8.2.4 与父标签沟通 310
8.2.5 TLD文件 314
8.3 Tag自定义标签 315
8.3.1 Tag简介 315
8.3.2 了解架构与生命周期 317
8.3.3 重复执行标签Body 319
8.3.4 处理Body运行结果 321
8.3.5 与父标签沟通 324
8.4 综合练习/微博 327
8.4.1 实现首页最新信息 327
8.4.2 自定义Blahs标签 330
8.5 重点复习 332
8.6 课后练习 334
第9章 整合数据库 338
9.1 JDBC入门 339
9.1.1 JDBC简介 339
9.1.2 连接数据库 344
9.1.3 使用Statement、
ResultSet 350
9.1.4 使用PreparedStatement、CallableStatement 355
9.2 JDBC进阶 359
9.2.1 使用DataSource取得
连接 359
9.2.2 使用ResultSet卷动、更新
数据 362
9.2.3 批次更新 364
9.2.4 Blob与Clob 366
9.2.5 事务简介 374
9.2.6 metadata简介 381
9.2.7 RowSet简介 384
9.3 使用SQL标签库 390
9.3.1 数据源、查询标签 390
9.3.2 更新、参数、事务标签 391
9.4 综合练习/微博 392
9.4.1 重构/使用DAO 393
9.4.2 使用JDBC实现DAO 395
9.4.3 设置JNDI部署描述 400
9.5 重点复习 401
9.6 课后练习 402
第10章 Web容器安全管理 404
10.1 了解与实现Web容器安全
管理 405
10.1.1 Java EE安全基本概念 405
10.1.2 声明式基本身份验证 408
10.1.3 容器基本身份验证
原理 413
10.1.4 声明式窗体验证 414
10.1.5 容器窗体验证原理 415
10.1.6 使用HTTPS保护
数据 416
10.1.7 编程式安全管理 419
10.1.8 标注访问控制 422
10.2 综合练习/微博 424
10.2.1 使用容器窗体验证 424
10.2.2 设置DataSourceRealm 426
10.3 重点复习 429
10.4 课后练习 430
第11章 JavaMail入门 432
11.1 使用JavaMail 433
11.1.1 传送纯文字邮件 433
11.1.2 发送多重内容邮件 436
11.2 综合练习/微博 440
11.2.1 实现取回密码功能 440
11.2.2 接收重送密码请求 445
11.3 重点复习 447
11.4 课后练习 447
第12章 从模式到框架 449
12.1 认识设计模式 450
12.1.1 Template Method模式(Gof
设计模式) 450
12.1.2 Intercepting Filter模式(Java
EE设计模式) 451
12.1.3 Model-View-Controller模式
(架构模式) 452
12.2 重构、模式与框架 453
12.2.1 Business Delegate
模式 453
12.2.2 Service Locator模式 454
12.2.3 Transfer Object模式 455
12.2.4 Front Controller模式 455
12.2.5 库与框架 456
12.3 重点复习 457
12.5 课后练习 459
附录A 如何使用本书项目 460
附录B MySQL入门 463
· · · · · · (收起)
喜欢读"JSP & Servlet学习笔记"的人也喜欢 · · · · · ·
- Java JDK 7学习笔记 7.6
- MySQL技术内幕 8.3
- Go Web 编程 8.0
- 深入剖析Tomcat 8.2
- Spring实战(第4版) 8.2
- 实战Java虚拟机 8.1
- NoSQL精粹 8.1
- Unix内核源码剖析 8.2
- Servlet与JSP核心编程 7.9
JSP & Servlet学习笔记的书评 · · · · · · ( 全部 1 条 )
> 更多书评 1篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部4 )
-
清华大学出版社 (2010)8.3分 27人读过
-
碁峰 (2018)暂无评分
-
清华大学出版社 (2019)暂无评分 2人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- Team_13F (rocedu)
- 一个计算机爱好者的自我修养 (热心市民钟先生)
- 《Web程序设计》课程参考资料 (rocedu)
- 个人 (夜羽螺)
- Reading for Coding (贝木泥舟)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有187人想读,手里有一本闲着?
订阅关于JSP & Servlet学习笔记的评论:
feed: rss 2.0
0 有用 yuedong 2019-02-11 15:57:29
看了好久,东一页西一页落下好多。
0 有用 rocedu 2012-12-02 19:24:10
明年选作《web程序设计》的教材。
1 有用 nil 2015-03-28 19:02:43
最好的JavaEE入门书籍,有层次性,而且不是反复灌输API这么简单,步步深入地教学,比起李刚的那本JavaEE实在是好太多了。四星的原因是必须被Spring in Action给比下来。
0 有用 希哲 2019-10-19 12:29:59
不怎么样,他的JAVA笔记还好
0 有用 沈晓蓓 2013-06-21 10:17:34
语言有趣易懂,深入浅出
0 有用 流浪的龙 2022-05-04 09:01:11
java不是我的菜
0 有用 在冬夜里行走 2020-04-30 00:03:35
学习Javaweb选修课,老师在附录推荐的,闲时翻来一看,发现比教材讲得好。 对于我这种初学者,讲解通俗易懂,又在基础上链接了相关源码,再结合老师的实验,事半功倍。 真实体验: 看这本书比看《编译原理》好玩得多,我都是在看《编译原理》的间隙,忙里偷闲看,可以放松心情,毕竟不怎么费脑。
0 有用 喜欢雨夜 2019-10-22 09:09:50
javaweb的基础根本,就是这里。 数据库隔离级别总结的很好。
0 有用 希哲 2019-10-19 12:29:59
不怎么样,他的JAVA笔记还好
0 有用 Moon Shadow 2019-09-09 16:02:05
很好的一本书,学了SpringMVC但不知道dispatchServlet到底怎么工作的,Controller与servlet的联系与区别又是什么,这本书第三章搭建了一个简单的MVC我恍然大悟。