編輯推薦
分享作者學習JSP心得
涵蓋SCWCD考試範圍
Servlet 3.0新功能介紹
全新綜閤練習/微博開發
提供Lab操作案例與IDE操作
教學視頻
《JSP & Servlet學習筆記(第2版)》是作者多年來教學實踐經驗的總結,匯集瞭學員在學習課程或認證考試中遇到的概念、操作、應用等問題及解決方案
針對Servlet 3.0的新功能全麵改版,無論是章節架構與範例程序代碼,都做瞭重新編寫與全麵更新
詳細介紹瞭Servlet/JSP與Web容器之間的關係,必要時從Tomcat源代碼分析,瞭解Servlet/JSP如何與容器互動
涵蓋瞭文本處理、圖片驗證、自動登錄、驗證過濾器、壓縮處理、JSTL應用與操作等各種實用範例
以“微博”項目貫穿全書,將JSP&Servlet技術應用於實際項目開發之中,並使用重構方式來改進應用程序架構
提供練習的Lab操作文檔,方便讀者掌握練習重點
將IDE操作納入教學內容,使讀者能與實踐結閤,提供教學視頻能更清楚地幫助讀者掌握操作步驟
內容簡介
《JSP & Servlet學習筆記(第2版)》是作者多年來教學實踐經驗的總結,匯集瞭學生在學習JSP&Servlet或認證考試時遇到的概念、操作、應用等各種問題及解決方案。
本書針對Servlet3.0的新功能全麵改版,無論章節架構還是範例程序代碼,都做瞭全麵更新。書中詳細介紹瞭Servlet/JSP與Web容器之間的關係,必要時從Tomcat源代碼分析,瞭解Servlet/JSP如何與容器互動。本書還涵蓋瞭文本處理、圖片驗證、自動登錄、驗證過濾器、壓縮處理、JSTL應用與操作等各種實用範例。
本書在講解的過程中,以“微博”項目貫穿全書,隨著每一章的講述都在適當的時候將JSP&Servlet技術應用於“微博”程序之中,使讀者能夠瞭解完整的應用程序構建方法。
本書適閤JSP&Servlet初學者以及廣大JSP&Servlet;技術應用人員。
作者簡介
林信良(網名:良葛格)學曆:颱灣大學電機工程學係經曆:颱灣升陽教育訓練技術顧問、專業講師,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入門
前言/序言
深入探索Java Web開發的核心——JSP與Servlet的奧秘 作為一款專為Java Web開發者精心打造的學習指南,本書(第二版,附帶DVD-ROM光盤)旨在係統性、深入性地剖析Java Server Pages (JSP) 和Servlet這兩大構建動態Web應用的關鍵技術。本書不僅僅是API的羅列,更注重於理解技術背後的原理,掌握實用的開發技巧,以及構建高效、健壯的Web應用。從基礎概念到高級特性,從單個組件的運用到整體架構的設計,本書將帶領讀者一步步構建起堅實的Java Web開發知識體係。 第一部分:Servlet——Java Web開發的服務端基石 本部分將為你構建堅實的Servlet編程基礎。我們將從最核心的`Servlet`接口和`HttpServlet`類入手,詳細講解其生命周期(加載、初始化、服務、銷毀),以及如何通過`Servlet`處理HTTP請求和生成HTTP響應。你將學習到: Servlet入門: 理解Servlet的工作原理,如何編寫第一個Servlet程序,以及如何在Web服務器(如Tomcat)中部署和運行。 請求與響應處理: 深入理解`HttpServletRequest`和`HttpServletResponse`對象,包括如何獲取請求參數、請求頭、Cookies,以及如何設置響應狀態碼、響應頭和發送響應內容。 Servlet配置與管理: 掌握`web.xml`(或注解)在Servlet配置中的作用,包括URL映射、初始化參數、安全約束等,並探討Servlet 3.0+ introduced的注解驅動配置方式。 Servlet鏈與過濾器: 學習如何利用Servlet鏈將多個Servlet串聯起來處理請求,以及如何使用Servlet過濾器(`Filter`)在請求到達Servlet之前或響應返迴客戶端之前進行預處理或後處理,例如日誌記錄、身份驗證、數據轉換等。 Servlet監聽器: 瞭解Servlet監聽器(`ServletContextListener`、`HttpSessionListener`、`ServletRequestListener`等)的作用,如何監聽Web應用的生命周期事件,以及如何利用它們實現全局的資源管理和狀態維護。 Session與Cookie管理: 深入解析HTTP協議的無狀態特性,以及如何通過Session和Cookie來實現用戶會話的維護。你將學習Session的創建、銷毀、屬性的存儲與獲取,以及Cookie的設置、讀取和管理,理解它們在用戶身份認證、購物車等場景中的關鍵作用。 Servlet的綫程安全與並發處理: 探討Servlet在多綫程環境下的並發問題,理解`SingleThreadModel`(雖然已過時但理解其曆史背景有益)和更現代的並發控製策略,學習如何編寫綫程安全的Servlet代碼,避免數據競爭和死鎖。 Servlet進階特性: 探索Servlet API提供的其他高級功能,如異步處理(`AsyncContext`)用於提高I/O密集型應用的吞吐量,以及Servlet 3.1+ introduced的WebSocket支持,為實現實時通信應用奠定基礎。 第二部分:JSP——Java Web開發的高效視圖層技術 在掌握瞭Servlet的服務端處理能力後,本部分將聚焦於JSP,一種使Java代碼和HTML混閤編寫的服務器端腳本技術,它極大地簡化瞭Web頁麵的動態內容生成。你將學會: JSP基礎: 理解JSP的工作原理,它如何被編譯成Servlet,以及JSP頁麵與Servlet的交互方式。學習JSP的基本語法,包括指令(`<%@ page %>`、`<%@ include %>`、`<%@ taglib %>`)、聲明(`<%! %>`)、腳本片段(`<% %>`)、錶達式(`<%= %>`)和JSP動作(``、``、``、``、``)。 JSP內置對象: 詳細介紹JSP提供的九個內置對象(`request`、`response`、`session`、`application`、`out`、`pageContext`、`config`、`page`、`exception`),並演示它們在實際開發中的應用。 EL錶達式(Expression Language): 學習EL錶達式,一種更簡潔、更易讀的方式來訪問JavaBean的屬性、Session屬性、Application屬性等,有效減少瞭腳本片段的使用。 JSTL(JSP Standard Tag Library): 深入掌握JSTL標簽庫,包括核心標簽庫(`c:`)、格式化標簽庫(`fmt:`)、SQL標簽庫(`sql:`,已不推薦在Web應用中使用,但瞭解其原理有益)、XML標簽庫(`x:`)和函數標簽庫(`fn:`)。JSTL是實現JSP頁麵無Java代碼的“乾淨”開發的基石,能夠極大提高開發效率和代碼可維護性。 自定義標簽: 學習如何編寫自己的JSP自定義標簽,擴展JSP的功能,將重復的邏輯封裝起來,實現代碼的重用和業務與錶現的分離。 JSP與Servlet的協作: 探討JSP和Servlet在MVC(Model-View-Controller)設計模式中的角色。理解Servlet作為控製器,處理業務邏輯並轉發請求到JSP視圖層,JSP負責生成動態HTML響應。 JSP的高級應用: 學習JSP的頁麵包含、頁麵重定嚮、錯誤處理機製,以及如何在JSP中使用JavaBean和DAO(Data Access Object)進行數據操作。 第三部分:整閤與實踐——構建完整的Java Web應用 本書的第三部分將以上兩部分的知識為基礎,引導讀者將Servlet和JSP技術整閤起來,構建一個功能完善的Java Web應用程序。我們將重點關注: MVC設計模式實戰: 詳細講解MVC模式在Java Web開發中的應用。如何使用Servlet作為控製器,處理用戶請求,調用業務邏輯,並將數據傳遞給JSP視圖進行展示。 常用Java Web框架介紹(簡述): 雖然本書聚焦於JSP和Servlet本身,但也會簡要介紹一些流行的Java Web框架(如Spring MVC、Struts等)如何建立在Servlet API之上,以及它們如何提供更高級的功能和開發模式,幫助讀者理解JSP/Servlet在現代Java Web開發生態中的位置。 數據庫訪問: 學習如何使用JDBC(Java Database Connectivity)連接數據庫,執行SQL語句,並處理查詢結果。結閤Servlet和JSP,實現從數據庫讀取數據並展示在Web頁麵上,以及將用戶輸入的數據保存到數據庫的功能。 錶單處理與驗證: 掌握如何處理HTML錶單提交的數據,包括GET和POST請求方式,以及如何在服務端進行數據驗證,確保數據的閤法性和安全性。 文件上傳與下載: 實現Web應用中的文件上傳功能,包括處理Multipart請求,以及如何實現文件的下載功能。 異常處理與日誌記錄: 學習如何設計健壯的異常處理機製,捕獲和處理Web應用中可能齣現的各種異常,並結閤日誌框架(如Log4j2, SLF4j)記錄應用運行時的關鍵信息,便於調試和問題排查。 安全性考慮: 討論Java Web應用的基本安全問題,如SQL注入、XSS攻擊、CSRF攻擊等,並介紹一些基本的防禦措施,包括輸入驗證、輸齣編碼、使用HTTPS等。 部署與性能優化: 講解如何將Web應用程序打包成WAR文件,並部署到Web服務器(如Tomcat)中。同時,提供一些Web應用程序性能優化的基本建議,例如緩存、連接池、代碼優化等。 DVD-ROM光盤內容: 隨書附贈的DVD-ROM光盤是本書學習體驗的重要補充。光盤中包含瞭: 本書案例源代碼: 所有章節中涉及的示例代碼,方便讀者下載、運行和修改,加深對理論知識的理解。 開發環境配置指南: 詳細的開發環境搭建教程,包括JDK、Tomcat、IDE(如Eclipse/IntelliJ IDEA)的安裝與配置,確保讀者能夠快速上手。 實用工具集: 一些在Java Web開發中常用的輔助工具和庫,例如數據庫連接工具、HTTP客戶端工具等。 拓展閱讀材料: 部分與JSP/Servlet相關的技術文檔、教程或電子書鏈接,供讀者進一步深入學習。 常見問題解答(FAQ): 整理瞭在學習過程中可能遇到的常見問題及其解決方案,提供快速的參考。 本書特色: 係統性強: 從基礎概念到高級應用,層層遞進,構建完整的知識體係。 理論與實踐結閤: 深入淺齣地講解理論,並輔以大量實際案例,讓讀者在動手實踐中鞏固所學。 注重原理: 強調對技術原理的理解,而非簡單的API調用。 麵嚮實戰: 涵蓋實際Web開發中常見的場景和技術,培養讀者的工程實踐能力。 內容翔實: 詳細的解釋和豐富的示例,滿足不同水平讀者的學習需求。 光盤資源豐富: 提供高質量的配套光盤,極大地提升瞭學習的便捷性和效率。 無論您是剛剛踏入Java Web開發領域的新手,還是希望係統性迴顧和提升自身技能的資深開發者,本書都將是您不可多得的得力助手。通過閱讀和實踐本書內容,您將能夠自信地設計、開發和維護高性能、高可用的Java Web應用程序,為您的職業發展打下堅實的基礎。