JSP、Servlet、Struts、Hibernate、AOP、WebWork、Spring、EJB⋯,好複雜,這麼多技術到底都是做什麼的?它們有什麼關聯呢?
近幾年,Web 程式發展異常迅猛,不僅出現了形形色色的購物網站、交友網站、銀行自助系統等,還出現像Palm OS Web作業系統、可以替代Office等傳統辦公軟體的Google Document等功能強大的Web程式。這些主要得益於Web程式的精簡型用戶端的特點,即不需要客戶安裝任何軟體,只需要使用瀏覽器即可完成操作。
Web程式可以非常簡單,簡單到只有幾個HTML頁面、幾張圖片,例如小型企業的介紹性網站等。也可以非常複雜,例如Google Document 網站,完全可以替代Word、Excel、PPT、PDF 閱讀器等;Google Talk 也完全可以替代QQ、MSN等。實現這些Web程式所用到的技術也很多,最流行的有微軟的.NET技術和Java相關技術。
Java 相關技術作為最流行的開發技術之一,在Web 開發領域也有著非常廣泛的應用。但Java Web開發所涉及的技術比較繁雜,涉及很多開發Framework 和工具,而且它們各有所長,並不完全是一個完善的體系。這對需要掌握Java Web開發的人來說,有一定的困難。筆者曾經任職於IBM 中國研究院、諾基亞北京研發中心和用友軟體等公司,有幸系統地學習了Java Web開發的的技術,並從事大量的實際專案,累積了豐富的開發經驗。為了幫助讀者更好、更快速地掌握Java Web 開發,筆者花費一年多的時間寫作本書,把Java Web 開發所涉及的技術進行歸納和總結,以最簡單易懂的實例進行講解。
相信讀者學習完本書內容,可以很全面地掌握Java Web開發所涉及的技術,也會清楚它們之間的關聯,提升Java Web 開發水準。
目錄
入門篇
第1 章 Java Web 開發概述
1.1 Web 相關概念
1.1.1 豐富用戶端程式RCP
1.1.2 精簡型用戶端程式TCP
1.1.3 B/S 與C/S 結構
1.2 Web 開發背景知識
1.2.1 Web 存取基本原理
1.2.2 HTTP 超文字傳輸協定
1.2.3 Web 瀏覽器
1.2.4 Web 伺服器
1.3 Web 開發技術發展歷史
1.3.1 傳統的Web 伺服器模式開發
1.3.2 動態展現頁面技術
1.3.3 CGI 實現頁面的動態產生
1.3.4 Java Servlet:改進的CGI
1.3.5 JSP:Servlet 的模版
1.3.6 JSP 基本原理
1.4 本章小結
第2 章 搭建Java Web 開發環境
2.1 Java Web 開發環境概述
2.1.1 開發套件JDK
2.1.2 整合式開發環境IDE
2.1.3 Java 伺服器
2.2 下載安裝Java 環境
2.2.1 下載JDK
2.2.2 安裝JDK
2.2.3 設定環境變數
2.3 下載解壓Eclipse
2.3.1 下載Eclipse
2.3.2 解壓Eclipse
2.4 下載MyEclipse 外掛
2.4.1 下載MyEclipse 外掛
2.4.2 安裝MyEclipse 外掛
2.4.3 啟動MyEclipse
2.5 下載Tomcat 伺服器
2.5.1 下載Tomcat
2.5.2 解壓設定Tomcat
2.5.3 設定通訊埠號
2.5.4 設定臨時功能變數名稱
2.5.5 設定虛擬主機
2.6 第一個Java Web 程式
2.6.1 新增Java Web 項目
2.6.2 新增Servlet
2.7 佈署到Tomcat
2.7.1 手工佈署
2.7.2 MyEclipse 自動佈署
2.7.3 匯出為WAR 包
2.7.4 在MyEclipse 中啟動Tomcat
2.7.5 偵錯工具debug 模式
2.8 本章小結
基礎篇
第3 章 深入Servlet 技術
3.1 HTTP 協定
3.1.1 HTTP 協定簡介
3.1.2 Telnet 示範HTTP 協定
3.1.3 GET 方式查詢
3.1.4 HTTP 表頭資料
3.1.5 POST 方式傳送資料
3.1.6 其他存取方式
3.2 Servlet 概述
3.2.1 Servlet 工作流程
3.2.2 Servlet 介面
3.2.3 Java Web 目錄結構
3.3 撰寫Servlet
3.3.1 實現Servlet
3.3.2 設定
3.3.3 設定
3.3.4 佈署Web 程式
3.4 請求與回應
3.4.1 獲得request 的變數
3.4.2 response 產生圖片驗證碼
3.5 讀取web.xml 參數
3.5.1 初始化參數(init-param)
3.5.2 上下文參數(context-param)
3.5.3 資源注射(@Resource)
3.5.4 使用JNDI 獲得資源
3.5.5 注射資料來源
3.6 傳送表單資訊
3.6.1 GET 實現搜尋引擎
3.6.2 POST 傳送個人資訊
3.6.3 上傳檔案用戶端
3.6.4 上傳檔案伺服器端
3.7 帶進度條的檔案上傳
3.7.1 工作原理
3.7.2 上傳進度條
3.7.3 上傳監視器
3.7.4 監視上傳進度
3.7.5 讀取上傳進度
3.7.6 顯示上傳進度
3.8 Servlet 生命週期
3.8.1 Servlet 生命週期
3.8.2 所得稅計算器
3.8.3 註釋@PostConstruct 與註釋@PreDestroy
3.9 Servlet 之間的跳躍
3.9.1 轉向(Forward)
3.9.2 重新導向(Redirect)
3.9.3 自動更新(Refresh)
3.10 Servlet 與執行緒安全
3.10.1 一個實例
3.10.2 執行緒不安全
3.11 本章小結
第4 章 深入JSP 技術
4.1 JSP 簡介
4.1.1 JSP 概述
4.1.2 顯示問候語
4.1.3 JSP 工作原理
4.1.4 JSP 生命週期
4.2 JSP 語法
4.2.1 JSP 元素與模版資料
4.2.2 JSP 指令稿
4.2.3 JSP 輸出
4.2.4 JSP 註釋
4.2.5 JSP 方法:查詢IP 地址
4.2.6 JSP 的if 敘述
4.2.7 JSP 的for 迴圈
4.2.8 while 迴圈:顯示郵寄清單
4.2.9 JSP 的return 敘述
4.2.10 JSP 的break 敘述
4.3 JSP 指令
4.3.1 page 指令
4.3.2 include 指令
4.3.3 taglib 指令
4.4 JSP 行為
4.4.1 行為
4.4.2 使用Java Bean(POJO)
4.4.3 scope 實現各種計數器 .
4.4.4 嵌入Applet
4.4.5 行為
4.4.6 行為
4.5 JSP 隱藏物件
4.5.1 out 輸出流物件
4.5.2 request 請求物件
4.5.3 response 回應物件
4.5.4 config 設定物件
4.5.5 session 階段物件
4.5.6 application 應用程式物件
4.5.7 page 頁面物件
4.5.8 pageContext 頁面上下文物件
4.5.9 exception 例外物件
4.6 JSP 設定
4.6.1 JSP 設定
4.6.2 標籤
4.7 EL 運算式
4.7.1 EL 運算式
4.7.2 隱藏物件
4.7.3 EL 運算式運算
4.8 本章小結
第5 章 階段追蹤
5.1 Cookie 機制
5.1.1 什麼是Cookie
5.1.2 記錄使用者存取次數
5.1.3 Cookie 的不可跨功能變數名稱性
5.1.4 Unicode 編碼:儲存中文
5.1.5 BASE64 編碼:儲存二進位圖片
5.1.6 設定Cookie 的所有屬性
5.1.7 Cookie 的有效期
5.1.8 Cookie 的修改、刪除
5.1.9 Cookie 的功能變數名稱
5.1.10 Cookie 的路徑
5.1.11 Cookie 的安全屬性
5.1.12 JavaScript 操作Cookie
5.1.13 案例:永久登入
5.2 Session 機制
5.2.1 什麼是Session
5.2.2 實現使用者登入
5.2.3 Session 的生命週期
5.2.4 Session 的有效期
5.2.5 Session 的常用方法
5.2.6 Session 對瀏覽器的要求
5.2.7 URL 地址重新定義
5.2.8 Session 中禁止使用Cookie
5.3 Session 與Cookie 的比較
5.3.1 從存取方式上比較
5.3.2 從隱私安全上比較
5.3.3 從有效期上比較
5.3.4 從對伺服器的負擔上比較
5.3.5 從瀏覽器支援上比較
5.3.6 從跨功能變數名稱上比較
5.4 本章小結
第6 章 篩檢程式Filter
6.1 Filter 概述
6.1.1 Filter 概述
6.1.2 Filter 介面
6.1.3 Filter 設定
6.2 Filter 經典案例
6.2.1 防盜連Filter
6.2.2 字元編碼Filter
6.2.3 記錄檔記錄Filter
6.2.4 例外捕捉Filter
6.2.5 許可權驗證Filter
6.2.6 內容替換Filter
6.2.7 GZIP 壓縮Filter
6.2.8 影像浮水印Filter
6.2.9 快取記憶體Filter
6.2.10 XSLT 轉換Filter
6.2.11 檔案上傳Filter
6.3 本章小結
第7 章 監聽器Listener
7.1 Listener 概述
7.1.1 Listener 的概述
7.1.2 Listener 的使用
7.2 Listener 的分類
7.2.1 監聽物件的建立與銷毀
7.2.2 實例:監聽Session、request 與servletContext
7.2.3 監聽物件的屬性變化
7.2.4 監聽Session 內的物件
7.3 Listener 使用案例
7.3.1 單點登入
7.3.2 顯示線上使用者
7.4 本章小結
高級篇
第8 章 JSTL 標籤函式庫
8.1 JSTL 概述
8.1.1 什麼是標籤
8.1.2 一個標籤實例
8.1.3 為什麼使用標籤
8.1.4 JSTL 標籤函式庫
8.2 JSTL 的core 標籤函式庫
8.2.1 標籤
8.2.2 標籤
8.2.3 、、 標籤
8.2.4 顯示偶數
8.2.5 標籤檢查List
8.2.6 標籤檢查Map 物件
8.2.7 標籤的varStatus 屬性
8.2.8 標籤
8.2.9 實現計數器
8.2.10 標籤
8.2.11 捕捉例外
8.2.12 匯入網路資源
8.2.13 標籤
8.2.14 標籤
8.2.15 標籤
8.3 JSTL 的fmt 標籤函式庫
8.3.1 設定寫程式
8.3.2 顯示所有地區的資料格式
8.3.3 顯示全球時間
8.3.4 設定時區
8.3.5 、、 資源國際化
8.3.6 標籤
8.3.7 顯示不同地區的各種資料格式
8.3.8 解析數字
8.3.9 格式化日期
8.3.10 解析日期
8.4 JSTL 的fn 方法函式庫
8.4.1 fn:contains() 顯示使用者瀏覽器、作業系統
8.4.2 fn:containsIgnoreCase() 方法
8.4.3 fn:endsWith() 顯示檔案格式
8.4.4 fn:startsWith() 方法
8.4.5 fn:escapeXml() 實現HTML 寫程式
8.4.6 fn:indexOf() 方法
8.4.7 fn:split() 分割字元
8.4.8 fn:join() 聯合字元
8.4.9 fn:length() 方法
8.5 JSTL 的SQL 標籤函式庫
8.5.1 設定資料來源
8.5.2 查詢表資料
8.5.3 分頁顯示
8.5.4 結果集的動態檢查
8.5.5 更新表資料
8.5.6 , 設定日期參數
8.5.7 交易管理
8.6 JSTL 的XML 標籤函式庫
8.6.1 獲得新浪RSS 新聞
8.6.2 輸出指定元素
8.6.3 檢查新浪RSS 新聞
8.6.4 標籤
8.6.5 、、 標籤
8.6.6 標籤
8.6.7 轉化XML 為HTML
8.7 本章小結
第9 章 自訂標籤
9.1 撰寫自訂標籤
9.1.1 版權標籤
9.1.2 tld 標籤函式庫描述檔案
9.1.3 方法的呼叫順序
9.1.4 使用TagSupport
9.1.5 帶參數的標籤
9.1.6 帶多個參數的標籤
9.1.7 帶標籤體的自訂標籤
9.1.8 多次執行的迴圈標籤
9.1.9 帶動態屬性的自訂標籤
9.2 嵌套的自訂標籤
9.2.1 實例:表格標籤
9.2.2 嵌套標籤的設定
9.2.3 table 父標籤
9.2.4 column 子標籤
9.2.5 執行效果
9.3 JSP 2.x 標籤
9.3.1 SimpleTag 介面
9.3.2 帶標籤體的JSP 2.x 標籤
9.3.3 帶多個標籤體的JSP 2.x 標籤
9.4 撰寫自訂方法
9.4.1 自訂方法
9.4.2 方法描述檔案
9.5 本章小結
第10 章 資源國際化
10.1 資源國際化簡介
10.1.1 I18N
10.1.2 I10N
10.2 資源國際化
10.2.1 資源國際化範例
10.2.2 資源檔寫程式
10.2.3 顯示所有Locale 程式碼
10.2.4 帶參數的資源
10.2.5 ResourceBundle 類別
10.2.6 Servlet 的資源國際化
10.2.7 顯示所有Locale 的數字格式
10.2.8 顯示全球時間
10.3 本章小結
第11 章 資料庫概述
11.1 資料庫簡介
11.1.1 發展歷史
11.1.2 資料庫模型
11.1.3 SQL、DDL 與DML
11.2 MySQL 數據庫
11.2.1 MySQL 安裝與設定
11.2.2 MySQL 啟動與關閉
11.2.3 bin 目錄下的程式
11.2.4 登入MySQL
11.2.5 MySQL 控制台
11.2.6 控制台資訊
11.3 DDL SQL 敘述
11.3.1 列出資料庫綱要
11.3.2 切換資料庫綱要
11.3.3 列出資料表
11.3.4 檢視表結構
11.3.5 建立資料庫綱要
11.3.6 刪除資料庫綱要
11.3.7 修改資料庫綱要
11.3.8 建立表
11.3.9 刪除表
11.3.10 修改表
11.4 DML SQL 敘述
11.4.1 插入資料
11.4.2 查詢資料
11.4.3 刪除資料
11.4.4 修改資料
11.4.5 建立,刪除,授權使用者
11.4.6 批次執行SQL 敘述
11.5 MySQL 用戶端工具
11.5.1 MySQL 圖形介面工具
11.5.2 MyEclipse 管理工具
11.6 Apache Derby
11.6.1 Derby 概述
11.6.2 Derby 的使用
11.6.3 使用嵌入式Derby 記錄記錄檔
11.7 本章小結
第12 章 JDBC 詳解
12.1 JDBC 簡介
12.1.1 查詢實例:列出人員資訊
12.1.2 各種資料庫的連接
12.2 MySQL 的亂碼解決
12.2.1 MySQL 的亂碼解決
12.2.2 從主控台修改寫程式
12.2.3 從設定檔修改寫程式
12.2.4 利用圖形介面工具修改
12.2.5 URL 中指定寫程式方式
12.3 JDBC 基本操作:CRUD
12.3.1 查詢資料庫
12.3.2 插入人員資訊
12.3.3 註冊資料庫驅動
12.3.4 獲得自動插入的ID
12.3.5 刪除人員資訊
12.3.6 修改人員資料
12.3.7 使用PreparedStatement
12.3.8 Statement 批次處理SQL
12.3.9 PreparedStament 批次處理SQL
12.4 處理結果集
12.4.1 查詢多個結果集
12.4.2 可以捲動的結果集
12.4.3 Pagination 分頁顯示
12.4.4 帶條件的查詢
12.4.5 ResultSetMetaData 中繼資料
12.4.6 直接顯示中文列名
12.5 JDBC 高級應用
12.5.1 DAO 模式與Java Bean
12.5.2 交易實例:轉帳
12.5.3 拋出例外自動回復
12.5.4 儲存二進位資料
12.5.5 讀取二進位資料
12.5.6 資料來源(連接池)
12.6 本章小結
第13 章 XML 概述
13.1 初識XML
13.1.1 什麼是XML
13.1.2 XML 的用途
13.1.3 XML 的技術架構
13.1.4 XML 開發工具
13.2 XML 基本語法
13.2.1 XML 文件的基本結構
13.2.2 標記必須閉合
13.2.3 必須合理地嵌套
13.2.4 XML 元素
13.2.5 XML 屬性
13.2.6 只有一個根項目
13.2.7 大小寫區別
13.2.8 空白被保留
13.2.9 註釋的寫法
13.2.10 逸出字元的使用
13.2.11 CDATA 的使用
13.3 JDK 中的XML API
13.4 XML 解析模型
13.4.1 DOM 解析
13.4.2 SAX 解析
13.5 XML 與Java 類別映射JAXB
13.5.1 什麼是XML 與Java 類別映射
13.5.2 JAXB 的工作原理
13.5.3 Java 物件轉化成XML(marshal)
13.5.4 XML 轉化為Java 物件(unmarshal)
13.5.5 更為複雜的映射
13.6 本章小結
Struts Framework 篇
第14 章 Struts 1.x 概述
14.1 Struts 簡介
14.1.1 Struts 概述
14.1.2 MVC 概述
14.2 第一個Struts 1.x 實例
14.2.1 增加Struts 特性
14.2.2 建立HelloAction
14.2.3 完成HelloAction
14.2.4 增加輸入頁JSP
14.2.5 增加輸出頁
14.3 Struts 工作流程
14.4 Struts 設定檔
14.4.1 Struts 設定檔詳解
14.4.2 多個struts-config.xml
14.4.3 設定命名空間
14.5 Form Bean 實例:傳送使用者資訊
14.5.1 使用者資訊對應的Form Bean
14.5.2 使用者資訊輸入頁面
14.5.3 使用者資訊驗證
14.5.4 Form Bean 中使用Person 實體類別
14.6 Action 的設定
14.6.1 Action 與ActionForward 設定
14.6.2 把JSP 設定為Action
14.7 Action 實例:儲存使用者資訊到資料庫
14.7.1 在struts-config.xml 中設定資料來源
14.7.2 Person 類別程式碼
14.7.3 資料表設計
14.7.4 Action 程式碼:儲存使用者資訊
14.7.5 Form Bean 程式碼:使用者資訊表單
14.7.6 Action 程式碼:列出使用者資訊
14.7.7 DAO 層程式碼:儲存、列出使用者資訊
14.7.8 JSP 程式碼:增加、列出使用者資訊
14.8 Struts 1.x 的執行緒安全
14.8.1 Action 是執行緒不安全的
14.8.2 Form Bean 是執行緒安全的
14.9 本章小結
第15 章 Struts 1.x 高級應用
15.1 Struts 1.x 標籤函式庫
15.1.1 html 標籤函式庫
15.1.2 bean 標籤函式庫
15.1.3 logic 標籤函式庫
15.1.4 nested 標籤函式庫
15.1.5 tiles 標籤函式庫
15.2 DispatchAction
15.2.1 利用action 參數分發
15.2.2 DispatchAction
15.2.3 配置DispatchAction
15.3 上 傳 檔案
15.3.1 FormFile 類型
15.3.2 保存FormFile
15.4 Validator 自動驗證資料
15.4.1 支援自動驗證的ValidatorForm
15.4.2 Validate 規則配置
15.4.3 錯誤資訊配置
15.4.4 配置到struts-config.xml 中
15.4.5 配置用戶端JavaScript 驗證
15.5 動態屬性Form Bean
15.5.1 動態屬性工作表單DynaActionForm
15.5.2 Action 中獲得動態屬性
15.5.3 JSP 中使用動態屬性
15.6 例外處理
15.6.1 例外捕捉ExceptionHandler
15.6.2 配置ExceptionHandler
15.7 struts-config.xml 中使用萬用字元
15.8 本章小結
第16 章 Struts 2.x 概述
16.1 Struts 2.x 簡介
16.1.1 Struts 2 簡介
16.1.2 Struts 2 與WebWork 2 的關係
16.2 第一個Struts 2 實例
16.2.1 下載Struts 2 類別函式庫
16.2.2 登入功能Action
16.2.3 Struts 2 設定檔
16.2.4 JSP 登入頁面
16.2.5 設定web.xml
16.2.6 更改.action 副檔名
16.3 Struts 2 工作流程
16.3.1 Struts 2 工作流程
16.3.2 Struts 2 的執行緒安全
16.3.3 程式入口FilterDispatcher
16.4 Struts 2 設定檔
16.4.1 struts.properties
16.4.2 struts.xml
16.4.3 設定package
16.4.4 設定命名空間
16.5 Action 詳解
16.5.1 ActionSupport 類別
16.5.2 Action 介面
16.5.3 不繼承任何類別的Action
16.5.4 Action 的可執行方法
16.5.5 透過URL 執行Action 的方法
16.5.6 將執行方法設定到Action
16.6 Struts 2 的零設定
16.6.1 透過@ 註釋實現Action 零設定
16.6.2 web.xml 中指定Action 目錄
16.6.3 零設定的Action 存取方式
16.7 Action 中使用POJO
16.7.1 圖書管理Action
16.7.2 圖書實體Book 類別
16.7.3 萬用字元設定Action
16.7.4 JSP 增加、清單頁面
16.8 本章小結
第17 章 Struts 2.x 高級應用
17.1 資料類型轉換器
17.1.1 實例:日期轉換器
17.1.2 設定轉換器
17.1.3 Action 程式碼範例
17.1.4 為Action 設定轉換器
17.2 獲得request、response
17.2.1 利用ServletActionContext 的靜態方法
17.2.2 利用相關的Aware 介面
17.3 使用Validator 驗證資料
17.3.1 使用XML 設定資料驗證Validator
17.3.2 設定用戶端Validator
17.3.3 常用的Validator
17.3.4 使用@Java 註釋設定Validator
17.4 本章小結
第18 章 Struts 2.x 標籤
18.1 Struts 2.x 標籤
18.1.1 Struts 2 標籤與EL 運算式
18.1.2 Struts 2 標籤tld 檔案
18.2 OGNL 語言
18.2.1 OGNL 概述
18.2.2 "#" 宣告OGNL 運算式
18.2.3 "%" 顯式宣告OGNL 運算式
18.2.4 "$" 在資源檔中參考OGNL 運算式
18.3 控制標籤
18.3.1 if、elseif、else 標籤控制流程
18.3.2 append 標籤連接多個List
18.3.3 generator 標籤將字元轉化為List
18.3.4 iterator 標籤檢查集合
18.3.5 merge 標籤取集合的聯集
18.3.6 subset 標籤過濾集合元素
18.4 資料標籤
18.4.1 action 標籤包含action 頁面
18.4.2 bean 標籤參考Java Bean
18.4.3 date 標籤輸出日期
18.4.4 i18n、text 標籤宣告資源國際化
18.4.5 include 標籤包含JSP 頁面
18.4.6 param 標籤傳遞參數
18.4.7 set 標籤設定變數值
18.4.8 property 標籤輸出變數值
18.5 表單UI 標籤
18.5.1 form 標籤輸出表單
18.5.2 textfield、textarea、file、checkbox、radio 標籤
18.5.3 select、autocomplete 標籤下拉清單
18.5.4 使用動態資料的autocomplete 標籤
18.5.5 checkboxlist 標籤多選框組
18.5.6 combobox 標籤複合框
18.5.7 datetimepicker 標籤日期選擇器
18.5.8 doubleselect 標籤聯動選擇框
18.5.9 optiontransferselect 標籤
18.5.10 optgroup 標籤選項群組
18.6 非表單UI 標籤
18.6.1 debug 標籤輸出x 偵錯資訊
18.6.2 fielderror、actionerror、actionmessage 標籤錯誤資訊
18.6.3 div、submit、a 標籤實現無更新獲得資料
18.6.4 無更新實現登入、註銷
18.6.5 tabbedPanel 標籤頁
18.6.6 tree 標籤輸出樹
18.6.7 使用tree 顯示檔案結構
18.6.8 使用tree 動態載入資料
18.7 本章小結
第19 章 Struts 2.x 攔截器與檔案上傳
19.1 使用攔截器
19.1.1 timer 計時攔截器
19.1.2 token 防重複傳送攔截器
19.1.3 execAndWait 執行等待攔截器
19.1.4 自訂的許可權驗證攔截器
19.2 上 傳 檔案
19.2.1 上傳檔案的Action
19.2.2 上傳檔案的JSP 表單
19.2.3 上傳檔案相關的設定
19.2.4 錯誤資訊設定
19.2.5 上傳多個檔案
19.3 本章小結
Hibernate Framework 篇
第20 章 Hibernate 入門
20.1 Hibernate 簡介
20.1.1 ORM 概述
20.1.2 認識Hibernate
20.1.3 Hibernate 的原理
20.2 第一個Hibernate 程式
20.2.1 增加Hibernate 特性
20.2.2 增加Hibernate 的Jar
20.2.3 設定Cat 實體類別
20.2.4 修改Hibernate 設定檔
20.2.5 修改Hibernate 工具類別
20.2.6 初始化MySQL 資料庫
20.2.7 設定Log4J
20.2.8 執行Hibernate 程式
20.3 第一個Hibernate Web 程式
20.3.1 DAO 層程式碼
20.3.2 Servlet 層程式碼
20.3.3 列出所有的Cat
20.3.4 增加Cat
20.3.5 修改Cat
20.3.6 刪除Cat
20.4 本章小結
第21 章 從巨觀上把握Hibernate
21.1 Hibernate 體系結構
21.2 Hibernate 的相關概念
21.3 可持久化物件的狀態
21.4 Hibernate 設定參數
21.4.1 設定檔hibernate.properties、hibernate.cfg.xml
21.4.2 程式設計式設定、執行時設定
21.4.3 獲得SessionFactory
21.4.4 獲得、斷開資料庫連接
21.4.5 可選的設定參數
21.4.6 Hibernate 記錄檔
21.5 本章小結
第22 章 Hibernate 實體映射
22.1 實體類別映射
22.1.1 @ 註釋設定
22.1.2 XML 檔案設定
22.1.3 設定到hibernate.cfg.xml 中
22.2 主 鍵 映 射
22.2.1 @ 設定主鍵
22.2.2 XML 設定主鍵
22.3 主鍵產生規則
22.3.1 @ 主鍵產生規則
22.3.2 XML 主鍵產生規則
22.4 普通屬性映射
22.4.1 @ 設定普通屬性
22.4.2 XML 設定普通屬性
22.5 日期屬性設定
22.5.1 @ 設定日期屬性
22.5.2 XML 設定日期屬性
22.6 臨時屬性映射
22.7 版本屬性設定
22.7.1 樂觀鎖定與悲觀鎖定
22.7.2 @ 設定樂觀鎖定
22.7.3 XML 設定樂觀鎖定
22.8 本章小結
第23 章 Hibernate 實體關係映射
23.1 單邊的一對多關聯性:電子郵件管理
23.1.1 UML、資料庫關係
23.1.2 @ 設定Person2 類別
23.1.3 @ 設定Email 類別
23.1.4 設定到Hibernate.cfg.xml 中
23.1.5 執行程式碼
23.1.6 延遲載入與即時載入
23.1.7 延遲載入例外
23.1.8 XML 設定Person 類別
23.1.9 XML 設定Email 類別
23.1.10 載入XML 設定的實體
23.1.11 設定String 類型的實體
23.2 單邊的多對一關係:論文管理
23.2.1 UML、資料庫關係
23.2.2 @ 設定Type 類別
23.2.3 @ 設定Article 類別
23.2.4 設定到Hibernate.cfg.xml
23.2.5 執行程式碼
23.2.6 XML 設定Type 類別
23.2.7 XML 設定Article 類別
23.3 雙邊的多對一、一對多關聯性:學生屬性
23.3.1 UML、資料庫關係
23.3.2 @ 設定Clazz 類別
23.3.3 @ 設定Student 類別
23.3.4 設定到Hibernate.cfg.xml
23.3.5 執行程式碼
23.3.6 XML 設定Clazz 類別
23.3.7 XML 設定Student 類別
23.4 單邊的多對多關係:論壇文章管理
23.4.1 UML、資料庫關係
23.4.2 @ 設定Tag 類別
23.4.3 @ 設定Post 類別
23.4.4 執行程式碼
23.4.5 XML 設定Tag 類別
23.4.6 XML 設定Post 類別
23.5 雙邊的多對多關係
23.5.1 @ 設定Tag 類別
23.5.2 XML 設定Tag 類別
23.6 單邊的一對一關聯性:艦船管理
23.6.1 UML、資料庫關係
23.6.2 @ 設定Ship 類別
23.6.3 @ 設定Sailor 類別
23.6.4 執行程式碼
23.6.5 XML 設定Ship 類別
23.6.6 XML 設定Sailor 類別
23.7 雙邊的一對一關聯性
23.7.1 @ 設定Ship 類別
23.7.2 XML 設定Ship 類別
23.8 主鍵相同的一對一關聯性:客戶位址管理
23.8.1 UML、資料庫關係
23.8.2 @ 設定Customer 類別
23.8.3 @ 設定Address 類別
23.8.4 執行程式碼
23.8.5 XML 設定Customer 類別
23.8.6 XML 設定Address 類別
23.9 Map 映射
23.9.1 @ MapKey 設定Map
23.9.2 XML 設定Map
23.10 本章小結
第24 章 Hibernate 查詢語言HQL
24.1 HQL 基礎查詢
24.1.1 HQL 語法
24.1.2 HQL 大小寫不敏感
24.1.3 使用Package 名
24.2 傳回類型
24.2.1 查詢單一的物件
24.2.2 傳回集合屬性
24.3 同時傳回多個物件
24.3.1 傳回Object[] 陣列
24.3.2 傳回List 類型
24.3.3 傳回Map 類型
24.3.4 傳回Java 實體物件
24.4 條 件 查 詢
24.4.1 where 子句語法
24.4.2 HQL 支援的運算子
24.5 統 計 函 數
24.6 HQL 分頁顯示
24.7 HQL 串聯查詢
24.7.1 跨表查詢
24.7.2 串聯查詢
24.8 使用SQL 資料庫
24.8.1 使用SQLQuery
24.8.2 傳回實體類別型
24.9 命名常用的查詢
24.9.1 @ 設定命名查詢
24.9.2 設定查詢擴充
24.9.3 設定多個命名查詢
24.9.4 XML 設定命名查詢
24.10 本章小結
第25 章 Hibernate 高級查詢
25.1 單一實體類別的查詢
25.1.1 員工實體類別Employee 查詢
25.1.2 員工管理EmployeeServlet
25.1.3 查詢員工的JSP 程式碼
25.1.4 JSP 顯示頁面
25.1.5 使用參數查詢
25.2 實體間關係的查詢
25.2.1 部門實體類別Department 類別
25.2.2 部門管理DepartmentServlet
25.2.3 顯示部門的JSP 程式碼
25.2.4 增加部門程式碼(Ajax 方式查詢經理)
25.2.5 修改員工時選擇部門
25.3 join 串聯查詢
25.3.1 SQL 中的join
25.3.2 Hibernate 中的join
25.4 本章小結
Spring Framework 篇
第26 章 Spring 概述
26.1 Spring Framework
26.1.1 Spring 背景
26.1.2 Spring 容器
26.2 一個相依植入的例子
26.2.1 一個普通程式的例子
26.2.2 Dao 介面及實現
26.2.3 Service 介面及實現
26.2.4 組裝DAO 與Service
26.2.5 執行程式碼
26.2.6 反向控制的原理
26.2.7 面對方面導向程式設計的原理
26.3 一個方面導向程式設計的例子
26.3.1 實現攔截器介面
26.3.2 AOP 設定攔截器
26.3.3 執行程式碼
26.4 Spring Framework 的組成
26.5 本章小結
第27 章 Spring 的Core 模組
27.1 BeanFactory 工廠
27.1.1 產生實體BeanFactory
27.1.2 XmlBeanFactory 設定格式
27.2 設定Java Bean
27.2.1 基本設定
27.2.2 工廠模式factory-method
27.2.3 建構函數
27.2.4 單例模式singleton
27.2.5 設定屬性
27.2.6 設定物件屬性[ ]
27.2.7 設定List 屬性
27.2.8 設定Set 屬性
27.2.9 設定Map 屬性
入門篇
第1 章 Java Web 開發概述
1.1 Web 相關概念
1.1.1 豐富用戶端程式RCP
1.1.2 精簡型用戶端程式TCP
1.1.3 B/S 與C/S 結構
1.2 Web 開發背景知識
1.2.1 Web 存取基本原理
1.2.2 HTTP 超文字傳輸協定
1.2.3 Web 瀏覽器
1.2.4 Web 伺服器
1.3 Web 開發技術發展歷史
1.3.1 傳統的Web 伺服器模式開發
1.3.2 動態展現頁面技術
1.3.3 CGI 實現頁面的動態產生
1.3.4 Java Servlet:改進的CGI
1.3.5 JSP:Servlet 的模版
1.3.6 JSP 基本原理
1.4 本章小結
第2 章 搭建Java Web 開發環境
...
商品資料
出版社:佳魁資訊股份有限公司出版日期:2013-03-22ISBN/ISSN:9789865836078 語言:繁體中文For input string: ""
裝訂方式:平裝頁數:1104頁
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。