Web應用開發——基于Spring MVC+MyBatis+Maven ( 簡體 字) |
作者:韓冬 | 類別:1. -> 程式設計 -> JAVA -> Spring |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 50158 詢問書籍請說出此書號!【缺書】 NT售價: 295 元 |
出版日:9/1/2018 |
頁數:348 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121348914 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:“蒹葭蒼蒼,白露為霜。所謂伊人,在水一方……”,新技術、新知識宛若一位美貌典雅的妙齡女子,讓人怦然心動。這位妙齡女子就是Spring MVC + MyBatis + Maven。 Spring MVC是一個基于動作的MVC框架。該框架突出了HTTP中的請求/響應特性,在該框架中,用戶的每一個請求都聲明了一個需要執行的動作。而這主要是通過將每個請求URI映射到一個可執行的方法來實現的。同時,其也將請求參數映射到對應方法的參數上。 Spring MVC與Spring框架集成在一起(如IoC容器、AOP等),具有非常靈活的數據校驗、數據轉換和格式化,以及數據綁定機制,支持RESTful,提供強大的約定優于配置的契約式編程支持,能夠讓開發者進行更簡潔的Web層的開發。 MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優秀的持久層框架。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數及獲取結果集。MyBatis可以對配置和原生Map使用簡單的XML或注解,將接口和Java的POJO映射成數據庫中的記錄。 MyBatis框架的優點在于:?與JDBC相比,減少了50%以上的代碼量;?MyBatis是最簡單的持久化框架,小巧且簡單易學;?MyBatis相當靈活,不會對應用程序或者數據庫的現有設計強加任何影響,SQL寫在XML里,從程序代碼中徹底分離,降低了耦合度,便于統一管理和優化,并可重用;?提供了XML標簽,支持編寫動態SQL語句;?提供了映射標簽,支持對象與數據庫的ORM映射。 為什么有Maven?構建是程序員每天要做的工作,而且相當長的時間花在了這方面,而Maven可使這一系列的工作完全自動化。人們一直在尋找避免重復的方法,這里的重復有:設計的重復、文檔的重復、編碼的重復、構建的重復等。而Maven是跨平臺的,使用它最大限度地消除了構建的重復。 Maven不僅是構建工具,還是依賴管理工具和項目管理工具,Maven提供了中央倉庫,能夠幫用戶自動下載構件。使用Maven可以進行項目高度自動化構建、依賴管理和倉庫管理等。而使用Maven最大的好處就是可以實現依賴管理。 在移動互聯網興起的時代,特別是針對后臺開發,越來越多的企業喜歡使用Spring MVC + MyBatis + Maven的組合,Maven也替代Ant成為構建Java Web項目的流行工具。 一般來說,對于性能要求較高的互聯網項目,通常會選用SSM框架。 本書的編寫思路 本書基于以下教學理念編寫而成。 1.注重基礎 要把Spring MVC + MyBatis + Maven學好,必須要有扎實的基本功,這也就是本書第一部分的內容—Java Web開發基礎,主要包括Servlet編程、JSP基礎、會話管理、EL和JSTL、過濾器與監聽器、AJAX技術等內容。同樣,要想把“Java Web開發基礎”學好,就要有扎實的Java基礎。在學習的旅途中,我們要循序漸進。 2.注重知識(或者技術)格局(框架) 注重技術細節是個好事,但學以致用。這樣才會更有學習的動力。無論是Spring MVC 、MyBatis 、Maven,或者Java Web開發基礎,其中的哪一部分拿出來都可以是一本書的內容,或者是一學期的課程。但一旦我們的技術格局有了,骨架有了,血肉是可以逐漸豐滿起來的。學生一旦產生興趣,技術(或者知識)細節方面的,他自己會努力學會并加以運用的。這樣(同時)還會培養他自己的自學能力。這也是本書集“Java Web開發基礎 + MyBatis + Spring MVC + Maven”于一體,作為《Web應用開發》課程主要教學內容的原因。 3.注重編程實踐 本書的編程實例很多,限于篇幅,書中的一些示例代碼往往只是核心代碼,并不是全部的源程序。讀者需要到源碼包里仔細地閱讀代碼,以掌握相應的知識(或技能)。要成為優秀的程序員,編寫相當數量的代碼還是必要的。設計模式是在代碼重構的過程中凸現出來的。所以,編寫大量代碼、注重編程實踐,也為以后成為優秀的架構師打下了基礎。 4.注重學習者自身的努力和悟性 “師傅領進門,修行在個人”,要成為優秀的軟件工程師以致架構師,尤其需要個人的勤奮努力及悟性。如果在學習的過程中,學習者態度消極、被動、有惰性,那么誰也幫不上忙。 5.注重能力培養 “授人以魚不如授人以漁”,但就編者的教學體會而言,實際上大多數學生喜歡的是“魚”,而不是“漁”。所以,在教學實踐中,恰如其分的引導是非常必要的。學生的“嬌氣”對學生以后的發展并沒有多大好處。 “Rome was not build in a day!”,能力的培養需要一個過程,雖然未必是“寶劍鋒從磨礪出,梅花香自苦寒來”,但還是需要大量的編程實踐、代碼重構和反思(“悟”),經過長時間的潛移默化來逐漸習得。 在教學過程中,更多的需要是“隨風潛入夜,潤物細無聲”。 要說明的是,本書的定位是——卓越工程師培養創新教材,不僅面向在校學生,還面向廣大Java程序員、技術人員和培訓機構等。 給授課教師的教學建議(參考紙質圖書所示)。 致謝 本書由韓冬(蘇州大學)負責編制提綱及主要撰寫工作,參與本書編寫工作的還有張建、曹國平、肖廣娣、李煒、李家偉、胡楠等,在此一并表示感謝。 在編寫本書過程中,編者參考、借鑒了很多IT技術專家、學者的相關著作,對于引用的段落或文字盡可能一一列出,謹向各位IT技術專家、學者一并表示感謝! 本書的配套資源中,提供了所有章節程序的源代碼、配套PPT、習題解答和拓展學習資源(包括HTML、CSS、JavaScript基礎內容等),讀者可登錄華信教育資源網(http://www.hxedu.com.cn)進行下載使用。 鑒于編者水平有限,書中難免存在不足和錯誤之處,敬請專家和讀者提出寶貴意見和建議,以便再版時改進。
韓 冬 |
內容簡介:本書是目前國內較少的系統講解Spring MVC+MyBatis+Maven這一組合的教材。全書分為Java Web開發基礎、MyBatis和Spring MVC三部分,共20章。Java Web開發基礎(1∼9章),主要包括搭建Java Web開發環境、Servlet編程、JSP語言基礎、會話管理、EL和JSTL、過濾器與監聽器、AJAX技術、Maven、jQuery基礎和jQuery EasyUI等內容。MyBatis(10∼14章),主要包括MyBatis入門、配置和映射、動態SQL、MyBatis注解方式、MyBatis緩存配置和MyBatis應用等內容。Spring MVC(15∼20章),主要包括Spring基礎、Spring MVC入門、基于注解的控制器、攔截器、數據轉換和格式化、Spring MVC的表單標簽庫、Spring MVC的文件上傳和下載、Spring MVC的國際化和Spring MVC+MyBatis應用等內容。本書內容豐富、翔實,實用性強,適用面廣,既可作為高等學校計算機相關專業學生學習Java Web應用開發的教材,又可作為軟件培訓機構和編程人員的參考用書。 |
目錄:第一部分 Java Web開發基礎 第1章 搭建Java Web開發環境 2 1.1 基于B/S結構的Web應用 2 1.2 JDK安裝與配置 2 1.3 服務器Tomcat下載與安裝 3 1.4 Eclipse安裝與使用 3 1.4.1 Eclipse下載及創建Dynamic Web Project 3 1.4.2 Eclipse中的編碼問題 4 1.4.3 將Tomcat和Eclipse相關聯 6 1.4.4 Eclipse自動部署項目到 Tomcat的Webapps目錄 7 1.5 MySQL安裝配置與使用 9 1.6 PostgreSQL安裝與使用 13 1.6.1 PostgreSQL下載與安裝 13 1.6.2 使用pgAdmin III連接 PostgreSQL 13 1.6.3 使用pgAdmin III創建 數據庫 14 1.7 Navicat Premium安裝與使用 14 1.8 本章小結 16 習題 1 17 第2章 Servlet編程 18 2.1 Servlet簡介 18 2.2 Servlet基礎 19 2.2.1 用記事本寫一個Servlet 19 2.2.2 Servlet 體系結構 20 2.2.3 Servlet 接口 20 2.2.4 Servlet 生命周期 21 2.2.5 Servlet 生命周期示例 22 2.3 Servlet API編程常用接口和類 25 2.3.1 GenericServlet類 25 2.3.2 HttpServlet類 26 2.3.3 ServletConfig接口 27 2.3.4 HttpServletRequest 接口 29 2.3.5 HttpServletResponse 接口 31 2.3.6 ServletContext接口 32 2.4 Servlet處理表單數據 35 2.5 Servlet重定向和請求轉發 36 2.5.1 重定向 36 2.5.2 請求轉發 37 2.5.3 Servlet中請求轉發時 forword()和include()的 區別 38 2.6 Servlet數據庫訪問 40 2.6.1 JDBC基礎 40 2.6.2 創建測試數據 40 2.6.3 訪問數據庫 40 2.7 Servlet異常處理 41 2.8 異步Servlet 45 2.9 本章小結 46 習題 2 47 第3章 JSP語言基礎 48 3.1 JSP基本語法 48 3.1.1 JSP簡介 48 3.1.2 JSP運行機制 48 3.1.3 第一個JSP程序 49 3.1.4 JSP指令 49 3.1.5 JSP腳本 51 3.1.6 JSP注釋 52 3.2 JSP動作元素 52 3.3 JSP內置對象 53 3.4 JSP綜合示例 57 3.5 本章小結 57 習題 3 58 第4章 會話管理 59 4.1 Cookies 59 4.1.1 Cookie剖析 59 4.1.2 在Servlet中操作 Cookie 59 4.1.3 Cookie API 60 4.1.4 使用Cookie示例 60 4.2 HttpSession對象 62 4.2.1 Session簡介 62 4.2.2 HttpSession API 62 4.2.3 使用HttpSession示例 63 4.3 URL重寫 65 4.3.1 為什么需要URL重寫 65 4.3.2 encodeURL()和 encodeRedirectURL() 65 4.3.3 使用URL重寫示例 66 4.4 隱藏表單域 66 4.5 本章小結 66 習題 4 67 第5章 EL和JSTL 68 5.1 JSP表達式語言 68 5.1.1 EL簡介 68 5.1.2 EL的運算符和優先級 69 5.1.3 EL隱式對象 70 5.1.4 定義和使用EL函數 74 5.2 JSP標準標簽庫 75 5.2.1 JSTL簡介 75 5.2.2 JSTL安裝與配置 76 5.2.3 核心標簽庫 76 5.3 本章小結 79 習題 5 80 第6章 過濾器與監聽器 81 6.1 Servlet過濾器 81 6.1.1 Filter工作原理 81 6.1.2 Filter核心接口 81 6.1.3 Filter生命周期 82 6.1.4 Filter配置 82 6.1.5 Filter應用 83 6.2 Servlet監聽器 86 6.2.1 Servlet監聽器概述 86 6.2.2 Servlet上下文監聽 86 6.2.3 HTTP會話監聽 89 6.2.4 Servlet請求監聽 92 6.3 本章小結 94 習題 6 94 第7章 AJAX技術 95 7.1 實現AJAX應用的一般步驟 95 7.2 使用XMLHttpRequest對象 96 7.2.1 創建XMLHttpRequest 對象 96 7.2.2 XMLHttpRequest對象的 常用屬性和事件 96 7.2.3 XMLHttpRequest對象的 常用方法 97 7.3 AJAX示例 98 7.3.1 更改文本內容 98 7.3.2 查詢項目信息 100 7.3.3 驗證注冊郵箱格式和 唯一性 101 7.4 本章小結 104 習題 7 104 第8章 Maven 105 8.1 初識Maven 105 8.2 Maven的安裝和配置 107 8.3 Maven使用 110 8.4 坐標和依賴 111 8.5 本章小結 112 習題 8 113 第9章 jQuery EasyUI 114 9.1 jQuery基礎 114 9.1.1 初識jQuery 114 9.1.2 jQuery選擇器 116 9.1.3 jQuery事件 116 9.1.4 jQuery AJAX 117 9.2 jQuery EasyUI 120 9.3 jQuery EasyUI布局 121 9.3.1創建邊框布局 121 9.3.2 在面板中創建復雜 布局 122 9.3.3 創建折疊面板 123 9.3.4 創建標簽頁 124 9.3.5 動態添加標簽頁 124 9.4 jQuery EasyUI數據網格 125 9.4.1 轉換HTML表格為 數據網格 125 9.4.2 取得選中行數據 126 9.4.3 創建復雜工具欄 127 9.4.4 自定義分頁 129 9.5 本章小結 130 習題 9 130
第二部分 MyBatis 第10章 MyBatis入門 132 10.1 從JDBC到MyBatis 132 10.2 第一個MyBatis示例 134 10.2.1 創建Maven項目 134 10.2.2 準備數據 136 10.2.3 MyBatis配置 136 10.2.4 創建實體類 137 10.2.5 創建映射接口和SQL 映射文件 138 10.2.6 配置Log4j 138 10.2.7 測試 138 10.3 MyBatis框架原理 139 10.3.1 MyBatis整體架構 140 10.3.2 MyBatis運行原理 140 10.4 MyBatis核心組件的 生命周期 142 10.4.1 SqlSessionFactory Builder 142 10.4.2 SqlSessionFactory 142 10.4.3 SqlSession 142 10.4.4 Mapper Instances 142 10.5 本章小結 143 習題 10 143 第11章 配置和映射 144 11.1 示例:實現表數據的增、刪、 改、查 144 11.2 MyBatis主配置文件 149 11.3 XML映射文件 153 11.4 高級結果映射 160 11.4.1 示例說明 160 11.4.2 一對一映射 164 11.4.3 一對多映射 167 11.4.4 多對多關聯 171 11.5 本章小結 175 習題 11 175 第12章 動態SQL 176 12.1 示例:使用動態SQL 176 12.2 if 178 12.3 choose、when、otherwise 181 12.4 where、set、trim 182 12.5 foreach 187 12.6 bind 188 12.7 本章小結 189 習題 12 189 第13章 MyBatis其他 190 13.1 MyBatis注解方式 190 13.1.1 使用注解方式實現表 數據的增刪改查 190 13.1.2 使用注解的動態 SQL 194 13.2 MyBatis緩存配置 200 13.2.1 一級緩存(SqlSession 層面) 200 13.2.2 二級緩存(SqlSession Factory層面) 203 13.3 本章小結 206 習題 13 207 第14章 MyBatis應用 208 14.1 示例總體介紹 208 14.1.1 任務說明和準備數據 208 14.1.2 總體框架 209 14.1.3 程序主要流程 209 14.2 典型代碼及技術要點 210 14.2.1 通用功能包的類實現 210 14.2.2 控制層 210 14.2.3 業務層及使用 FastJson 211 14.2.4 數據層及JNDI 數據源 213 14.2.5 部署發布 215 14.2.6 使用Jackson和手工 拼湊JSON 215 14.3 本章小結 215 習題 14 216
第三部分 Spring MVC 第15章 Spring基礎 218 15.1 Spring入門 218 15.1.1 Spring概述 218 15.1.2 使用Spring容器 221 15.2 依賴注入 223 15.3 Spring容器中的Bean 227 15.4 容器中Bean的生命周期 230 15.5 兩種后處理器 231 15.5.1 Bean后處理器 231 15.5.2 容器后處理器 232 15.6 裝配Spring Bean 232 15.6.1 通過XML配置裝配 Bean 233 15.6.2 通過注解裝配Bean 233 15.6.3 自動裝配和精確裝配 235 15.7 Spring的AOP 236 15.8 本章小結 237 習題 15 237 第16章 Spring MVC入門 238 16.1 Spring MVC概述 238 16.2 Spring MVC入門示例1:Hello, Spring MVC! 238 16.2.1 創建Maven項目 238 16.2.2 pom.xml 239 16.2.3 Web應用部署描述文件 Web.xml 241 16.2.4 Spring MVC 配置文件 242 16.2.5 基于Controller接口的 控制器 242 16.2.6 視圖 243 16.2.7 部署發布項目 243 16.3 Spring MVC入門示例2: 表單提交 243 16.3.1 創建Maven項目 243 16.3.2 編碼過濾器 244 16.3.3 表單提交及相應配置 245 16.3.4 測試應用 246 16.4 Spring MVC入門示例3: 基于注解 247 16.4.1 創建Maven項目 247 16.4.2 創建控制器并添加 注解 247 16.4.3 視圖解析器 248 16.4.4 測試應用 248 16.5 Spring MVC的工作流程 249 16.6 本章小結 250 習題 16 250 第17章 基于注解的控制器 251 17.1 Spring MVC常用注解 251 17.1.1 @Controller和 @RequestMapping 251 17.1.2 @Autowired和 @Service 253 17.1.3 @RequestParam和 @PathVariable 253 17.1.4 @CookieValue和 @RequestHeader 254 17.2 在Spring MVC中處理模型 數據 255 17.2.1 數據模型 255 17.2.2 ModelAndView 256 17.2.3 Map及Model 257 17.2.4 @SessionAttributes 258 17.2.5 @ModelAttribute 259 17.3 基于注解的控制器示例1 263 17.3.1 創建AnnotationDemo1 工程 263 17.3.2 創建控制器并添加 注解 263 17.3.3 測試應用 264 17.4 基于注解的控制器示例2 264 17.4.1 創建AnnotationDemo2 工程 264 17.4.2 應用@Autowired和 @Service進行依賴 注入 265 17.4.3 重定向 267 17.4.4 測試應用 267 17.5 本章小結 268 習題 17 268 第18章 攔截器、數據轉換和格式化 269 18.1 Spring MVC的攔截器 269 18.1.1 攔截器的定義和注冊 269 18.1.2 攔截器的執行流程 271 18.1.3 多個攔截器執行的順序 274 18.1.4 攔截器應用 275 18.2 Spring MVC的數據轉換和 格式化 278 18.2.1 Spring MVC消息轉換 流程 279 18.2.2 Spring MVC的數據 綁定 279 18.2.3 Spring MVC的數據 轉換 284 18.2.4 Spring MVC的數據 格式化 287 18.2.5 JSON格式的數據 轉換 289 18.3 本章小結 295 習題 18 295 第19章 Spring MVC其他 296 19.1 Spring MVC的表單標簽庫 296 19.2 表單驗證 307 19.2.1 Spring驗證 308 19.2.2 JSR 303驗證 310 19.3 Spring MVC的文件上傳和 下載 311 19.3.1 文件上傳 311 19.3.2 文件下載 314 19.4 Spring MVC的國際化 315 19.5 本章小結 318 習題 19 318 第20章 Spring MVC+MyBatis應用 319 20.1 項目總體介紹 319 20.1.1 項目簡介及任務說明 319 20.1.2 準備數據 320 20.1.3 總體框架 320 20.2 典型代碼及技術要點 320 20.2.1 登錄模塊及Kaptcha 驗證碼組件 320 20.2.2 系統管理界面 325 20.2.3 系統用戶管理 328 20.2.4 功能模塊管理 332 20.3 本章小結 333 習題 20 333 參考文獻 334 |
序: |