SSH 開發實戰教程 (Spring + Struts 2 + Hibernate)

SSH 開發實戰教程 (Spring + Struts 2 + Hibernate)

作者: 李西明 陳立為
出版社: 人民郵電
出版在: 2021-06-01
ISBN-13: 9787115529725
ISBN-10: 7115529728
裝訂格式: 平裝
總頁數: 300 頁





內容描述


本書詳細講解了當前JavaEE開發流行的SSH框架,涵蓋Hibernate、Struts2、Spring三大塊知識,以及它們之間的整合和實戰項目案例。
全書共18章,第1-4章是Hibernate部分,第5-11章為struts2部分,第12-16章為Spring框架部分,第17章為SSH三大框架整合,介紹了整合原理,整合流程,第18章為實戰項目。


目錄大綱


第1章Hibernate入門1 
1.1 SSH概述1 
1.2 Hibernate簡介1 
1.3第一個Hibernate項目3 
1.3.1創建項目並導入JAR包4 
1.3.2創建數據庫及表4 
1.3.3創建持久化類4 
1.3.4創建映射文件5 
1.3.5創建核心配置文件6 
1.3.6創建測試類進行增刪改查操作6 
1.4映射文件詳解10 
1.5配置文件詳解12 
1.5.1基本配置12 
1.5.2配置c3p0連接池12 
1.6 Hibernate持久化對象的狀態13 
1.6.1持久化對象的狀態13 
1.6.2持久化對象狀態轉換13 
1.7 Hibernate的核心接口簡介15 
1.7.1 Configuration接口15 
1.7.2 SessionFactory接口15 
1.7.3 Session接口16 
1.7 .4 Transaction接口18 
上機練習18 
思考題19 
第2章HQL與Criteria查詢20 
2.1 HQL查詢概述20 
2.1.1 HQL基本語法20 
2.1.2 HQL語句的執行21 
2.1.3 HQL查詢條件中使用參數22 
2.1.4 HQL給參數賦值的其他方法24 
2.1.5 HQL模糊查詢與動態查詢26 
2.1.6 HQL投影查詢27 
2.1.7 HQL分頁查詢28 
2.1.8 HQL聚合函數29 
2.1.9 HQL分組查詢30 
2.1.10使用別名30 
2.2 Criteria查詢31 
2.2.1 Criteria簡單查詢31 
2.2.2 Criteria多條件查詢32 
2.2.3 Criteria分頁查詢33 
上機練習34 
思考題34 
第3章Hibernate關聯映射35 
3.1實體對象的三種關聯關係35 
3.1.1單向關聯與雙向關聯35 
3.1.2一對多關聯映射35 
3.1.3多對多關聯關係映射40 
3.2關聯關係中的反轉與級聯44 
3.2.1反轉操作44 
3.2.2級聯操作45 
3.3延遲加載50 
3.3.1類級別的查詢策略51 
3.3.2一對多及多對多的查詢策略53 
3.3.3多對一關聯的查詢策略55 
上機練習56 
思考題56 
第4章HQL連接查詢與緩存57 
4.1 HQL連接查詢57 
4.1.1內連接57 
4.1.2隱式內連接59 
4.1.3外連接60 
4.2 HQL子查詢62 
4.3 HQL操作集合的函數或屬性63 
4.4一級緩存65 
4.4.1一級緩存的原理65 
4.4.2 Hibernate快照67 
4.4.3一級緩存的常用操作68 
4.5二級緩存70 
4.5.1二級緩存的原理71 
4.5.2二級緩存的配置和使用71 
上機練習73 
思考題73 
第5章Struts 2入門74 
5.1 Struts2簡介74 
5.1.1 MVC設計模式74 
5.1.2 Struts2的優點75 
5.1.3 Struts2的開發環境搭建75 
5.2第一個Struts2項目77 
5.3 Struts2實現登錄80 
5.4 Struts2的執行流程82 
上機練習83 
思考題83 
第6章Struts2配置文件84 
6.1配置文件簡介84 
6.1.1認識struts.xml文件結構84 
6.1.2配置常量85 
6.1.3 include的配置86 
6.2配置Action 86 
6.2.1創建Action類86 
6.2.2配置Action類87 
6.2.3 Action訪問Servlet API對象88 
6.2.4動態方法調用94 
6.2.5使用通配符簡化配置97 
6.2.6配置默認的Action 99 
6.4 Action獲取請求參數99 
6.4.1屬性驅動99 
6.4.2模型驅動103 
6.5 Result的配置104 
6.5.1 Result元素結構104 
6.5.2常用結果類型104 
6.5.3動態結果105 
6.5.4全局結果107 
6.6各種配置項的順序107 
上機練習108 
思考題108 
第7章Struts2攔截器109 
7.1攔截器原理109 
7.1 .1攔截器基本知識109 
7.1.2攔截器的工作方式109 
7.2攔截器的配置110 
7.2.1配置攔截器110 
7.2.2攔截器的返回值112 
7.3攔截器的種類112 
7.4自定義攔截器112 
7.4.1自定義攔截器的實現112 
7.4.2權限攔截器113 
上機練習116 
思考題116 
第8章Struts2標籤庫117 
8.1 Struts2標籤庫簡介117 
8.1 .1 Struts2標籤庫的分類117 
8.1.2 Struts2標籤庫的導入117 
8.2 Struts2控制標籤118 
8.2.1標籤118 
8.2.2標籤118 
8.3 Struts2數據標籤121 
8.3.1標籤121 
8.3.2日期標籤121 
8.4 Struts2的主題122 
8.5 Struts2的表單標籤122 
8.5.1和標籤123 
8.5.2和標籤123 
8.5.3標籤123 
8.5.4標籤123 
8.5.5標籤125 
8.5.6標籤126 
8.5.7標籤127 
8.5.8標籤127 
8.5.9標籤128 
8.5.10標籤129 
8.5.11標籤129 
8.5.12標籤數據來自後台130 
8.6 Struts2的非表單標籤的132 
上機練習133 
思考題133 
第9章OGNL表達式與值棧134 
9.1 OGNL表達式134 
9.1.1 OGNL的概念134 
9.1.2使用OGNL訪問對象方法138 
9.1.3 OGNL訪問集合對象140 
9.1.4訪問ActionContext中的數據142 
9.2值棧143 
9.2.1值棧的概念143 
9.2.2值棧的應用143 
上機練習143 
思考題143 
第10章Struts2關鍵技術144 
10.1數據類型轉換144 
10.1.1默認類型轉換144 
10.1.2自定義類型轉換器146 
10.1.3多種日期格式的轉換149 
10.1.4保存原來的日期格式150 
10.1.5類型轉換異常提示信息改為中文151 
10.2數據驗證152 
10.2.1使用validate方法驗證Action中的所有方法152 
10.2.2對Action中指定方法執行前的驗證154 
10.2.3 Struts2驗證框架157 
10.3文件上傳162 
10.3.1文件上傳概述162 
10.3.2單個文件上傳實例163 
10.3.3限製文件的大小和類型166 
10.3.4多文件上傳168 
10.4文件下載170 
10.4.1文件下載的概述170 
10.4. 2文件下載案例171 
10.4.3文件名為中文的下載172 
上機練習173 
思考題173 
第11章Struts2與Ajax 174 
11.1使用Stream類型的結果映射174 
11.2使用JSON類型的結果映射176 
11.3 Ajax綜合案例179 
上機練習182 
第12章Spring入門183 
12.1 Spring概述183 
12.1.1 Spring體系結構183 
12.1.2 Spring的開發環境184 
12.2第一個Spring程序185 
上機練習188 
思考題188 
第13章Spring控制反轉189 
13.1依賴注入189 
13.2 Spring配置文件中Bean的配置192 
13.3 Bean的作用域192 
13.4基於xml的依賴注入194 
13.4.1設值注入194 
13.4.2構造注入196 
13.4.3使用p命名空間實現屬性值注入197 
13.4.4注入各種數據類型的屬性值197 
13.4.5內部Bean注入202 
13.4.5抽象Bean注入203 
13.5自動裝配205 
13.5.1 byName方式自動注入205 
13.5.2 byType方式自動注入206 
13.6 Spring配置文件的拆分207 
13.6.1拆分為若干個平等關係的配置文件208 
13.6.2拆分為父子關係的若干個配置文件208 
13.7基於註解的依賴注入208 
13.7.1使用註解@Component定義Bean 209 
13.7.2 Bean的作用域@Scope 210 
13.7.3基本類型屬性注入@Value 210 
13.7.4按類型注入域屬性@Autowired 211 
13.7.5按名稱注入域屬性@Autowired與@Qualifier 212 
13.7.6域屬性註解@Resource 213 
13.7.7 xml配置方式與註解方式的比較214 
上機練習215 
思考題215 
第14章Spring面向切面編程216 
14.1傳統的編程模式弊端216 
14.2 AOP初試身手219 
14.3 AspectJ實現AOP 222 
14.3.1異常拋出增強223 
14.3.2環繞增強224 
14.4使用註解實現通知226 
14.5使用xml配置定義切面227 
14.5.1切面不獲取切點參數228 
14.5.2切面獲取切點參數與返回值229 
上機練習232 
思考題232 
第15章Spring操作數據庫233 
15.1使用JdbcTemplate模板操作數據庫233 
15.2數據源的配置239 
15.2.1 DBCP數據源BasicDataSource的使用239 
15.2.2 C3P0數據源ComboPooledDataSource的使用240 
15.2.3使用屬性文件讀取數據庫連接信息241 
上機練習243 
思考題243 
第16章Spring事務管理244 
16.1 Spring事務管理接口244 
16.1.1事務管理器接口PlatformTransactionManager 244 
16.1.2事務定義接口TransactionDefinition 244 
16.2 Spring事務管理的實現245 
16.2.1沒有事務管理的情況分析245 
16.2.2利用xml配置實現事務管理248 
16.2.3利用@Transactional註解實現事務管理251 
16.2.4在業務層實現事務管理253 
上機練習255 
思考題255 
第17章SSH三大框架整合256 
17.1 SSH框架整合原理256 
17.2 Spring整合Hibernate 256 
17.3 Spring整合Struts2 265 
上機練習269 
思考題269 
第18章SSH項目實戰270 
18.1項目需求分析270 
18.2數據庫設計270 
18.3搭建SSH框架272 
18.4首頁與用戶登錄模塊275 
18.5商品查詢與分頁模塊288 
18.6商品詳情模塊298 
18.7購物車模塊304 
18.8訂單處理與模擬結算模塊315 
上機練習325 
思考題325


作者介紹


華南農業大學數學與信息學院計算機系計算機網絡教研室高級工程師。
主講《Java程序設計》《信息安全數學基礎》等本科及研究生課程。
主持、參與十餘項國家、省部級項目。




相關書籍

Professional Clojure

作者 Jeremy Anderson Michael Gaare Justin Holguín Nick Bailey Timothy Pratley

2021-06-01

Unified Messaging: EXCERPT from Microsoft Exchange Server 2013 Inside Out (Paperback)

作者 Paul Robichaux

2021-06-01

Programming Scala: Scalability = Functional Programming + Objects, 2/e (Paperback)

作者 Dean Wampler Alex Payne

2021-06-01