《入門很簡單叢書:Java Web開發(fā)入門很簡單》采用循序漸進、由易到難的順序展開,好讓讀者輕松愉快地掌握所要講解的知識。并且每一章都以武術的要領口訣命名,目的是想讓讀者明白所有事物的學習原理都是相通的,只要您肯勤勞、有悟性,就會成功。《入門很簡單叢書:Java Web開發(fā)入門很簡單》提供了配套多媒體教學視頻及涉及的源代碼,可大大方便讀者高效、直觀地學習。
《入門很簡單叢書:Java Web開發(fā)入門很簡單》15章,分5篇。第1篇為準備篇,主要為JavaWeb開發(fā)概述,并手把手帶領讀者一塊搭建JavaWeb開發(fā)環(huán)境;第2篇為基礎篇,主要介紹HTML、CSS、JavaScript、Servlet、JSP和JavaBean等JavaWeb開發(fā)所需的基礎知識,并對這些基礎知識進行練習和領悟;第3篇為提高篇,介紹當前流行的SSH開發(fā)框架,并帶領讀者對SSH框架進行整合,最后介紹了Ajax和jQuery;第4篇為實踐篇,通過3個具體實例了解JavaWeb開發(fā)流程;第5篇為擴展篇,主要是對移動Web開發(fā)領域的擴展。
《入門很簡單叢書:Java Web開發(fā)入門很簡單》內容豐富,深度和廣度兼顧,可以作為初學者的入門指南。《入門很簡單叢書:Java Web開發(fā)入門很簡單》適用于有一定的Java語言基礎,想從事JavaWeb編程開發(fā)的初學者,以及熱愛JavaWeb開發(fā)的所有讀者。
Java語言一直以來可以說是世界上應用最廣泛的編程語言。近幾年,隨著云計算以及移動領域的擴張,很多企業(yè)考慮將其部署到Java平臺上,這就意味著Java將會有更廣闊的使用空間和發(fā)展前景。而Java Web作為Java的一個重要分支,其地位和重要性也是不言而喻的。這將需要很多精通Java Web技術的專業(yè)人才,因此現(xiàn)在有越來越多的工作者、學習者正努力進入Java Web領域或將要努力進入Java Web領域。
而想掌握Java Web技術尤其是Java EE企業(yè)級開發(fā)技術并非想象中的那么簡單,其中很多想進入Java Web開發(fā)領域的開發(fā)者倒在了入門的道路上。所以Java Web開發(fā)入門非常重要,有了好的開始就等于已經成功邁進Java Web開發(fā)的大門,至于以后如何就要看自己的修行了。為了幫助廣大工作者、學習者能真正掌握Java Web編程,感受到Java Web開發(fā)的前景和魅力,領悟到Java Web編程的精華和開發(fā)過程中的快樂,筆者根據近年來的對Java Web編程的學習和實際開發(fā)經驗,精心編寫了本書。
本書重點介紹Java Web開發(fā)入門,主要面向那些想進入Java Web開發(fā)領域但又不知如何入門的讀者,通過筆者對Java Web編程深入淺出的講解,讓讀者輕松愉快地進入Java Web開發(fā)的大門。
由于筆者是太極拳的愛好者,所以在本書中引用了很多太極拳的精妙要義,以武術的理論來講解Java Web開發(fā)的過程和原理,讓讀者能夠在閱讀本書的同時,還能體會一下太極拳的奧妙,做到松弛有度。
練太極拳有三到:神到、意到、形到。如身法正確,則進步甚速,每日有不同之感覺。學者宜細心體味之。如身法不合,神意不到,如火煮空鐺,到老無成。同理,在學習Java Web編程的時候,也需要三到,需要心神合一,掌握要領,循序漸進地練習和掌握。
在Java Web編程學習過程中,我總結了兩點:第一須勤,第二須悟。結果如何,視智慧如何,但勤能補拙,須自勉之。希望通過對本書的學習,那些徘徊在Java Web開發(fā)大門前的讀者能夠輕松走進Java Web編程的大門,只要您跟著本書學習,您會發(fā)現(xiàn)Java Web編程入門其實很簡單。
本書特色
1.通俗易懂,圖文并茂
本書每一章都以武術的要領口訣命名,目的是想讓讀者明白所有事物的學習原理都是相通的,只要您肯勤勞、有悟性,就會成功;并且本書幾乎對所有的操作都附有圖示,以期讀者更好地掌握。
2.由淺入深,涵蓋廣泛
涵蓋了Java Web開發(fā)所需要的所有的基礎知識,包括HTML、CSS、JavaScript、JSP、Servlet、XML、jQuery和Ajax等,以及當前流行的SSH框架的整合和使用。并且對開發(fā)中的異常處理和軟件測試都有簡單介紹。
3.深淺適中,擴展有度
本書既對基礎知識做了講解,以保障入門開發(fā)者能夠很快地上手;又對Java EE企業(yè)開發(fā)有所介紹和滲透,以軟件工程的思想教給讀者如何開發(fā)一個完整的項目。本書還對當前比較流行的移動Web開發(fā)有所擴展,讓讀者掌握前沿開發(fā)動向。
4.實例豐富,實用性強
在介紹每一個知識點的同時都加入了一些操作實例,讀者可以參考學習,以輕松練習和掌握所學知識。
5.視頻教學,高效直觀
為配合讀者的學習,本書提供了配套教學視頻。由于有些知識通過書面表達很難講解到位,所以為了幫助讀者在學習本書時能夠輕松掌握書中所講的知識,作者專門錄制了本書重點內容的教學視頻供讀者高效而直觀地學習。讀者在閱讀本書的時候請結合教學視頻的講解進行學習,才能達到更好的效果,因為有些經驗和知識點在書中可能并沒有提及。
本書內容安排
學習本書內容需要讀者提前學習一下Java基礎知識。因為本書旨在介紹Java Web開發(fā)編程入門,所以對Java基礎知識并沒有做詳細的講解。本書共15章,分為5篇,按照章節(jié)的先后順序,由淺入深、循序漸進地講解了Java Web編程基礎知識和常用框架,并根據筆者的工作經驗,力求將開發(fā)過程中遇到的問題分享給讀者,以免讀者再犯類似錯誤。
第1篇,準備篇,包括第1、2章,介紹了Java Web開發(fā)領域及開發(fā)環(huán)境的搭建。
第1章介紹了Java Web開發(fā)的背景和所需要的東西。
第2章介紹了Java Web開發(fā)環(huán)境的搭建,手把手帶領讀者搭建開發(fā)環(huán)境。
第2篇,基礎篇,包括第3~5章,主要介紹了Java Web開發(fā)必備的基礎知識。
第3章介紹了Java Web開發(fā)必備的基礎知識,包括HTML、JSP、Servlet和 JavaBean等。
第4章帶領讀者練習一下第3章所學的內容,為后續(xù)學習打好基礎。
第5章介紹了Java Web開發(fā)組件的聯(lián)系和原理,同時對MVC模式有所講解。
第3篇,提高篇,包括第6~8章,主要介紹了Java Web開發(fā)的常用的框架。
第6章介紹了Java Web開發(fā)中最常用的Struts、Spring和Hibernate三大框架的使用。
第7章介紹了SSH三大框架的整合開發(fā),讓讀者初步具備SSH框架的整合思維。
第8章介紹了jQuery和Ajax框架在Web開發(fā)中的應用。
第4篇,實踐篇,包括第9~13章,通過具體實例介紹Java Web項目開發(fā)過程。
第9章主要從軟件工程的角度介紹了Java Web項目的開發(fā)流程。
第10~12章為3個具體實例,按照軟件開發(fā)的流程帶領讀者完成了3個Java Web項目。
第13章主要介紹了Java Web開發(fā)中的常見異常和處理方法,需要讀者深思體會。
第5篇,擴展篇,包括第14、15章,簡單介紹了移動Web開發(fā)的相關內容。
第14章簡單介紹了一些移動Web開發(fā)的領域,目的是讓讀者開闊自己的知識視野。
第15章簡單介紹了現(xiàn)今移動領域的迅猛發(fā)展和移動Web開發(fā)的前景,勸誡讀者須知學海無涯,應潛心學習。
本書適合的讀者
如果您已經具備了較好的Java Web編程功底,那么您可以繞過本書而學習更加深入的知識。但是如果您只是Java Web的初學者或者想進入Java Web開發(fā)領域,本書就是您不錯的選擇。
* 有一定Java基礎,想從事Java Web開發(fā)的初學者;
* 熱愛Java Web開發(fā)的所有讀者。
本書作者
本書由賀振增和張海芳主筆編寫。其他參與編寫的人員有吳振華、辛立偉、熊新奇、徐彬、晏景現(xiàn)、楊光磊、楊艷玲、姚志娟、俞晶磊、張建輝、張健、張林、張迎春、張之超、趙紅梅、趙永源、仲從浩、周建珍、楊文達。
致謝
感謝我的父母!長期以來你們一直默默地支持和鼓勵著我。如果沒有你們的支持,我不會有今天的成果,是你們的鼓勵和支持讓我有了前進的方向和奮斗的動力。
感謝清華大學出版社負責本書的編輯!本書寫作過程中得到了不少良好的建議和 指導。
感謝和我一起主筆編寫本書的張海芳同學!感謝參與本書編寫的張海洋等其他作者和同事,他們給了我不少寶貴的意見。
本書寫作過程中借鑒和參考了網絡開源社區(qū)和論壇的相關內容,在此表示感謝!
希望讀者通過學習本書,有所領悟,有所收獲。閱讀本書的過程中若有疑問,請發(fā)郵件和我們聯(lián)系。
編著者
賀振增,高級軟件工程師。畢業(yè)于河北工業(yè)大學計算機科學與軟件學院軟件工程系。長期從事軟件開發(fā)與設計工作,熟悉Java與C++等編程語言,對JavaWeb開發(fā)框架有深入的研究和透徹的理解。參加過多個大型項目的開發(fā),有豐富的實際項目開發(fā)經驗。非常熟悉Web項目的開發(fā)過程,并對JavaEE企業(yè)開發(fā)中需要注意的問題有獨特的見解。曾經在互聯(lián)網上發(fā)布過多個免費軟件,深受用戶的喜愛。目前專注于電子商務和移動應用等領域的研究。
張海芳,軟件設計師。畢業(yè)于中國礦業(yè)大學。精通Java語言,熟練掌握JavaWeb開發(fā)需要用到的各種框架和工具。長期從事軟件開發(fā)和軟件項目管理工作,參與過多個大型項目的開發(fā)和管理。
第1篇 準備篇
第1章 師父領進門——了解Java Web開發(fā)領域
1.1 門一:Java是開發(fā)的基礎
1.1.1 Java語言的發(fā)展歷程
1.1.2 Java語言的特性
1.1.3 Java語言的發(fā)展前景
1.2 門二:Java Web開發(fā)概述
1.2.1 Java Web開發(fā)前途
1.2.2 Java Web開發(fā)需要什么
1.2.3 如何學習Java Web開發(fā)
1.3 門三:Java Web開發(fā)的基本知識
1.3.1 Java Web程序運行原理
1.3.2 Java Web應用程序組成
1.3.3 Java Web主要開發(fā)體系結構
1.4 本章小結
第2章 工欲善其事,必先利其器——開發(fā)環(huán)境的搭建
2.1 Java開發(fā)環(huán)境的搭建
2.1.1 JDK下載與安裝
2.1.2 配置環(huán)境變量
2.1.3 JDK環(huán)境測試
2.2 Web部署環(huán)境的搭建
2.2.1 Tomcat 的下載與安裝
2.2.2 Tomcat的環(huán)境變量配置
2.3 搭建Java EE開發(fā)環(huán)境
2.3.1 Eclipse的下載和安裝
2.3.2 MyEclipse的下載與安裝
2.3.3 Tomcat集成到開發(fā)環(huán)境
2.4 MySQL數(shù)據庫的安裝
2.4.1 MySQL數(shù)據庫的下載
2.4.2 MySQL數(shù)據庫的安裝
2.4.3 MySQL數(shù)據庫的配置
2.4.4 MySQL數(shù)據可連接測試
2.5 本章小結
第2篇 基礎篇
第3章 練功不站樁,等于瞎晃蕩——Java Web開發(fā)必備
3.1 樁功之一:HTML網頁設計
3.1.1 什么是HTML
3.1.2 HTML語言特點
3.1.3 HTML文檔的編寫方法
3.1.4 HTML文檔結構
3.1.5 HTML元素屬性
3.2 樁功之二:DIV+CSS網頁布局
3.2.1 什么是CSS
3.2.2 Web標準的構成和布局
3.2.3 傳統(tǒng)布局與CSS布局
3.2.4 CSS布局實例
3.2.5 CSS語法基礎
3.2.6 如何應用CSS到網頁中
3.2.7 CSS開發(fā)與調試環(huán)境
3.2.8 CSS樣式表
3.3 樁功之三:JavaScript功能
3.3.1 什么是JavaScript
3.3.2 JavaScript與Java的區(qū)別
3.3.3 第一個JavaScript程序
3.3.4 JavaScript程序控制結構
3.3.5 JavaScript函數(shù)
3.3.6 JavaScript事件驅動與事件處理
3.3.7 如何將JavaScript加入網頁
3.3.8 JavaScript對象的使用
3.4 樁功之四:JSP動態(tài)界面的設計
3.4.1 什么是JSP
3.4.2 JSP運行原理
3.4.3 JSP語法
3.4.4 JSP指令
3.4.5 JSP動作
3.5 樁功之五:Servlet的認識和使用
3.5.1 什么是Servlet
3.5.2 Servlet的特點
3.5.3 Servlet的生命周期
3.5.4 Servlet的配置
3.5.5 Servlet使用
3.6 樁功之六:JavaBean的認知和使用
3.6.1 什么是JavaBean
3.6.2 JavaBean的特點
3.6.3 JavaBean的屬性
3.6.4 JavaBean的方法
3.6.5 JavaBean的使用
3.7 樁功之七:XML配置
3.7.1 XML語言概述
3.7.2 XML文檔結構
3.7.3 XML文檔內容編輯
3.7.4 XML文檔解析
3.8 本章小結
第4章 練其道——基礎知識循序漸進練習掌握
4.1 練其道:練習已經學過的知識點
4.1.1 示例4-1:編寫一個HTML靜態(tài)網頁
4.1.2 示例4-2:將CSS樣式表應用到網頁
4.1.3 示例4-3:JavaScript窗口輸入輸出
4.2 練其道:動態(tài)網頁開發(fā)
4.2.1 示例4-4:在JSP中應用CSS
4.2.2 示例4-5:在JSP中應用JavaScript
4.2.3 示例4-6:在JSP中使用JavaBean
4.2.4 示例4-7:使用JavaBean連接數(shù)據庫
4.2.5 示例4-8:Servlet+JavaBean+DataBase(數(shù)據庫)在開發(fā)中的使用
4.3 本章小結
第5章 知其妙,悟其禪,得其法——參悟Java Web開發(fā)模式
5.1 知其妙:知道Java Web開發(fā)組件的聯(lián)系和原理
5.1.1 Model 1:JSP+JavaBean的使用方法
5.1.2 Model 2:JSP+JavaBean+Servlet的使用方法
5.2 悟其禪:通過比較,領悟其中的真正原理
5.2.1 兩種方式的特點
5.2.2 兩種方式的比較
5.3 得其法:MVC模式
5.3.1 什么是MVC
5.3.2 為什么要引入MVC模式
5.3.3 MVC模式的運行原理
5.4 本章小結
第3篇 提高篇
第6章 以無法為有法——Java Web開發(fā)框架
6.1 Java Web開發(fā)框架
6.1.1 Java Web框架的介紹
6.1.2 框架共同特點
6.2 Web層框架Struts概述
6.2.1 什么是Struts
6.2.2 Struts 1組成
6.2.3 Struts 2組成
6.2.4 Struts 2的環(huán)境搭建
6.2.5 Struts 2應用
6.3 業(yè)務邏輯實現(xiàn)Spring
6.3.1 什么是Spring
6.3.2 Spring的優(yōu)點
6.3.3 Spring 框架
6.3.4 IOC機制
6.3.5 AOP
6.3.6 搭建Spring開發(fā)環(huán)境
6.3.7 Spring的啟動
6.3.8 Spring使用
6.3.9 應用Spring中的AOP和IOC
6.3.10 Spring注解
6.4 數(shù)據持久化Hibernate
6.4.1 什么是Hibernate
6.4.2 JDBC與Hibernate的比較
6.4.3 Hibernate的持久化框架
6.4.4 Hibernate開發(fā)環(huán)境
6.4.5 Hibernate應用示例
6.4.7 Hibernate的查詢方式
6.5 本章小結
第7章 法外有法——開發(fā)框架的集成也有規(guī)則
7.1 法外之法一:基于SSH框架的Web應用架構分析
7.1.1 SSH框架是什么
7.1.2 SSH框架三個組件的職責
7.1.3 SSH框架多層架構設計模式
7.2 法外之法二:基于SSH框架的Web應用系統(tǒng)的實現(xiàn)
7.2.1 SSH整合準備
7.2.2 SSH整合過程
7.2.3 整合外部jar文件
7.2.4 數(shù)據持久層實現(xiàn)
7.2.5 數(shù)據業(yè)務層實現(xiàn)
7.2.6 數(shù)據表示層實現(xiàn)
7.3 本章小結
第8章 Ajax和jQuery的妙用
8.1 Ajax介紹
8.1.1 什么是Ajax
8.1.2 Ajax的優(yōu)點和缺點
8.1.3 Ajax所包含的技術
8.1.4 在JSP中如何應用Ajax
8.2 jQuery介紹
8.2.1 什么是jQuery
8.2.2 jQuery的特征
8.2.3 jQuery在Java Web開發(fā)中的應用
8.2.4 jQuery選擇器
8.2.5 jQuery事件處理
8.2.6 jQuery的常見簡單應用實例
8.3 本章小結
第4篇 實踐篇
第9章 朝夕勤習練,內外緊相連——對軟件工程操練
9.1 軟件工程概述
9.2 軟件開發(fā)的流程
9.2.1 軟件開發(fā)基本流程
9.2.2 項目啟動和策劃階段
9.2.3 需求分析、設計、編碼階段
9.2.4 提交測試階段
9.2.5 生產發(fā)布、終測
9.2.6 發(fā)布后問題反饋修改過程
9.3 軟件需求分析
9.3.1 什么是需求
9.3.2 需求文檔
9.3.3 引言
9.3.4 綜合描述
9.3.5 外部接口需求
9.3.6 系統(tǒng)特性
9.3.7 非功能需求
9.3.8 其他需求
9.4 軟件概要設計
9.4.1 軟件概要設計的目的
9.4.2 軟件概要設計說明書
9.5 軟件詳細設計
9.5.1 軟件詳細設計的目的與任務
9.5.2 詳細設計說明書
9.6 軟件實現(xiàn)
9.6.1 軟件實現(xiàn)的過程
9.6.2 軟件實現(xiàn)的主要內容
9.6.3 程序效率
9.6.4 源代碼規(guī)范
9.7 軟件測試和發(fā)布
9.7.1 軟件危機
9.7.2 軟件測試報告
9.8 本章小結
第10章 網上圖書銷售管理系統(tǒng)
10.1 項目開發(fā)背景和意義
10.2 可行性分析
10.3 需求分析
10.3.1 功能需求
10.3.2 非功能需求
10.4 概要設計
10.4.1 系統(tǒng)設計目標
10.4.2 系統(tǒng)設計思想
10.4.3 系統(tǒng)功能模塊劃分
10.5 數(shù)據庫設計
10.5.1 數(shù)據庫需求分析
10.5.2 數(shù)據庫邏輯結構設計
10.5.3 創(chuàng)建和導入數(shù)據庫表結構
10.6 詳細設計
10.6.1 JSP頁面的組成
10.6.2 JSP 的運行環(huán)境
10.6.3 詳細設計及說明
10.6.4 客戶界面設計
10.6.5 管理界面設計
10.7 網上圖書管理系統(tǒng)的使用
10.7.1 服務器的配置及環(huán)境的搭建
10.7.2 進入前臺
10.7.3 進入后臺
10.8 本章小結
第11章 基于Struts的學生成績管理系統(tǒng)
11.1 項目開發(fā)背景和意義
11.1.1 項目開發(fā)背景
11.1.2 項目提出的意義
11.1.3 系統(tǒng)開發(fā)所用的技術
11.2 系統(tǒng)需求分析
11.2.1 系統(tǒng)調查
11.2.2 系統(tǒng)構架
11.3 用戶需求分析
11.3.1 系統(tǒng)框架分析
11.3.2 系統(tǒng)登錄和退出模塊
11.3.3 學生信息管理
11.3.4 課程信息管理
11.3.5 成績信息管理
11.4 系統(tǒng)概要設計
11.4.1 系統(tǒng)功能設計
11.4.2 數(shù)據庫設計
11.4.3 數(shù)據庫所使用的技術
11.5 系統(tǒng)詳細設計
11.5.1 系統(tǒng)的登錄管理
11.5.2 學生信息管理
11.5.3 課程信息管理
11.5.4 成績信息管理
11.6 系統(tǒng)測試
11.6.1 測試目的
11.6.2 測試環(huán)境的搭建
11.6.3 測試方法
11.6.4 測試項目
11.6.5 測試結果
11.7 項目總結
第12章 模擬基于SSH的電信計費管理系統(tǒng)
12.1 開發(fā)計費系統(tǒng)的背景和意義
12.2 電信計費管理系統(tǒng)需求分析
12.3 電信計費管理系統(tǒng)概要設計
12.3.1 系統(tǒng)流程圖
12.3.2 將E-R模型轉換為關系模型
12.4 模擬電信計費管理系統(tǒng)詳細設計
12.4.1 登錄功能的實現(xiàn)
12.4.2 增加操作員功能的實現(xiàn)
12.4.3 號碼管理功能實現(xiàn)
12.4.4 配置業(yè)務費用功能實現(xiàn)
12.4.5 開戶管理
12.5 本章小結
第13章 練武恒為貴,技藝賴深思——不斷對軟件問題思考并處理
13.1 Java中的異常處理機制
13.1.1 為什么要引入異常處理機制
13.1.2 什么是異常
13.1.3 異常的類型
13.1.4 異常如何處理
13.1.5 異常處理注意的問題
13.2 應用中常見異常處理
13.2.1 java.lang.nullpointerexception異常
13.2.2 ArithmeticException異常
13.2.3 java.lang.arrayindexoutofboundsexception異常
13.2.4 java.lang.classnotfoundexception異常
13.2.5 FileNotFoundException異常
13.2.6 其他常見異常
13.3 對開發(fā)者的建議
13.3.1 異常處理的一般原則
13.3.2 異常的轉譯與異常鏈
13.3.3 設計一個高效合理的異常處理框架
13.4 本章小結
第5篇 擴展篇
第14章 超越自我,眼界開闊——移動Web開發(fā)新領域
14.1 移動Web開發(fā)概述
14.1.1 什么是移動Web開發(fā)
14.1.2 移動Web開發(fā)總體架構
14.1.3 移動互聯(lián)網的現(xiàn)狀
14.1.4 主流移動Web開發(fā)框架
14.1.5 移動Web開發(fā)前景
14.1.6 移動Web開發(fā)需要什么
14.2 移動Web開發(fā)方向
14.2.1 選擇適合自己的移動Web開發(fā)方向
14.2.2 純Web類應用程序
14.3 移動Web開發(fā)基礎
14.3.1 移動Web和桌面Web
14.3.2 移動標記語言
14.3.3 移動腳本語言
14.4 HTML 5在移動Web開發(fā)中的應用
14.4.1 什么是HTML 5
14.4.2 HTML 5特點
14.4.3 HTML 5的優(yōu)點
14.4.4 HTML 5在Web開發(fā)中的作用
14.5 jQuery Mobile在移動Web開發(fā)中的應用
14.5.1 什么是jQuery Mobile
14.5.2 jQuery Mobile基本特性
14.6 本章小結
第15章 學海無涯,潛心修煉——不斷探索新領域
15.1 淺析移動領域Java Web開發(fā)前景
15.1.1 Java的發(fā)展和未來的趨勢
15.1.2 移動終端發(fā)展和未來移動終端趨勢
15.2 結束