《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入門