《Servlet & JSP 技術手冊》章節目錄




簡介Web應用程式
1.1  Web應用程式基礎
1.1.1 關於HTML
1.1.2 URL、URN與URI?
1.1.3 關於HTTP
  基於請求/回應模型
  無狀態協定 
1.1.4 HTTP請求方法
  GET請求
  POST請求 
  敏感資訊
  書籤設置考量
  瀏覽器快取 
  安全與等冪 
1.1.5 有關URI編碼
  保留字元 
  中文字元 
1.1.6 後端?前端?  
1.1.7 Web安全觀念 
1.2 簡介Servlet/JSP  
1.2.1 何謂Web容器?   
1.2.2 Servlet與JSP的關係   
1.2.3 關於MVC/Model 2   
1.2.4 簡介Java EE   
1.3 重點複習   
課後練習 


撰寫與設定Servlet
2.1 第一個Servlet  
2.1.1 準備開發環境  
2.1.2 第一個Servlet程式  
2.2 在Hello之後    9
2.2.1 關於HttpServlet  
2.2.2 使用@WebServlet  
2.2.3 使用web.xml   
2.2.4 檔案組織與部署   
2.3 進階部署設定   
2.3.1 URI模式設定   
  環境路徑   
  Servlet路徑   
  路徑資訊   
  HttpServletMapping   
2.3.2 Web資料夾結構   
2.3.3 使用web-fragment.xml   
  web-fragment.xml   
  web.xml與web-fragment.xml   
  metadata-complete屬性   
2.4 重點複習   
課後練習 

請求與回應
3.1 從容器到HttpServlet   
3.1.1 Web容器做了什麼?   
3.1.2 doXXX()方法?   
3.2 關於HttpServletRequest   
3.2.1 處理請求參數   
3.2.2 處理請求標頭   
3.2.3 請求參數編碼處理   
  POST請求參數編碼處理   
  GET請求參數編碼處理   
3.2.4 getReader()、getInputStream()讀取本體   
3.2.5 getPart()、getParts()取得上傳檔案   
3.2.6 使用RequestDispatcher調派請求   
  使用include()方法   
  請求範圍屬性   
  使用forward()方法   
3.3 關於HttpServletResponse   
3.3.1 設定回應標頭、緩衝區   
3.3.2 使用getWriter()輸出字元   
  設定Locale   
  使用setCharacterEncoding()或setContentType()   
3.3.3 使用getOutputStream()輸出位元   
3.3.4 使用sendRedirect()、sendError()   
3.4 綜合練習/微網誌   
3.4.1 微網誌應用程式功能概述   
3.4.2 實作會員申請功能   
3.4.3 實作會員登入功能   
3.5 重點複習 
課後練習   

會話管理
4.1 會話管理基本原理  
4.1.1 使用隱藏欄位   
4.1.2 使用Cookie   
  Cookie原理   
  實現自動登入   
  Cookie安全性   
4.1.3 使用URI重寫   
4.2  HttpSession會話管理   
4.2.1 使用 HttpSession   
4.2.2 HttpSession會話管理原理   
4.2.3 HttpSession與URI重寫   
4.3 綜合練習/微網誌   
4.3.1 登入與登出   
4.3.2 會員訊息管理   
4.3.3 新增與刪除訊息   
4.4 重點複習   
課後練習  

Servlet進階API、過濾器與傾聽器
5.1 Servlet進階API   
5.1.1 Servlet、ServletConfig 與GenericServlet   
5.1.2 使用ServletConfig   
5.1.3 使用ServletContext   
  getRequestDispatcher()   
  getResourcePaths()   
  getResourceAsStream()   
5.1.4 使用PushBuilder   
5.2 應用程式事件、傾聽器   
5.2.1 ServletContext事件、傾聽 器   
  ServletContextListener   
  ServletContextAttributeListener   
5.2.2 HttpSession事件、傾聽器   
  HttpSessionListener   
  HttpSessionAttributeListener   
  HttpSessionBindingListener   
  HttpSessionActivationListener   
  HttpSessionIdListener   
5.2.3 HttpServletRequest事件、傾聽器   
  ServletRequestListener   
  ServletRequestAttributeListener   
5.3 過濾器   
5.3.1 過濾器的概念   
5.3.2 實作與設定過濾器   
  Filter   
  GenericFilter與HttpFilter   
  過濾器的設定   
5.3.3 請求包裹器   
  實作字元替換過濾器   
  實作編碼設定過濾器   
5.3.4 回應包裹器   
5.4 非同步處理   
5.4.1 簡介 AsyncContext   
5.4.2 非同步Long Polling   
5.4.3 更多AsyncContext細節   
5.4.4 非同步Server-Sent Event   
5.4.5 使用ReadListener   
5.4.6 使用WriteListener   
5.5 綜合練習/微網誌   
5.5.1 建立 UserService   
5.5.2 設定過濾器   
5.5.3 重構微網誌   
5.6 重點複習   
課後練習 

使用JSP
6.1 從JSP到Servlet   
6.1.1 JSP生命週期   
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  <jsp:include>、<jsp:forward>標籤   
6.2.2 簡介<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty>   
6.2.3 深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty>   
6.2.4 談談Model 1   
6.2.5 XML格式標籤   
6.3 運算式語言(EL)   
6.3.1 簡介EL   
6.3.2 使用EL取得屬性   
6.3.3 EL隱含物件   
6.3.4 EL運算子   
6.3.5 自訂EL函式   
6.3.6 EL 3.0   
6.4 綜合練習/微網誌   
6.4.1 改用JSP實現視圖   
  設定內容類型   
  用JSP實現註冊成功網頁   
  用JSP實現註冊失敗網頁   
  用JSP實現會員網頁   
