《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet或认证考试时遇到的概念、操作、应用等各种问题及解决方案。
本书针对Servlet3.0的新功能全面改版,无论章节架构还是范例程序代码,都做了全面更新。书中详细介绍了Servlet/JSP与Web容器之间的关系,必要时从Tomcat源代码分析,了解Servlet/JSP如何与容器互动。本书还涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。
本书在讲解的过程中,以“微博”项目贯穿全书,随着每一章的讲述都在适当的时候将JSP&Servlet技术应用于“微博”程序之中,使读者能够了解完整的应用程序构建方法。
本书适合JSP&Servlet初学者以及广大JSP&Servlet技术应用人员。
分享作者学习JSP心得 涵盖SCWCD考试范围 Servlet 3.0新功能介绍 全新综合练习/微博开发 提供Lab操作案例与IDE操作 教学视频 《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学员在学习课程或认证考试中遇到的概念、操作、应用等问题及解决方案 针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做了重新编写与全面更新 详细介绍了Servlet/JSP与Web容器之间的关系,必要时从Tomcat源代码分析,了解Servlet/JSP如何与容器互动 涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例 以“微博”项目贯穿全书,将JSP&Servlet技术应用于实际项目开发之中,并使用重构方式来改进应用程序架构 提供练习的Lab操作文档,方便读者掌握练习重点 将IDE操作纳入教学内容,使读者能与实践结合,提供教学视频能更清楚地帮助读者掌握操作步骤
“序”应该表达些什么?写一本书的动机?写一本书的过程?写完一本书的感想?
在本书第1版手稿完成后,思考着如何写序的那几天,在整理旧书时从一本书中掉出了一张车票,于是我写了一张车票引发一连串回忆的故事。在本书第2版手稿完成后,思考着如何写序的这几天,我回顾改版的这段漫长日子,想着一脚踏入陌生领域、探索一切未知的过程。
现在的你,也许在某个领域有擅长的事务,有没有想过,或许哪天,你会接触另一个完全未知的世界,到时候,你会怎么办?
我在信息领域的知识,大多都是自学而来,对于信息领域知识的搜寻、过滤、验证与实践,自认为颇有心得,改版过程中,乍然面对一切毫无所知的世界,也曾一度乱了手脚。某个下午带着慌乱的心路过了书局,突然心里有了答案:“我一直认为收集与过滤是我最大的能力,不用在这个时候,那要用在什么时候?”
你有没有听过类似的事呢?某人拥有高学历,却在生完小孩之后,毅然决然在家带小孩,某人在某领域拥有很好的经历,却在大家觉得他即将迈向巅峰时,投入另一个领域重新开始。像这类的情况,旁人通常都会为他们可惜。
我面对着完全未知的世界,开始发挥大量阅读的能力,极尽可能地寻找相关的书籍,在网络上搜寻各种相关资料,逐步勾勒出这个世界应有的方向,就如同当初从电机转换入信息,一切从未知开始累积,一切从头开始建立基础,既然是初学者,那就一切从头开始建构。
高学历带小孩不好吗?也许是自愿或被迫这么做,但如果可以发挥出高学历下该有的学习态度,好好学习如何让小孩子健康、快乐成长,那不也是件好事吗?放弃原有领域的经历不好吗?把建立原有领域经历的方式应用在新领域经历的建立,因此而有所成就的案例也不在少数!
一切都是动心转念之间,无论如何,保有一颗初学者的心,保有一颗赤子之心,放下熟悉领域拥有的一切,重新出发,方向就会逐步建立,所有的基础,后续的成就,就交由时间慢慢验证。
林信良
2011年5月26日
林信良(网名:良葛格)学历:台湾大学电机工程学系经历:台湾升阳教育训练技术顾问、专业讲师,Oracle授权训练中心讲师
著作:《JavaJDK5.O学习笔记》、《JavaSE6技术手册》、《JavaJDK6.0学习笔记》、《JSP&Servlet学习笔记》、《Spring技术手册》等
译作:《Ajax实战手册》、《iQuery实战手册(第2版)》
Chapter 1 Web应用程序简介
1.1 Web应用程序基础知识
1.1.1 关于HTML
1.1.2 UR、URN与URI
1.1.3 关于HTTP
1.1.4 有关URL编码
1.1.5 动态网页与静态网页
1.2 Servlet/JSP简介
1.2.1 何谓Web容器
1.2.2 Servlet与JsP的关系
1.2.3 关于MVC/Model2
1.2.4 JavaEE简介
1.3 重点复习
1.4 课后练习
Chapter 2 编写与设置Servlet
2.1 第一个Servlet
2.1.1 准备开发环境
2.1.2 第一个Servlet程序
2.2 在HeIloServlet之后
2.2.1 关于HttpServlet
2.2.2 使用@WebServlet
2.2.3 使用web.xml
2.2.4 文件组织与部署
2.3 进阶部署设置
2.3.1 URL模式设置
2.3.2 Web目录结构
2.3.3 使用web-fragment.xml
2.4 重点复习
2.5 课后练习
Chapter 3 请求与响应
3.1 从容器到ttpServlet
3.1.1 Web容器做了什么
3.1.2 doXXXO方法
3.2 关于HttpServletRequest
3.2.1 处理请求参数与标头
3.2.2 请求参数编码处理
3.2.3 getReader()、getInputStream()读取Body内容
3.2.4 getPart().getParts()取得上传文件
3.2.5 使用RequestDispatcher调派请求
3.3 关于HttpServletResponse
3.3.1 设置响应标头、缓冲区
3.3.2 使用getWriter0输出字符
3.3.3 使用getOutputStream0输出二进制字符
3.3.4 使用sendRedirect().sendError)
3.4 综合练习
3.4.1 微博应用程序功能概述
3.4.2 实现会员注册功能
3.4.3 实现会员登录功能
3.5 重点复习
3.6 课后练习
Chapter 4 会话管理
4.1 会话管理基本原理
4.1.1 使用隐藏域
4.1.2 使用Cookie
4.1.3 使用URL重写
4.2 HttpSession会话管理
4.2.1 使用HttpSession
4.2.2 HttpSession会话管理原理
4.2.3 HttpSession与URL重写
4.3 综合练习
4.3.1 修改微博应用程序
4.3.2 新增与删除信息
4.3.3 会员网页显示信息
4.4 重点复习
4.5 课后练习
Chapter 5 Servlet进阶API、过滤器与监听器
5.1 Servlet进阶API
5.1.1 Servlet.ServletConfig与GeneriCServlet
5.1.2 使用ServletConfig
5.1.3 使用ServletContext
5.2 应用程序事件、监听器
5.2.1 ServletContext事件、监听器
5.2.2 HttpSession事件、监听器
5.2.3 HttpServletRequest事件、监听器
5.3 过滤器
5.3.1 过滤器的概念
5.3.2 实现与设置过滤器
5.3.3 请求封装器
5.3.4 响应封装器
5.4 异步处理
5.4.1 AsyncContext简介
5.4.2 模拟服务器推播
5.4.3 更多AsyncContext细节
5.5 综合练习
5.5.1 创建UserService
5.5.2 设置过滤器
5.5.3 重构微博
5.6 重点复习
5.7 课后练习
Chapter6 使用JSP
6.1 从JsP到Sen,let
6.1.1 JSP生命周期l
6.1.2 Servlet至JSP的简单转换
6.1.3 指示元素
6.1.4 声明、Scriptlet与表达式元素
6.1.5 洼释元素
6.1.6 隐式对象
6.1.7 错误处理
6.2 标准标签
6.2.1 .标签
6.2.2 、与简介
6.2.3 深入.与
6.2.4 谈谈Model1
……
Chapter7 使用JSTL
Chapter8 自定义标签
Chapter9 整合数据库
Chapter10 Web容器安全管理
Chapter11 JavaMail入门
Chapter12 从模式到框架
AppendixA 如何使用本书项目
AppendixB MySQL入门