隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
          數據加載中……

          新書出版:Java Web開發技術大全——JSP+Servlet+Struts 2+Hibernate+Spring+Ajax (附源代碼)

          本文為原創,如需轉載,請注明作者和出處,謝謝!

          源代碼下載



          作者:李寧
          圖書詳細信息:
          ISBN:9787302195757
          定價:79.8元
          印次:1-1
          裝幀:平裝
          印刷日期:2009-4-23

          圖書簡介:
          SSH是目前最流行的Java Web開發技術。本書通過對SSH中的各種技術循序漸進地講解,使讀者盡快掌握開發基于SSH的Web程序的方法。本書內 容包括Web客戶端技術、JSP/Servlet技術、Struts 2(攔截器、類型轉換、輸入校驗、上傳和下載文件、Struts 2的各種標簽、對 AJAX的支持等)、Spring(Ioc容器、裝配Java Bean、Jdbc和Hibernate模板、事務管理、Spring AOP等)以及 Hibernate(會話、映射、標準查詢API、HQL、事務管理、鎖等)。除此之外,本書還提供了兩個完整的實例來講解開發SSH的詳細步驟和方法。 通過對這兩個實例的學習,讀者可以對SSH開發模式有更透徹地理解和認識。
          本書適合廣大從事Java Web開發工作的技術人員、對SSH開發感興趣的人員以及大專院校學生閱讀,尤其是具有一定的Web開發經驗的技術人員。

          前   言
          現在MVC模式已經成為Web應用的主流開發模式。而Struts框架幾乎可以和MVC模式劃等號,因為Struts框架已經成為了MVC模式的事實標準。隨著Struts 1.x的應用浪潮席卷全球數年后,Struts 2又以嶄新的姿態與世人見面了。
          Struts 2仍然可以繼承Struts 1.x的應用模式(Struts + Spring + Hibernate),但關于    Struts 2+Spring+Hibernate整合的書卻并不多。為了使讀者盡快了解和掌握如何使用    Struts 2、Spring和Hibernate 3個框架整合的方式來開發Web應用系統,筆者花費了大量的時間來完成這本關于Struts 2 + Spring +Hibernate 整合的書。為了盡可能保證內容的準確和權威性,筆者查閱了大量的官方文檔,并針對關鍵部分閱讀了相應的源代碼。
          本書的寫作目標就是力爭讓讀者盡可能地掌握Struts 2、Spring和Hibernate,以及這3個框架整合的相關知識。并通過兩個完整實例的講解使讀者盡快融入SSH(Struts+Spring+ Hibernate)大家庭。
          本書有何特色
          1.從基礎開始,由淺入深
          JSP/Servlet技術是Java Web技術的基礎,很多初學者在學習SSH之前并沒有很好地掌握該技術,因此,本書考慮到這個原因,在第一篇講解了JSP/Servlet以及Web客戶端技術的基礎知識。除此之外,在第二~四篇的頭一章都以一個簡單的例子開始,以使讀者在學習每一篇所講的技術之前,對這種技術有一個初步的了解。并且每一篇的章節是按照由淺入深、循序漸進的順序編排的,從而可以使讀者漸進式地學習本書的知識。
          2.各篇獨立,內容完整
          本書的每一篇都是相對獨立的。如第二篇講解了Struts 2的各種技術;第三篇講解了Hibernate的主要技術,而且每一篇講解的技術比較完整。這樣就會給想學習SSH整合技術,但卻未掌握SSH中的一項或幾項技術的讀者帶來方便,至少不需要同時準備幾本書,從而給讀者節省了大量的時間和金錢。
          3.各章實例豐富,使讀者更容易理解書中的知識
          本書幾乎在每一章都提供了大量的實例。這些實例充分展現了相關知識點的實現細節。讀者可以在學習相關知識點后,通過上機實踐這些例子來更深入地了解并掌握這些知識點。
          4.提供了完整的實例,使讀者更進一步體會SSH開發模式的精髓
          在本章的最后還提供了兩個完整的實例(網絡硬盤和論壇系統)。這兩個實例都采用了SSH模式進行開發。通過對這兩個實例的深入研究,讀者可以比較全面地掌握基于SSH模式的Web應用程序的開發步驟和開發方法,并可將實例中所采用的技術應用到自己的項目中。
          5.使用最新版本的開發工具和框架
          本書所使用的開發工具和相關的框架在筆者寫作本書時都是最新版本,如MyEclipse 6.5、Struts 2.0.11.2等。讀者可以在學習SSH開發技術的同時,接觸到目前最新版本的開發工具和框架。就算讀者目前所使用的軟件版本低于本書所使用的軟件版本,也可以為未來的工作奠定基礎。
          6.配有源代碼與視頻光盤,方便讀者使用
          為了方便讀者實驗本書提供的實例程序,特將所有的源代碼都收錄到了配書光盤中,以方便讀者使用。另外,作者特別為本書錄制了一些多媒體視頻演示,將本書中的一些相關操作直觀地展示給讀者,以達到更好的學習效果。
          本書內容
          第1章:為了使讀者盡快搭建本書所使用的開發環境。在這一章將詳細介紹本書所使用的開發工具、框架的版本號以及下載、安裝和配置的過程。
          第2章:本章介紹了Web技術的發展歷史,以及Java Web技術的基本組成。最后詳細描述了Java Web技術中常用的兩種開發模式:JSP模型1和JSP模型2(MVC模式),以及目前常用的MVC框架。
          第3章:本章介紹了在Web系統中常用的客戶端技術,這些技術包括JavaScript、CSS和AJAX。在本章的開始部分還介紹了一些開發JavaScript的常用IDE。
          第4章:本章介紹了Servlet的基礎知識,如處理請求消息、響應消息、Cookie和Session等,最后還詳細講解了Web開發中所遇到的中文亂碼問題的解決方案。
          第5章:本章介紹了JSP的運行原理、基本語法、JSP指令、JSP的內置對象、JSP標簽和JSTL。
          第6章:本章以一個用戶注冊登錄系統為例,演示了如何綜合運用JSP/Servlet技術開發一個完整的Web應用程序。
          第7章:本章介紹了Struts 2中的MVC模式,以及Struts 2的體系結構。最后給出了一個簡單的例子來演示開發基于Struts 2的Web應用程序的步驟和方法。
          第8章:本章介紹了如何配置Struts 2框架、Struts 2 Action、處理結果、模型驅動和異常處理。
          第9章:本章介紹了Struts 2的攔截器技術,其中包括攔截器的實現原理、攔截器的配置、實現自定義攔截器以及內建攔截器等內容。
          第10章:本章介紹了Struts 2中的各種類型轉換技術。如OGNL表達式、數組和集合類型轉換器、類型轉換的錯誤處理等。
          第11章:本章介紹了傳統的輸入校驗和Struts 2中的輸入校驗。
          第12章:本章首先介紹了文件上傳的原理,以及如何使用Commons-FileUpload組件上傳文件。本章的重頭戲是講解Struts 2的上傳功能,其中包括上傳單個文件和上傳任意多個文件的方法。在最后介紹了如何使用Struts 2框架下載文件,主要包括使用stream結果下載文件以及下載文件的權限控制。
          第13章:本章介紹了Struts 2在國際化方面的技術。為了更深入地理解Struts 2的國際化功能,在本章的開始部分首先介紹了Java對國際化的支持。然后逐步深入介紹Struts 2的國際化技術,主要包括訪問資源文件、資源文件的加載順序等,最后給出了一個例子來演示如何將國際化功能加載到Web應用程序中。
          第14章:本章詳細講解了Struts 2框架中的標簽。這些標簽包括控制標簽、數據標簽、表單標簽、非表單標簽。
          第15章:本章著重介紹了Struts 2框架對AJAX的支持,主要內容包括支持AJAX的標簽、基于AJAX的校驗、發布-訂閱事件模型、JSON插件等。
          第16章:本章使用了Struts 2技術重新實現了第6章的用戶注冊登錄系統。在本章實現的用戶注冊登錄系統的功能和第6章實現的該系統的功能相同,只是使用了Struts 2框架來實現相關的部分。讀者可以從中體會到使用JSP/Servlet和Struts 2在開發Web應用程序中的不同。
          第17章:本章介紹了ORM的概念以及Hibernate和EJB的關系。最后給出一個例子來演示在MyEclipse中開發基于Hibernate的系統的步驟和方法。
          第18章:本章介紹了Hibernate的兩種配置方式:配置文件和注釋。在最后給出了一個例子重新實現了第17章的例子,只不過這個例子使用了注釋來配置Hibernate。
          第19章:本章介紹了Hibernate會話的基本操作和O/R映射。其中O/R映射主要介紹了映射主鍵、映射復合主鍵、映射普通屬性、組件映射、基于注釋的組件映射、多對一、一對多、一對一的關系。
          第20章:本章的第1節介紹了Hibernate的標準(Criteria)查詢API技術,主要內容包括約束條件、分頁、排序、聚合和分組以及QBE。在第2節介紹了Hibernate中的另外兩種查詢技術:HQL和SQL。其中HQL主要介紹了From、Select、Where、Update、Insert以及Delete語句,還介紹了命名參數、排序和分組、關聯查詢、命名查詢等。
          第21章:本章介紹了Hibernate的一些高級技術,主要包括事務管理、鎖機制、查詢緩存、攔截器和事件與過濾器。
          第22章:本章介紹了Spring的主要特性和核心技術,在最后還給出了一個例子來演示使用Spring框架開發程序的過程。
          第23章:本章介紹了Spring框架的核心思想,反向控制(Ioc),同時還詳細講解了Spring框架中最常用的裝配Java Bean技術以及分散配置和定制屬性編輯器。
          第24章:本章介紹了Spring中的數據庫技術,主要包括在Spring中使用數據源連接數據庫、操作JDBC的JdbcTemplate;操作Hibernate的HibernateTemplate以及自增鍵和異常的處理。
          第25章:本章主要介紹了Spring AOP技術的基礎知識以及事務管理。除此之外,還介紹了Spring的其他一些高級屬性,如建立和訪問RMI服務、發送Email、調度任務等。
          第26章:從本章開始逐漸涉及到了SSH開發的全過程。在本章主要介紹了Struts 2、Spring和Hibernate 3個框架整合的思路,以及基于SSH的系統的層次結構。
          第27、28章:在這兩章給出了兩個完整的使用SSH開發的例子(網絡硬盤和論壇系統)。在這兩個例子中詳細描述了開發基于SSH的系統的步驟和其中所涉及到的技術。開發這兩個例子的基本步驟類似,不過它們所涉及到的技術有一定的區別,如在論壇系統中涉及到了一個Web編輯器(FCKEditor)的安裝和使用。
          適合閱讀本書的讀者
          * 初步掌握Java技術,想進一步學習SSH整合開發的讀者
          * 對SSH整合技術有了一定的了解,想進一步提高的讀者
          * 正在使用SSH整合技術開發項目,想查閱相關技術的讀者
          * 大中專院校的學生
          * 社會培訓學生

          目    錄
          第1篇  Web開發基礎篇
          第1章  搭建開發環境    2
          1.1  本書使用的軟件和框架的版本    2
          1.2  JDK6的下載與安裝    2
          1.3  Eclipse 3.4的下載與安裝    3
          1.4  MyEclipse 6.5的下載與安裝    3
          1.5  Eclipse IDE for Java EE Developers的下載與安裝    4
          1.6  Tomcat 6的下載與安裝    5
          1.7  在MyEclipse中配置Tomcat    6
          1.8  在Eclipse IDE for Java EE Developers中配置Tomcat    6
          1.9  小結    7
          第2章  Java Web應用開發基礎    8
          2.1  Web技術的發展    8
          2.2  Java Web技術    10
          2.2.1  Java Web程序的基本組成    11
          2.2.2  Java Web程序的目錄結構    11
          2.2.3  Java Web程序的配置文件    11
          2.3  MVC模式與MVC框架    12
          2.3.1  JSP模型1和JSP模型2    12
          2.3.2  Web應用程序需要的基礎服務    13
          2.3.3  MVC模式概述    14
          2.3.4  常用的MVC框架    15
          2.4  小結    16
          第3章  Web開發中的客戶端技術    17
          3.1  常用的JavaScript IDE簡介    17
          3.1.1  在MyEclipse中使用JavaScript    17
          3.1.2  在Eclipse IDE for Java EE中使用JavaScript    18
          3.1.3  在NetBeans中使用JavaScript    19
          3.1.4  其他的JavaScript IDE    20
          3.2  JavaScript語法基礎    20
          3.2.1  實例:編寫第一個JavaScript程序:Greet    21
          3.2.2  變量    22
          3.2.3  原始類型    22
          3.2.4  類型轉換    26
          3.2.5  函數與函數調用    28
          3.2.6  類和對象    30
          3.3  JavaScript高級技術    32
          3.3.1  DOM技術概述    32
          3.3.2  獲得HTML元素的3種方法    34
          3.3.3  實例:圖像自動切換    36
          3.3.4  正則表達式    37
          3.3.5  實例:表格排序    38
          3.4  CSS基礎    41
          3.4.1  CSS的基本語法    41
          3.4.2  在Style屬性中定義樣式    42
          3.4.3  在HTML中定義樣式    42
          3.4.4  在外部文件中定義樣式    43
          3.4.5  樣式的繼承    43
          3.5  AJAX基礎    44
          3.5.1  AJAX概述    44
          3.5.2  實例:使用XMLHttpRequest獲得Web資源    45
          3.5.3  實例:使用XMLHttpRequest跨域訪問Web資源    46
          3.5.4  實例:AJAX的3種交換數據方法    47
          3.6  小結    49
          第4章  Servlet技術    50
          4.1  Servlet的Helloworld程序    50
          4.1.1  實例:在MyEclipse中編寫Helloworld程序    50
          4.1.2  實例:手工編寫Helloworld程序    53
          4.2  Servlet基礎    54
          4.2.1  配置數據庫連接池    55
          4.2.2  數據庫連接池的應用    56
          4.2.3  實例:用doGet方法處理客戶端請求    58
          4.2.4  實例:用doPost方法處理客戶端請求    60
          4.2.5  實例:用service方法處理客戶端請求    60
          4.2.6  實例:初始化(init)和銷毀(destroy)Servlet    62
          4.2.7  實例:使用PrintWriter輸出響應消息    64
          4.2.8  實例:用ServletOutputStream顯示圖像    65
          4.2.9  實例:使用RequestDispatcher包含Web資源    66
          4.2.10  實例:使用RequestDispatcher轉發Web資源    68
          4.3  HttpServletResponse類的其他功能    69
          4.3.1  產生狀態響應碼    70
          4.3.2  設置響應消息頭    71
          4.3.3  實例:驗證響應頭設置情況    73
          4..4  使用HttpServletRequest獲得請求消息    73
          4.4.1  獲取請求行消息    74
          4.4.2  獲取網絡連接消息    74
          4.4.3  獲取請求頭消息    75
          4.5  處理Cookie    76
          4.5.1  什么是Cookie    76
          4.5.2  Cookie類中的方法    76
          4.5.3  實例:用Cookie讀寫客戶端信息    77
          4.5.4  實例:用Cookie讀寫復雜數據    79
          4.6  處理Session    81
          4.6.1  什么是Session    81
          4.6.2  HttpSession接口中的方法    81
          4.6.3  HttpServletRequest接口中的Session方法    83
          4.6.4  實例:通過Cookie跟蹤Session    83
          4.6.5  實例:通過重寫URL跟蹤Session    85
          4.7  Web開發的中文問題    87
          4.7.1  Java的編碼原理    87
          4.7.2  實例:解決輸出中文亂碼問題    89
          4.7.3  實例:解決服務端程序讀取中文請求消息的亂碼問題    90
          4.7.4  實例:用AJAX技術發送和接收中文信息    92
          4.7.5  實例:在請求消息頭和響應消息頭中轉輸中文    95
          4.8  小結    97
          第5章  JSP技術    98
          5.1  用MyEclipse編寫第一個JSP程序    98
          5.1.1  實例:編寫顯示服務器當前時間的JSP程序    98
          5.1.2  調試JSP程序    100
          5.1.3  改變JSP的訪問路徑和擴展名    101
          5.1.4  手動發布JSP程序    102
          5.2  JSP的運行原理    102
          5.2.1  Tomcat如何處理JSP頁    103
          5.2.2  分析由JSP生成的Servlet代碼    104
          5.3  JSP基本語法    108
          5.3.1  JSP表達式    109
          5.3.2  在JSP中嵌入Java代碼    109
          5.3.3  JSP聲明    111
          5.3.4  JSP表達式語言(EL)    113
          5.3.5  實例:用EL函數替換HTML中的特殊字符    115
          5.3.6  JSP頁面中的注釋    117
          5.4  JSP指令    118
          5.4.1  JSP指令簡介    118
          5.4.2  page頁面指令    119
          5.4.3  include加入指令    125
          5.5  JSP的9個內置對象    126
          5.5.1  out輸出對象    126
          5.5.2  pageContext封裝對象    128
          5.5.3  其他的JSP內置對象    129
          5.6  JSP標簽    132
          5.6.1  <jsp:include>插入標簽    132
          5.6.2  <jsp:forward>轉發標簽    134
          5.6.3  <jsp:param>傳參標簽    135
          5.6.4  <jsp:useBean>創建Bean標簽    136
          5.6.5  <jsp:setProperty>設置屬性值標簽    138
          5.6.6  <jsp:getProperty>獲取屬性值標簽    140
          5.7  JSP的標準標簽庫(JSTL)    140
          5.7.1  如何使用JSTL    141
          5.7.2  條件標簽    142
          5.7.3  循環標簽    144
          5.8  小結    147
          第6章  用Servlet和JSP實現注冊登錄系統    148
          6.1  系統概述    148
          6.1.1  系統功能簡介    148
          6.1.2  系統總體結構    149
          6.2  設計數據庫    149
          6.3  實現系統的基礎類    150
          6.3.1  實現訪問數據庫的DBServlet類    150
          6.3.2  實現MD5加密    152
          6.3.3  實現圖形驗證碼    152
          6.4  實現注冊系統    155
          6.4.1  實現注冊Servlet類    155
          6.4.2  實現注冊系統的主頁面    157
          6.4.3  實現結果JSP頁面    159
          6.5  實現登錄系統    160
          6.5.1  實現登錄Servlet    160
          6.5.2  實現登錄系統主頁面    162
          6.6  小結    163
          第2篇  Struts 2篇
          第7章  編寫Struts 2的第一個程序    166
          7.1  Struts 2中的MVC模式    166
          7.2  Struts 2的體系結構    167
          7.2.1  Struts 2的工作流程    167
          7.2.2  Struts 2的配置文件    167
          7.2.3  Struts 2的控制器    169
          7.3  實例:圖書查詢系統    170
          7.3.1  下載和安裝Struts 2    170
          7.3.2  編寫數據處理類    171
          7.3.3  編寫和配置Action類    172
          7.3.4  編寫顯示查詢結果的JSP頁面    174
          7.3.5  編寫輸入查詢信息的JSP頁面    176
          7.4  小結    177
          第8章  Struts 2進階    178
          8.1  Struts 2的基本配置    178
          8.1.1  配置web.xml    178
          8.1.2  配置struts.xml    179
          8.1.3  配置struts.properties    183
          8.1.4  Struts 2的DTD    186
          8.2  深入理解Struts 2的配置元素    188
          8.2.1  配置Bean    188
          8.2.2  配置常量(constant)    190
          8.2.3  配置包含(include)    191
          8.2.4  配置包(package)    192
          8.2.5  配置命名空間    193
          8.2.6  配置攔截器    194
          8.3  Struts 2注釋(Annotation)    195
          8.3.1  ParentPackage注釋:設置當前包的父包    195
          8.3.2  Namespace注釋:指定當前包的命名空間    196
          8.3.3  Results與Result注釋:指定當前Action結果    197
          8.3.4  實例:用注釋配置Action    197
          8.4  Struts 2的Action    200
          8.4.1  Action類的getter和setter方法    200
          8.4.2  實現Action接口    202
          8.4.3  繼承ActionSupport類    203
          8.4.4  實例:用ActionContext訪問Servlet API    205
          8.4.5  實例:通過aware攔截器訪問Servlet API    209
          8.4.6  實例:利用動態方法處理多個提交請求    211
          8.4.7  實例:利用method屬性處理多個提交請求    213
          8.4.8  使用通配符    214
          8.4.9  默認Action    218
          8.5  處理結果    218
          8.5.1  配置結果    218
          8.5.2  Struts 2支持的處理結果類型    219
          8.5.3  用通配符指定結果    222
          8.5.4  用請求參數指定結果    223
          8.6  模型驅動    224
          8.6.1  ModelDriven概述    224
          8.6.2  實例:使用模型驅動改進登錄程序    226
          8.7  處理異常    228
          8.7.1  Struts 2處理異常的原理    229
          8.7.2  實例:登錄系統的異常處理    230
          8.8  小結    233
          第9章  Struts 2的攔截器    234
          9.1  理解攔截器    234
          9.1.1  攔截器的實現原理    234
          9.1.2  實例:模擬Struts 2實現一個攔截器系統    237
          9.2  配置Struts 2攔截器    242
          9.2.1  配置攔截器    242
          9.2.2  使用攔截器    244
          9.2.3  默認攔截器    245
          9.3  實例:自定義攔截器    247
          9.3.1  編寫攔截器類    247
          9.3.2  配置自定義攔截器    249
          9.4  攔截器的高級技術    251
          9.4.1  過濾指定的方法    251
          9.4.2  攔截器執行順序    254
          9.4.3  攔截器結果監聽器    255
          9.5  Struts 2內建的攔截器    258
          9.5.1  內建攔截器    258
          9.5.2  內建攔截器的配置    260
          9.6  實例:編寫權限驗證攔截器    262
          9.6.1  編寫權限驗證攔截器類    263
          9.6.2  配置權限控制攔截器    263
          9.7  小結    265
          第10章  Struts 2的類型轉換    266
          10.1  為什么要進行類型轉換    266
          10.1.1  客戶端和服務端之間的數據處理過程    266
          10.1.2  傳統的類型轉換    267
          10.2  使用Struts 2類型轉換器    270
          10.2.1  Struts 2內建的類型轉換器    271
          10.2.2  實例:實現基于OGNL的類型轉換器    274
          10.2.3  配置全局類型轉換器    278
          10.2.4  實例:實現基于Struts 2的類型轉換器    280
          10.2.5  實例:實現數組類型轉換器    282
          10.2.6  實例:實現集合類型轉換器    284
          10.3  實例:使用OGNL表達式進行類型轉換    287
          10.4  Struts 2對Collection和Map的支持    289
          10.4.1  指定集合元素的類型    289
          10.4.2  Set和索引屬性    291
          10.5  類型轉換的錯誤處理    292
          10.6  小結    294
          第11章  Struts 2的輸入校驗    295
          11.1  傳統的數據校驗方法    295
          11.1.1  用JavaScript進行客戶端校驗    295
          11.1.2  手工進行服務端校驗    300
          11.2  Struts 2的數據校驗    303
          11.2.1  Struts 2使用validate方法校驗數據的原理    303
          11.2.2  實例:使用validate方法進行輸入校驗    305
          11.2.3  實例:使用validateXxx方法進行輸入校驗    308
          11.2.4  Struts 2的輸入校驗流程    311
          11.3  使用Validation框架進行輸入校驗    312
          11.3.1  實例:服務端校驗    313
          11.3.2  字段校驗器和非字段校驗器    315
          11.3.3  國際化錯誤提示信息    317
          11.3.4  實例:客戶端校驗    319
          11.3.5  校驗文件的命名規則    323
          11.3.6  短路校驗器    325
          11.4  Validation框架的內建校驗器    327
          11.4.1  注冊和引用校驗器    327
          11.4.2  轉換(conversion)校驗器    328
          11.4.3  日期(date)校驗器    329
          11.4.4  雙精度浮點數(double)校驗器    330
          11.4.5  郵件地址(email)校驗器    331
          11.4.6  表達式(expression)校驗器    332
          11.4.7  字段表達式(fieldexpression)校驗器    332
          11.4.8  整數(int)校驗器    333
          11.4.9  正則表達式(regex)校驗器    334
          11.4.10  必填(required)校驗器    335
          11.4.11  必填字符串(requiredstring)校驗器    335
          11.4.12  字符串長度(stringlength)校驗器    336
          11.4.13  網址(url)校驗器    337
          11.4.14  visitor校驗器    337
          11.5  小結    341
          第12章  文件的上傳和下載    342
          12.1  文件上傳原理    342
          12.1.1  表單數據的編碼方式    342
          12.1.2  applicaiton/x-www.form-urlencoded編碼方式    343
          12.1.3  multipart/form-data編碼方式    345
          12.2  使用Commons-FileUpload上傳文件    348
          12.2.1  下載和安裝Commons-FileUpload組件    348
          12.2.2  實例:上傳單個文件    349
          12.2.3  實例:上傳任意多個文件    352
          12.3  實例:Struts 2的文件上傳    355
          12.3.1  Struts 2對上傳文件的支持    355
          12.3.2  編寫上傳文件的JSP頁    355
          12.3.3  編寫上傳文件的Action類    356
          12.3.4  配置上傳文件的Action類    358
          12.3.5  手工過濾上傳文件的類型    359
          12.3.6  用fileUpload攔截器過濾上傳文件的類型    361
          12.4  在Struts 2中上傳多個文件    363
          12.4.1  實例:用數組上傳固定數目的文件    363
          12.4.2  實例:用List上傳任意數目的文件    366
          12.5  文件下載    368
          12.5.1  下載文件的中文問題    368
          12.5.2  用stream結果下載文件    369
          12.5.3  下載文件的授權控制    371
          12.6  小結    372
          第13章  國際化    373
          13.1  國際化基礎    373
          13.1.1  程序為什么需要國際化    373
          13.1.2  Java國際化中的資源文件    374
          13.1.3  Java支持的語言和國家    375
          13.1.4  資源文件的中文支持    376
          13.1.5  編寫國際化程序    377
          13.1.6  帶占位符的國際化信息    379
          13.1.7  實例:使用資源文件編寫國際化程序    380
          13.1.8  Java國際化中的資源類    383
          13.1.9  實例:使用資源類編寫國際化程序    384
          13.2  Struts 2的國際化基礎    385
          13.2.1  Struts 2中的全局資源文件    386
          13.2.2  在Struts 2中訪問國際化信息    386
          13.2.3  在Struts 2中輸出帶占位符的國際化信息    389
          13.3  資源文件的作用范圍和加載順序    391
          13.3.1  包范圍資源文件    391
          13.3.2  接口范圍資源文件    393
          13.3.3  Action基類范圍資源文件    395
          13.3.3  Action范圍資源文件    396
          13.3.5  臨時資源文件    397
          13.3.6  加載資源文件的順序    398
          13.4  實例:編寫支持多國語言的Web應用程序    399
          13.4.1  通過i18n攔截器實現國際化    400
          13.4.2  為register.jsp頁面增加語言選擇列表    401
          13.4.3  將register.jsp頁面映射成Action    402
          13.5  小結    404
          第14章  Struts 2的標簽庫    405
          14.1  Struts 2標簽基礎    405
          14.1.1  Struts 2標簽的分類    405
          14.1.2  使用Struts 2標簽    406
          14.1.3  Struts 2中的OGNL表達式    408
          14.1.4  用OGNL表達式訪問內置對象    411
          14.1.5  用OGNL表達式操作集合    412
          14.1.6  Lamdba(λ)表達式    414
          14.2  控制標簽    415
          14.2.1  if/elseif/else標簽:條件邏輯控制    415
          14.2.2  iterator標簽:數組、集合迭代    418
          14.2.3  append標簽:將集合以追加方式合并為新集合    422
          14.2.4  generator標簽:將字符串分割成多個子串    424
          14.2.5  merge標簽:將集合以交替方式合并為新集合    427
          14.2.6  subset標簽:獲得集合的子集    428
          14.2.7  sort標簽:對集合進行排序    430
          14.3  數據標簽    432
          14.3.1  action標簽:在JSP頁面中直接訪問Action    432
          14.3.2  bean標簽:創建JavaBean的對象實例    434
          14.3.3  date標簽:格式化日期/時間    436
          14.3.4  debug標簽:顯示調試信息    438
          14.3.5  include標簽:包含Web資源    439
          14.3.6  param標簽:為其他的標簽提供參數    440
          14.3.7  property標簽:輸出指定的值    440
          14.3.8  push標簽:將指定值放到ValueStack棧頂    441
          14.3.9  set標簽:將某個值保存在指定的范圍    442
          14.3.10  url標簽:生成URL地址    444
          14.4  表單標簽    446
          14.4.1  表單標簽的通用屬性    446
          14.4.2  表單標簽的name和value屬性    447
          14.4.3  form、submit和reset標簽:表單、提交和重置    449
          14.4.4  checkboxlist標簽:生成多個復選框    449
          14.4.5  combobox標簽:組合單行文本框和下拉列表框    452
          14.4.6  datetimespicker標簽:組合文本框和日期、時間選擇框    454
          14.4.7  doubleselect標簽:生成級聯列表框    457
          14.4.8  head標簽:添加CSS和JavaScript    458
          14.4.9  optiontransferselect 標簽:生成可交互的兩個列表框    459
          14.4.10  select標簽:生成列表框    461
          14.4.11  optgroup標簽:生成下拉列表框選項組    462
          14.4.12  radio標簽:生成多個單選框    463
          14.4.13  token標簽:防止多次提交表單    464
          14.4.14  updownselect標簽:生成高級列表框    465
          14.4.15  其他的表單標簽    467
          14.5  非表單標簽    467
          14.5.1  fielderror標簽:顯示字段錯誤信息    467
          14.5.2  actionerror和actionmessage標簽:顯示動作錯誤和動作消息    468
          14.5.3  component標簽:使用模板    469
          14.6  小結    471
          第15章  Struts 2對AJAX的支持    472
          15.1  Struts 2的AJAX主題    472
          15.2  基于AJAX的輸入校驗    474
          15.2.1  下載和安裝DWR框架    474
          15.2.2  編寫具有AJAX校驗功能的注冊頁面    475
          15.2.3  編寫Action類    476
          15.2.4  設置校驗規則    477
          15.3  在表單中使用AJAX    479
          15.3.1  實現可異步提交的表單    479
          15.3.2  實現Action類    479
          15.3.3  實現結果處理頁面    480
          15.3.4  執行JavaScript代碼    481
          15.4  發布-訂閱(pub-sub)事件模型    483
          15.4.1  pub-sub事件模型的原理    483
          15.4.2  pub-sub事件模型演示    484
          15.4.3  阻止請求服務端資源    487
          15.5  使用Struts 2中的AJAX標簽    488
          15.5.1  div標簽的基本應用    488
          15.5.2  使用div標簽執行JavaScript    491
          15.5.3  手動控制div標簽的更新    493
          15.5.4  submit標簽:發送異步請求    496
          15.5.5  a標簽:可異步提交請求的鏈接    498
          15.5.6  autocompleter標簽:帶自運完成功能的文本框    501
          15.5.7  tabbedPanel標簽:生成Tab頁    507
          15.5.8  treenode和tree標簽:樹節點和樹組件    511
          15.6  使用JSON插件實現AJAX    513
          15.6.1  下載和安裝JSON插件    513
          15.6.2  下載和安裝prototype.js    513
          15.6.3  實現Action類    514
          15.6.4  在JSP頁面中通過Prototype請求Action    515
          15.7  小結    517
          第16章  用Struts 2實現注冊登錄系統    518
          16.1  系統總體結構    518
          16.2  實現DAO層    518
          16.2.1  實現DAOSupport類    519
          16.2.2  實現UserDAO接口    520
          16.2.3  實現UserDAOImpl類    520
          16.3  實現Action類    522
          16.3.1  實現模型類(User)    522
          16.3.2  實現LoginAction類    523
          16.3.3  實現RegisterAction類    525
          16.4  輸入校驗    526
          16.4.1  校驗登錄頁面    526
          16.4.2  校驗注冊頁面    527
          16.5  實現表現層頁面    528
          16.5.1  實現登錄頁面(login.jsp)    528
          16.5.2  實現注冊頁面(register.jsp)    530
          16.5.3  實現主頁面(main.jsp)    531
          16.6  實現其他的功能    532
          16.6.1  使用Action類生成驗證碼圖像    532
          16.6.2  使用攔截器驗證頁面訪問權限    534
          16.7  小結    536
          第3篇  Hibernate篇
          第17章  Hibernate的Helloworld程序    538
          17.1  Hibernate概述    538
          17.1.1  為什么要使用ORM    538
          17.1.2  Hibernate和EJB的關系    539
          17.2  在應用程序中使用Hibernate 3    539
          17.2.1  MyEclipse對Hibernate 3的支持    540
          17.2.2  下載和安裝新版本的Hibernate 3    542
          17.3  第1個Hibernate程序    543
          17.3.1  開發Hibernate程序的基本步驟    543
          17.3.2  建立數據表    543
          17.3.3  建立Hibernate配置文件    543
          17.3.4  建立會話工廠(SessionFactory)類    544
          17.3.5  建立實體Bean和Struts 2的模型類    547
          17.3.6  建立映射文件    548
          17.3.7  建立添加記錄的Action類    548
          17.3.8  建立錄入信息的JSP頁面    550
          17.4  小結    552
          第18章  配置Hibernate    553
          18.1  用傳統的方法配置Hibernate    553
          18.1.1  用XML文件配置Hibernate    553
          18.1.2  用屬性文件配置Hibernate    556
          18.1.3  用編程的方式配置Hibernate    556
          18.1.4  Hibernate框架的配置屬性    557
          18.1.5  SQL方言(Dialect)    561
          18.1.6  使用JNDI數據源    562
          18.1.7  配置映射文件    563
          18.2  使用注釋(Annotations)配置Hibernate    564
          18.2.1  Hibernate注釋簡介    564
          18.2.2  安裝Hibernate注釋    564
          18.2.3  使用@Entity注釋實體Bean    565
          18.2.4  使用@Table注釋實體Bean    565
          18.2.5  使用@Id注釋主鍵    566
          18.2.6  使用@GenericGenerator注釋產生主鍵值    567
          18.2.7  使用@Basic和@Transient注釋    568
          18.2.8  更高級的Hibernate注釋    568
          18.3  使用注釋重新實現Helloworld程序    569
          18.3.1  使用注釋配置實體Bean    569
          18.3.2  在Hibernate配置文件中指定實體Bean的位置    570
          18.3.3  使用AnnotationConfiguration類處理annotation.cfg.xml文件    570
          18.3.4  通過AnnotationSessionFactory類獲得Session對象    571
          18.4  小結    572
          第19章  Hibernate的會話與O/R映射    573
          19.1  會話(Session)的基本應用    573
          19.1.1  保存持久化對象    573
          19.1.2  判斷持久化對象之間的關系    574
          19.1.3  裝載持久化對象    575
          19.1.4  刷新持久化對象    577
          19.1.5  更新持久化對象    578
          19.1.6  刪除持久化對象    579
          19.2  建立O/R映射    579
          19.2.1  映射主鍵    579
          19.2.2  映射復合主鍵    580
          19.2.3  實例:主鍵和復合主鍵的查詢和更新    581
          19.2.4  映射普通屬性    586
          19.2.5  建立組件(Component)映射    587
          19.2.6  實例:組件映射的應用    588
          19.2.7  基于注釋的組件映射    592
          19.2.8  建立多對一(many-to-one)單向關聯關系    593
          19.2.9  實例:多對一關系的演示    593
          19.2.10  基于注釋的多對一關系映射    597
          19.2.11  建立一對多(one-to-many)的雙向關聯關系    598
          19.2.12  實例:一對多雙向關聯的演示    598
          19.2.13  基于注釋的一對多映射    601
          19.2.14  建立基于外鍵的一對一(one-to-one)的關系映射    602
          19.2.15  實例:基于外鍵的一對一關系演示    603
          19.2.16  建立基于主鍵的一對一的關系映射    606
          19.2.17  實例:基于主鍵的一對一關系映射    607
          19.3  小結    610
          第20章  Hibernate的查詢與更新技術    612
          20.1  標準(Criteria)查詢API    612
          20.1.1  實例:一個簡單的例子    612
          20.1.2  查詢的約束條件    613
          20.1.3  對查詢結果進行分頁    615
          20.1.4  實例:實現Web分頁功能    617
          20.1.5  只獲得一個持久化對象    620
          20.1.6  對查詢結果進行排序    621
          20.1.7  多個Criteria之間的關聯    621
          20.1.8  聚合和分組    622
          20.1.9  使用QBE(Query By Example)    624
          20.2  HQL和SQL技術    625
          20.2.1  實例:使用HQL的第一個例子    625
          20.2.2  From子句:簡化實體Bean類名    626
          20.2.3  Select子句:選擇返回屬性    628
          20.2.4  Where子句:指定條件    629
          20.2.5  使用命名參數    630
          20.2.6  使用Query進行分頁    631
          20.2.7  實例:使用HQL實現Web分頁功能    631
          20.2.8  使用HQL進行排序和分組    632
          20.2.9  關聯查詢    633
          20.2.10  聚合函數    635
          20.2.11  Update和Delete語句:更新持久化對象    636
          20.2.12  Insert語句:插入記錄    637
          20.2.13  命名查詢    638
          20.2.14  使用SQL    639
          20.3  小結    640
          第21章  Hibernate的高級技術    641
          21.1  事務管理    641
          21.1.1  事務概述    641
          21.1.2  事務的隔離等級    642
          21.1.3  Hibernate的事務管理    643
          21.1.4  基于JDBC的事務管理    643
          21.1.5  基于JTA的事務管理    644
          21.2  鎖(Locking)    644
          21.2.1  悲觀鎖(Pessimistic Locking)    644
          21.2.2  樂觀鎖(Optimistic Locking)    646
          21.3  查詢緩存(Query Cache)    648
          21.4  攔截器和事件    649
          21.4.1  攔截器(Interceptors)概述    649
          21.4.2  實例:編寫一個Hibernate攔截器    649
          21.4.3  事件(Events)概述    653
          21.4.4  實例:編寫和注冊事件類    654
          21.5  過濾器    656
          21.6  小結    657
          第4篇  Spring篇
          第22章  Spring的Helloworld程序    660
          22.1  Spring簡介    660
          22.1.1  Spring的主要特性    660
          22.1.2  Spring的核心技術    661
          22.2  在應用程序中使用Spring    662
          22.2.1  MyEclipse 6.5對Spring的支持    662
          22.2.2  下載和安裝Spring    663
          22.3  實例:開發一個Helloworld程序    664
          22.3.1   編寫HelloService接口    664
          22.3.2   編寫HelloServiceImpl類    664
          22.3.3   裝配HelloServiceImpl類    665
          22.3.4   通過裝配Bean的方式獲得HelloService對象    665
          22.4  小結    666
          第23章  反向控制(Ioc)與裝配JavaBean    667
          23.1  反向控制(Ioc)    667
          23.1.1  什么是依賴注入    667
          23.1.2  傳統解決方案的缺陷    668
          23.1.3  用Ioc降低耦合度    669
          23.2  手動裝配JavaBean    670
          23.2.1  裝配Bean的方法    670
          23.2.2  與Bean相關的接口    671
          23.2.3  <bean>標簽的常用屬性    672
          23.2.4  裝配普通屬性    673
          23.2.5  裝配集合屬性    676
          23.2.6  設置屬性值為null    680
          23.2.7  裝配構造方法    680
          23.3  自動裝配JavaBean    683
          23.4  分散配置    685
          23.5  定制屬性編輯器    687
          23.6  小結    690
          第24章  Spring中的數據庫技術    691
          24.1  獲得DataSource    691
          24.1.1  通過JNDI獲得DataSource    691
          24.1.2  從第三方的連接池獲得DataSource    692
          24.1.3  使用DriverManagerDataSource    693
          24.2  在Spring中使用JDBC    693
          24.2.1  裝配JdbcTemplate類    693
          24.2.2  向數據庫中寫數據    694
          24.2.3  從數據庫中讀數據    696
          24.2.4  調用存儲過程    699
          24.3  自增鍵    700
          24.4  異常處理    701
          24.5  在Spring中使用Hibernate    702
          24.5.1  集成Spring和Hibernate    702
          24.5.2  使用HibernateTemplate    703
          24.6  小結    705
          第25章  Spring的其他高級技術    706
          25.1  Spring AOP    706
          25.1.1  AOP概述    706
          25.1.2  AOP術語簡介    707
          25.1.3  4種通知(Advice)的作用    708
          25.1.4  通過Advisor指定切入點    714
          25.1.5  使用控制流切入點    716
          25.2  Spring 的事務管理    718
          25.2.1  實例:使用程序控制事務    718
          25.2.2  聲明式事務    720
          25.2.3  事務屬性的種類    722
          25.2.4  設置事務屬性    724
          25.2.5  設置特定方法的事務屬性    725
          25.3  實例:建立和訪問RMI服務    727
          25.4  實例:發送E-mail    729
          25.5  調度任務    731
          25.6  小結    732
          第5篇  綜合實例篇
          第26章  Struts 2與Hibernate、Spring的整合    734
          26.1  整合Struts 2和Hibernate框架    734
          26.1.1  整合的思路    734
          26.1.2  整合后的系統層次    735
          26.1.3  實現數據訪問層    735
          26.1.4  實現業務邏輯層    737
          26.1.5  Struts 2和Hibernate共享實體Bean    739
          26.2  整合Spring框架    740
          26.2.1  裝配數據訪問層    740
          26.2.2  裝配業務邏輯層    742
          26.2.3  使用Struts 2的Spring插件    742
          26.3  小結    743
          第27章  網絡硬盤    744
          27.1  系統概述    744
          27.1.1  系統功能簡介    744
          27.1.2  系統架構設計    746
          27.2  數據庫設計    746
          27.3  實現持久對象層    748
          27.3.1  實現用戶實體Bean    749
          27.3.2  實現目錄實體Bean    750
          27.3.3  實現文件實體Bean    751
          27.3.4  映射MySQL存儲過程    752
          27.3.5  配置hibernate.cfg.xml    753
          27.4  實現數據訪問層    754
          27.4.1  實現DAOSupport類    754
          27.4.2  實現UserDAO接口和UserDAOImpl類    754
          27.4.3  實現DirectoryDAO接口和DirectoryDAOImpl類    755
          27.4.4  實現FileDAO接口和FileDAOImpl類    757
          27.5  實現業務邏輯層    758
          27.5.1  實現UserService接口和UserServiceImpl類    758
          27.5.2  實現DirectoryService接口和DirectoryServiceImpl類    760
          27.5.3  實現FileService接口和FileServiceImpl類    762
          27.5.4  實現服務管理類    764
          27.5.5  配置Spring    765
          27.6  實現Web表現層    767
          27.6.1  實現基礎動作類(BaseAction)    768
          27.6.2  實現用戶登錄頁面和處理登錄的Action類    769
          27.6.3  實現注冊登錄頁面和處理注冊的Action類    771
          27.6.4  實現網絡硬盤主頁面    771
          27.6.5  建立目錄    773
          27.6.6  實現文件上傳    774
          27.6.7  實現文件和目錄下載    775
          27.6.8  使用攔截器控制頁面訪問權限    779
          27.6.9  其他功能的實現    780
          27.7  小結    780
          第28章  論壇系統    782
          28.1  系統功能簡介    782
          28.2  數據庫設計    783
          28.3  實現持久對象層    785
          28.3.1  實現主題實體Bean    785
          28.3.2  實現回復實體Bean    787
          28.3.3  配置hibernate.cfg.xml    788
          28.4  實現數據訪問層    788
          28.4.1  實現TopicDAO接口和TopicDAOImpl類    789
          28.4.2  實現ReviewDAO接口和ReviewDAOImpl類    790
          28.5  實現業務邏輯層    791
          28.5.1  實現TopicService接口和TopicServiceImpl類    791
          28.5.2  實現ReviewService接口和ReviewServiceImpl類    793
          28.5.3  實現服務管理類    795
          28.5.4  配置Spring    795
          28.6  整合FCKEditor組件    796
          28.6.1  安裝FCKEditor    796
          28.6.2  配置FCKEditor    797
          28.6.3  修改FCKEditor自帶的Servlet    800
          28.6.4  產生FCKEditor的客戶端腳本    800
          28.7  實現Web表現層    801
          28.7.1  瀏覽論壇的主題列表    801
          28.7.2  發布新主題    804
          28.7.3  瀏覽主題和回復內容    805
          28.7.4  回復主題    806
          28.8  小結    807





          Android開發完全講義(第2版)(本書版權已輸出到臺灣)

          http://product.dangdang.com/product.aspx?product_id=22741502



          Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


          新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

          posted on 2009-05-06 08:52 銀河使者 閱讀(5199) 評論(2)  編輯  收藏 所屬分類: 原創 、 圖書

          評論

          # re: 新書出版:Java Web開發技術大全——JSP+Servlet+Struts+Hibernate+Spring+Ajax [未登錄]  回復  更多評論   

          看起來很不錯,打算在當當買一本,了解了解
          2009-05-06 09:39 | EricFan

          # re: 新書出版:Java Web開發技術大全——JSP+Servlet+Struts 2+Hibernate+Spring+Ajax   回復  更多評論   

          去書店拜讀一下
          2009-05-21 16:12 | 淘聲依舊
          主站蜘蛛池模板: 革吉县| 阜康市| 卢龙县| 筠连县| 厦门市| 蓬安县| 奇台县| 新巴尔虎左旗| 乐清市| 温州市| 乐昌市| 临澧县| 蒙自县| 晋宁县| 仲巴县| 十堰市| 和平县| 八宿县| 兴山县| 潞城市| 临夏县| 德格县| 荣成市| 南投市| 攀枝花市| 遂川县| 墨竹工卡县| 西乡县| 呼和浩特市| 金塔县| 武义县| 惠州市| 内丘县| 莱芜市| 鹿邑县| 牟定县| 共和县| 白沙| 靖远县| 东丽区| 瓦房店市|