6.4.2 重構UserService與member.jsp   
6.4.3 建立register.jsp、index.jsp、user.jsp   
6.5 重點複習   
課後練習   

使用JSTL
7.1 簡介JSTL   
7.2 核心標籤庫   
7.2.1 流程處理標籤   
7.2.2 錯誤處理標籤   
7.2.3 網頁匯入、重新導向、URI處理標籤   
7.2.4 屬性處理與輸出標籤   
7.3 I18N相容格式標籤庫   
7.3.1 I18N基礎   
  關於Java字串   
  關於ResourceBundle   
  關於國際化   
7.3.2 訊息標籤   
7.3.3 地區標籤   
7.3.4 格式標籤   
7.4 XML標籤庫   
7.4.1 XPath、XSLT基礎   
  XPath路徑表示   
  XSTL基礎   
7.4.2 剖析、設定與輸出標籤   
7.4.3 流程處理標籤   
7.4.4 文件轉換標籤   
7.5 函式標籤庫   
7.6 綜合練習/微網誌   
7.6.1 修改index.jsp、 register.jsp   
7.6.2 修改member.jsp   
7.6.3 修改user.jsp   
7.7 重點複習   
課後練習   

自訂標籤
8.1    Tag File自訂標籤  
8.1.1    簡介Tag File   
8.1.2 處理標籤屬性與本體   
8.1.3 TLD檔案   
8.2 Simple Tag自訂標籤   
8.2.1 簡介Simple Tag   
8.2.2 了解API架構與生命週期   
8.2.3 處理標籤屬性與本體   
8.2.4 與父標籤溝通   
8.2.5 TLD檔案   
8.3 Tag自訂標籤   
8.3.1 簡介Tag   
8.3.2 了解架構與生命週期   
8.3.3 重複執行標籤本體   
8.3.4 處理本體執行結果   
8.3.5 與父標籤溝通   
8.4 綜合練習/微網誌   
8.4.1 重構/使用DAO   
8.4.2 加強user.jsp   
8.5 重點複習   
課後練習 

整合資料庫
9.1 JDBC入門  
9.1.1 簡介JDBC   
9.1.2 連接資料庫   
  註冊Driver實作物件   
  取得Connection實作物件   
  關閉Connection實作物件   
9.1.3 使用Statement、ResultSet   
9.1.4 使用PreparedStatement、CallableStatement   
9.2 JDBC進階   
9.2.1 使用DataSource取得連 線   
9.2.2 使用ResultSet捲動、更新資料   
9.2.3 批次更新   
9.2.4 Blob與Clob   
9.2.5 簡介交易   
  更新遺失(Lost update)   
  髒讀(Dirty read)   
  無法重複的讀取(Unrepeatable read)   
  幻讀(Phantom read)   
9.2.6 簡介metadata   
9.2.7 簡介RowSet   
9.3 使用SQL標籤庫   
9.3.1 資料來源、查詢標籤   
9.3.2 更新、參數、交易標籤   
9.4 綜合練習/微網誌   
9.4.1 使用JDBC實作DAO   
9.4.2 設定JNDI部署描述   
9.4.3 實作首頁最新訊息   
9.5 重點複習   
課後練習

Web容器安全管理
10.1 了解與實作Web容器安全管理   
10.1.1 Java EE安全基本觀念   
10.1.2 宣告式基本驗證   
10.1.3 容器基本驗證原理   
10.1.4 宣告式表單驗證   
10.1.5 容器表單驗證原理   
10.1.6 使用HTTPS保護資料   
10.1.7 程設式安全管理   
10.1.8 標註存取控制   
10.2 綜合練習/微網誌   
10.2.1 使用容器表單驗證   
10.2.2 設定DataSourceRealm   
10.3 重點複習   
課後練習   

JavaMail入門
11.1 使用JavaMail  
11.1.1 傳送純文字郵件   
11.1.2 傳送多重內容郵件   
11.2 綜合練習/微網誌   
11.2.1 傳送驗證帳號郵件   
11.2.2 驗證使用者帳號   
11.2.3 傳送重設密碼郵件   
11.2.4 重新設定密碼   
11.3 重點複習   
課後練習   

Spring起步走
12.1 使用Gradle   
12.1.1 下載、設定Gradle   
12.1.2 簡單的Gradle專案   
12.1.3 Gradle與Eclipse   
12.2 認識Spring核心   
12.2.1 相依注入   
12.2.2 使用Spring核心   
12.3 重點複習   
課後練習 

整合Spring MVC
13.1 初嘗Spring MVC   
13.1.1 程式庫或框架?   
  IoC(Inversion of Control)   
  需要使用框架嗎?   
13.1.2 初步套用Spring MVC   
  設定Gradle支援   
  初始前端控制器   
  重構控制器   
  在web.xml宣告安全設定   
13.1.3 注入服務物件與屬性   
13.2 逐步善用Spring MVC   
13.2.1 簡化控制器   
13.2.2 建立表單物件   
13.2.3 關於Thymeleaf模版   
13.3 重點複習   
課後練習   


簡介Spring Boot
14.1 初嘗Spring Boot   
14.1.1 哈囉!Spring Boot!   
  Spring Initializer   
  使用spring指令   
14.1.2 實現MVC   
  建立控制器   
  使用Thymeleaf   
  建立與注入元件   
14.1.3 使用JSP   
14.2 整合IDE   
14.2.1 匯入Spring Boot專案   
14.2.2 Spring Tool Suite   
14.3 重點複習   
課後練習   

A 如何使用本書專案
A.1 專案環境配置   
A.2 範例專案匯入