Web程序設計(第二版)
-
【作 者】郝興偉
【I S B N 】978-7-5084-6226-4
【責任編輯】吳 萍
【適用讀者群】本科
【出版時間】2008-01-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】2008年12月第2版
【頁 數】276
【千字數】
【印 張】
【定 價】¥28
【叢 書】21世紀高等學校精品教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書以Web中的B/S三層結構為主線,以編者具體的研發項目為背景,按照“任務驅動”的編寫方式,系統地講解了Web編程問題,并提供了大量的案例和代碼。全書共分6章,分別介紹了Web程序設計基礎,計算模式與編程模式的演變,B/S結構與Web應用,Java技術、XML技術、Web服務等Java核心技術及Web的最新進展;Web程序及運行環境,包括Tomcat服務器的配置,Web應用的規劃和部署;標記語言HTML規范;網頁設計與制作,包括網頁設計理念和FrontPage網頁制作工具;Web客戶端編程,包括JavaScript和AJAX技術,數據獲取及數據有效性驗證;Web服務器編程,包括Java程序設計基礎、JavaBean、JSP技術、文件及文件夾操作、數據庫編程等內容。
本書配套有《Web程序設計實訓教程(第二版)》,特別適合作為培養應用型人才的高等學校計算機應用、信息管理及電子商務等專業學生的Web技術導論、Web程序設計、互聯網與Web編程等課程的教材,也可以作為非計算機專業高年級學生學習計算機網絡及應用和Web編程的綜合性書籍。
1 以Web中的B/S三層結構為主線,為讀者建立一個清晰的Web編程與應用知識框架
2 以編者10多年的研發項目為背景,講解從CSS樣式設計、菜單實現、表單數據獲取和有效性驗證、網頁參數傳遞、網頁安全、服務端數據類型轉換、數組和文件操作、數據庫編程等110多段實用的程序代碼
3 采用“任務驅動”的編寫方式,精心設計例題和案例,每一個例題和案例都可以在實際的Web應用中找到應用,為實際Web編程提供借鑒
4 設計了150多道課后練習題,都是編者在實際Web開發中遇到的問題和難點。通過提出問題的方式,加深對所學知識點的理解
5 配套《Web程序設計實訓教程(第2版)》,方便讀者上機操作
6 提供課程網站(http://jcjy.sdu.edu.cn/或http://202.194.28.11/),免費下載相關教學資源(案例和程序源代碼、PPT電子教案、答疑解惑、經典程序代碼集錦等),方便教學
進入20世紀90年代以后,人們在享受互聯網給我們的工作和生活帶來無限便利的同時,Web技術也正在悄悄地影響和改變著我們的思維方式。在軟件開發和程序設計領域,Web程序設計正悄然興起,C/S結構的系統風光不再,B/S結構在市場競爭中已經脫穎而出。現在,無論是企業的電子商務,還是政府辦公系統,可以說,80%以上的計算機應用都是基于Web的,使互聯網這個現代的通信平臺找到了最廣闊的應用市場。
身處教育行業和IT行業兩重身份,一直對計算機軟件技術的發展非常關注,希望所教授的知識和社會的需求緊密相關,培養的學生既有扎實、寬厚、系統的基礎理論知識,又有優秀的開發能力。理論和實踐的結合需要一個載體,對計算機軟件來說,項目是再好不過的載體了。在軟件項目的實施中,我們可以對相關的理論知識進行應用驗證;反過來,在軟件開發和應用中遇到的問題、難題,又推動了我們對理論問題的研究。
科研和教學就是這樣地相輔相承,項目作為一種結合點,推動著科研和教學水平的不斷提高。從2001年開始,我們開始基于B/S三層架構的軟件開發工作,開發領域主要是E-learning,虛擬實驗室,還有一些通用的管理系統,例如會議管理、論文管理、作業管理等。在這些Web應用的開發中,遇到了許許多多的問題,也積累了很多的經驗,有很多的體會。我們不斷地將開發和研究中的體會,在通過大學講臺和學生們交流和分享的同時,先后于2005年、2007年探索性地出版了《Web技術導論》和《Web開發技術》兩個版本的教材,書中的例題和案例大都來源于這些研發項目。
對于每一位任課教師,或者是學習Web開發的學生來說,往往會對自己上網過程中見到的良好的網頁感興趣,會想到能夠借鑒其中的代碼,來提高自己的程序質量,提高編程效率。這是每一個軟件開發人員在長期的職業生涯中養成的習慣,即使自己不再編程,也愿意收集一些程序代碼和編程寶典類的書籍,學習其中的編程技巧。這些也正是一些教科書中最缺乏的東西,才有了許多軟件公司人員的抱怨,說我們培養的學生不能編程。雖然市場上有許多專門的開發類書籍,但這些書籍的讀者對象通常是專業開發人員,并不適合于教學。因此,結合市場需求和教學的需要,在前兩本已出版的教材基礎上,減少了一些過時的技術內容,增加了更多實用性技術、常用問題及代碼,形成本書。
在本書中,我們把Web開發中最常用的一些實現代碼以例題或案例的形式寫出來,不但用以鞏固所學到的知識點,更重要的是為我們未來的軟件編程提供借鑒。本書共收集和講解了110多段非常有用的程序代碼,內容涉及HTML中的頁面布局,CSS的設計和應用,Web中的彈出式菜單、樹形菜單的設計和不同的實現方法,表單數據的獲取,中文字符、email、用戶賬戶、整數、浮點數數字輸入的有效性驗證,數據之間的類型轉換,數組和集合類,頁面之間的參數傳遞,頁面安全,服務端的文件和文件夾操作,數據庫的訪問和操作,AJAX異步通信等各種各樣的實用代碼。
本書分成6章,主要內容如下:
第1章Web程序設計基礎。介紹了計算模式的演變,不同計算模式下的軟件開發問題。同時,對Web的工作機理、Java技術、XML技術、Web服務、SOA架構等相關技術,語義Web、Web 2.0等的新進展進行了概要性介紹。
第2章 Web程序及運行環境。講解了Web應用及其基本結構,對Web應用的運行環境進行了詳細講解。圍繞Java技術,介紹了Java、Tomcat應用服務器的安裝和配置。重點講解了Web應用的規劃和部署。
第3章 標記語言和HTML基礎。標記語言是Web應用開發的基礎,它是Web應用界面的實現手段。本章首先介紹了標記語言的概念,然后詳細介紹了HTML標記語言的語法,對css技術進行了深入講解,并安排了大量的例子解釋每種元素的含義和使用。
第4章 網頁設計與制作。網頁作為Web應用的主要用戶界面,在HTML基礎上,加強了網頁設計的講解,包括:頁面功能與內容設計、頁面布局設計、頁面視覺設計以及頁面效果設計等。本章還介紹了可視化制作工具FrontPage的使用。
第5章 客戶端編程。首先講解了Web瀏覽器的基本工作原理,然后講解了客戶端腳本程序設計語言JavaScript、瀏覽器對象模型BOM、HTML文檔對象模型DOM、Web交互的內容,并講解了AJAX技術。最后安排了四個綜合性案例,詳細講解JavaScript中的菜單實現、表單數據的有效性驗證、表單數據的處理、參數傳遞以及頁面安全性等問題。這些綜合案例中包含了大量的Web開發中所需要的代碼,都來源于我們具體的研發項目,相信通過這些案例的學習,會大大提高編程人員的Web開發能力和代碼質量。
第6章 服務端編程。首先介紹了B/S三層結構的概念,然后簡單講解了Java程序設計語言基礎,介紹了Java技術的特點、類與對象、接口、包等基本概念,介紹了Java Applet、JavaBean、Servlet服務器程序的概念,這些概念是開展基于Java技術的服務端編程的基礎。
本章的重點是JSP技術、數據庫編程以及MVC設計模式的講解。在JSP技術中,講解了JSP的語法、JSP中的數據類型及其轉換、JSP內置對象、JSP中的參數傳遞方法等內容。然后講解了服務端的數據庫編程,并給出了一個完整的案例。最后,講解了基于Ajax技術的在線聊天Web應用的整個開發過程,同時對常用的Java開發工具進行了介紹。
作為互聯網的用戶和Web技術的開發者和實踐者,同時,作為一個公司派的高校教師,希望這本書的知識結構和內容對于您學習Web開發,進行Web編程能有所幫助。也希望其中的大量例子在您未來的Web開發中,為您的編程給以啟發,節省寶貴的時間。軟件開發是一個積累的過程,讓我們一起在這種積累中進步,來享受成功的樂趣。
在本書寫作的過程中,非常感謝我的同事鞏裕偉老師、焦文江老師、楊興強老師、呂剛老師、闞錚老師和李蘊老師的工作和他們提出的良好建議,還要感謝我的學生蘇雪、常躍峰、崔旭、朱巖 、郝鳳杰、田容雨、尤鳳英、董穎等,他們都參與了我們許多項目的研發工作,編寫了大量的程序代碼,祝愿他們在以后的工作和生活中一切順利,祝愿他們取得更大的成績。此外,還要感謝中國水利水電出版社的雷順加編審,在本書的策劃和寫作中,提出了很好的建議,特別是對編寫方式及習題的策劃,使得本書能夠更好地用于教學。
由于本書涉及的內容非常廣泛,在深度和廣度上很難做到完美,同時,也由于作者本人的知識面和認識有限,書中錯誤和不足在所難免,敬請各位同行和廣大讀者批評指正。
作者Email:hxw@sdu.edu.cn
第1章 Web程序設計基礎 1
1.1 計算模式與程序設計模式的演變 1
1.1.1 單機運行與集中式計算模式 1
1.1.2 客戶/服務器(C/S)計算模式 2
1.1.3 瀏覽器/服務器(B/S)計算模式 2
1.1.4 軟件設計與開發模式的演化 4
1.2 Web及其工作原理 5
1.2.1 什么是Web 5
1.2.2 Web的工作原理 6
1.2.3 Web瀏覽器 6
1.2.4 Web服務器 7
1.3 Web相關技術 7
1.3.1 概念及術語 7
1.3.2 Java技術 8
1.3.3 XML技術 10
1.3.4 Web服務 12
1.4 Web發展趨勢 13
1.4.1 Web 2.0 13
1.4.2 語義Web 14
本章小結 16
習題1 16
第2章 Web程序及運行環境 18
2.1 Web應用及基本結構 18
2.1.1 傳統程序與軟件開發 18
2.1.2 Web應用的基本結構 19
2.2 操作系統與Web服務器 21
2.2.1 Web服務器 21
2.2.2 主流Web服務器簡介 21
2.3 基于Java的Web應用運行環境 23
2.3.1 Apache服務器的作用和功能 23
2.3.2 Tomcat應用服務器的作用和功能 23
2.4 Tomcat的安裝和配置 24
2.4.1 Servlet/JSP規范 24
2.4.2 安裝Java運行環境 24
2.4.3 Tomcat的安裝和配置 29
2.4.4 建立并部署Web應用 35
2.4.5 使用虛擬目錄 39
2.5 Web應用的規劃與運行 40
2.5.1 規劃Web應用 40
2.5.2 Web應用的運行 41
本章小結 41
習題2 42
第3章 標記語言HTML基礎 43
3.1 標記語言及其發展 43
3.1.1 標準通用標記語言SGML 44
3.1.2 超文本標記語言HTML 44
3.1.3 可擴展HTML規范XHTML 45
3.1.4 可擴展標記語言XML 45
3.2 HTML標記語言基礎 45
3.2.1 標記類型與標記屬性 46
3.2.2 文檔結構 46
3.3 文件頭標記及子標記 47
3.4 文件體標記及其屬性 49
3.5 文檔內容常用標記 51
3.5.1 標題、段落與文本標記 51
3.5.2 圖像標記 52
3.5.3 超鏈接標記與書簽 53
3.5.4 影像地圖標記 54
3.5.5 表格 55
3.5.6 表單 57
3.5.7 其他標記 64
3.6 div標記與span標記 66
3.6.1 層次塊div標記 66
3.6.2 span標記 67
3.7 對象和腳本程序標記 68
3.8 層疊樣式表CSS技術 70
3.9 幀 76
3.10 其他相關技術 78
3.10.1 DHTML技術 78
3.10.2 SHTML技術 78
本章小結 79
習題3 79
第4章 網頁設計與制作 83
4.1 網頁設計基礎 83
4.1.1 頁面功能與內容設計 83
4.1.2 頁面布局設計 84
4.1.3 頁面視覺設計 87
4.1.4 頁面效果設計 88
4.2 使用FrontPage 89
4.2.1 FrontPage主窗口 89
4.2.2 網站的新建與維護 90
4.2.3 新建網頁 92
4.3 網頁編輯 94
4.3.1 輸入文本內容 94
4.3.2 插入圖片 95
4.3.3 建立超鏈接或書簽 96
4.3.4 圖像地圖 97
4.3.5 插入表格 98
4.3.6 插入表單 100
4.4 設置標記屬性 101
4.4.1 使用IntelliSense技術 102
4.4.2 使用行為面板 102
4.5 定義和使用樣式 103
4.5.1 定義樣式 103
4.5.2 使用樣式表文件 104
4.6 Frame框架和IFrame框架 104
4.6.1 Frame框架網頁 105
4.6.2 使用浮動框架IFrame 108
本章小結 111
習題4 111
第5章 客戶端編程 114
5.1 瀏覽器與客戶端腳本程序 114
5.1.1 瀏覽器與客戶端腳本引擎 115
5.1.2 腳本語言規范與主要的客戶端腳本語言 115
5.2 JavaScript程序設計基礎 117
5.2.1 JavaScript基本符號 117
5.2.2 數據和數據類型 118
5.2.3 常量和變量 119
5.2.4 表達式和運算符 120
5.2.5 基本語句 120
5.2.6 函數 124
5.3 事件驅動及事件處理 124
5.3.1 事件驅動的程序執行過程 124
5.3.2 JavaScript中的常用事件 124
5.4 對象及其操作 126
5.4.1 類與對象的概念 126
5.4.2 對象的操作 127
5.5 常用內部對象及函數 128
5.5.1 String對象 128
5.5.2 Math對象 131
5.5.3 Date對象 132
5.5.4 Array數組對象 135
5.5.5 預定義函數 136
5.6 JavaScript瀏覽器對象模型BOM 138
5.6.1 BOM層次結構 138
5.6.2 window對象 138
5.6.3 frames對象 143
5.6.4 location對象 144
5.6.5 history對象 144
5.6.6 screen對象 145
5.6.7 event對象 146
5.7 HTML文檔對象模型DOM 147
5.7.1 文檔對象模型DOM 147
5.7.2 HTML DOM對象 148
5.8 Web交互 155
5.8.1 使用form實現Web頁面的信息交互 155
5.8.2 使用frame實現更復雜的交互 164
5.9 使用AJAX技術 170
5.9.1 AJAX基礎 170
5.9.2 XMLHttpRequest對象 171
5.10 綜合舉例 173
5.10.1 創建折疊式菜單 174
5.10.2 創建樹形菜單 177
5.10.3 表單數據綜合處理 179
5.10.4 頁面之間參數傳遞 188
本章小結 195
習題5 196
第6章 服務端編程 199
6.1 B/S三層體系結構與Web服務器腳本程序 199
6.1.1 B/S三層體系結構 200
6.1.2 腳本引擎與服務端腳本程序 200
6.2 Java程序設計基礎 201
6.2.1 Java程序設計語言 202
6.2.2 類與對象 204
6.2.3 接口 211
6.2.4 包 212
6.2.5 Java基礎類庫 213
6.2.6 Java Applet 214
6.2.7 Servlet服務器程序 215
6.3 JavaBean 216
6.3.1 什么是JavaBean 216
6.3.2 JavaBean的屬性、方法和事件 216
6.4 JSP技術 218
6.4.1 JSP的運行環境 219
6.4.2 JSP的語法結構 220
6.4.3 JSP中的數據類型及其轉換 222
6.4.4 JSP內置對象 224
6.4.5 在JSP中使用JavaBean 227
6.4.6 JSP中的文件與文件夾操作 229
6.4.7 JSP中的參數傳遞方法 231
6.5 JDBC與數據庫編程 232
6.5.1 JDBC接口 232
6.5.2 數據庫操作 234
6.5.3 舉例 235
6.6 綜合舉例??在線聊天程序 244
6.6.1 系統分析 244
6.6.2 客戶端設計 244
6.6.3 服務端設計 254
6.7 Java開發工具簡介 260
6.7.1 JDK 260
6.7.2 Sun NetBeans集成開發環境 261
6.7.3 Eclipse開發平臺 261
6.7.4 JBuilder開發環境 262
6.7.5 JDeveloper開發框架 262
本章小結 263
習題6 263
參考資料 265
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發 [李智威 著]
- MySQL數據庫項目式教程 [陳亞峰]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Java Web應用技術項目化教程 [黃日勝 方阿麗]
- Python程序設計基礎及實戰 [主編 劉健]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰——基于UiPath [主編 金鑫]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- Python程序設計 [李國燕 王新強 劉佳 等編著]
- Python程序設計項目化教程(活頁式) [主編 盧鳳偉]
- Web安全基礎及項目實踐 [主編 鄭麗 安厚霖 崔俊鵬]
- Web前端開發項目化教程(微課版) [主編 郭立文 王洪波]
- Java編程基礎案例式教程 [主編 陳艷華 唐春蘭]