JSP Web程序設計開發教程
趙靖華、呂凱、趙鎧楠、李筱魁、袁鶴
商品描述
"本書通過通俗易懂的語言和實用生動的例子,系統介紹Web應用開發的基本知識、開發環境與開發工具,主要內容包括JSP及Servlet程序運行環境的搭建、JSP基本語法與內置對象,以及如何使用JDBC、JavaBean、Servlet技術和MVC模式訪問數據庫,同時涵蓋表達式語言(EL)和標準標簽庫(JSTL)的使用方法。每章都提供了習題,方便讀者及時驗證學習效果。 本書語言簡潔,內容豐富,既可作為JSP初學者的入門教材,也可作為高等院校相關專業的教材和輔導用書,還對JSP開發人員的自學具有較高的參考價值。 "
目錄大綱
目錄
第1章JSP簡介1
1.1JSP概述1
1.1.1什麼是JSP1
1.1.2JSP運行原理1
1.1.3JSP的優勢2
1.2安裝配置JSP運行環境2
1.2.1JDK的安裝和環境變量配置2
1.2.2Tomcat的安裝和測試4
1.3開發工具Eclipse7
1.3.1在Eclipse中配置服務器7
1.3.2在Eclipse中建立Web項目8
1.4創建JSP程序11
本章小結12
習題12
第2章JSP基本語法13
2.1腳本元素13
2.1.1JSP聲明13
2.1.2表達式15
2.1.3腳本小程序17
2.2JSP指令19
2.2.1page指令19
2.2.2include指令23
2.2.3taglib指令25
2.3JSP動作標記25
2.3.1include動作標記26
2.3.2param動作標記27
2.3.3forward動作標記29
2.4JSP註釋32
本章小結33
習題33
第3章JSP內置對象35
3.1request對象35
3.1.1request對象的常用方法35
3.1.2使用request對象接收請求參數36
3.1.3請求中文亂碼的處理39
3.1.4獲取請求的頭部信息39
3.2response對象40
3.2.1response對象的常用方法41
3.2.2設置頁面重定向41
3.2.3動態響應contentType屬性43
3.2.4response對象的HTTP文件頭44
3.2.5操作Cookie46
3.3session對象48
3.3.1session對象的常用方法49
3.3.2session對象的id49
3.3.3URL重寫50
3.3.4session對象存儲數據51
3.3.5session對象的生命周期53
3.4application對象55
3.4.1application對象的常用方法55
3.4.2application對象存儲數據56
3.5out對象57
本章小結58
習題59
第4章JSP數據庫訪問61
4.1SQL Server數據庫管理系統61
4.1.1創建數據庫61
4.1.2創建數據表62
4.1.3常用DML語句63
4.1.4配置SQL Server 201964
4.2JDBC訪問數據庫67
4.2.1JDBC核心API68
4.2.2JDBC連接數據庫71
4.3JDBC處理數據實例72
4.3.1數據庫連接工具類73
4.3.2新增學生信息73
4.3.3查詢學生信息76
4.3.4修改學生信息78
4.3.5刪除學生信息83
本章小結85
習題86
第5章JavaBean技術88
5.1Java簡介88
5.2JSP中使用JavaBean89
5.3利用表單設置JavaBean屬性91
5.3.1不指定參數92
5.3.2指定參數名92
5.4JavaBean的作用域94
5.5JavaBean應用實例102
本章小結105
習題105
第6章Servlet技術107
6.1Servlet簡介107
6.1.1Servlet的主要功能107
6.1.2Servlet的技術特點108
6.1.3編寫一個Servlet108
6.1.4配置Servlet111
6.2Servlet的工作原理與生命周期112
6.2.1Servlet的工作原理112
6.2.2Servlet的生命周期112
6.3doGet()和doPost()方法115
6.3.1JSP頁面請求Servlet116
6.3.2Servlet生成HTML120
6.3.3session對象122
6.3.4重定向與轉發125
6.4過濾器131
6.4.1創建簡單的過濾器131
6.4.2Filter接口135
6.4.3Filter生命周期137
本章小結137
習題137
第7章MVC模式139
7.1MVC模式簡介139
7.2JSP中的MVC模式140
7.3用RequestDispatcher實現MVC模式141
7.4MVC模式應用實例143
7.4.1MVC模式計算三角形面積143
7.4.2MVC模式完成用戶數據庫註冊功能147
本章小結151
習題151
第8章EL標簽153
8.1EL標簽語法153
8.1.1EL語法153
8.1.2\[\]操作符和.操作符154
8.2EL標簽的功能154
8.3EL標簽的隱含變量159
8.3.1隱含變量pageScope、requestScope、sessionScope、applicationScope…160
8.3.2隱含變量param、paramValues160
8.3.3其他變量161
本章小結163
習題163
第9章JSTL標簽庫164
9.1JSTL標簽簡述164
9.2core標簽庫165
9.2.1<c:out>標簽166
9.2.2<c:set>標簽和<c:remove>標簽166
9.2.3條件標簽167
9.2.4<c:forEach>標簽169
9.2.5<c:forTokens>標簽172
9.2.6<c:import>標簽173
9.2.7<c:param>標簽174
9.2.8<c:url>標簽175
9.2.9<c:redirect>標簽176
9.3fmt標簽庫176
9.3.1國際化標簽176
9.3.2消息標簽177
9.3.3數字和日期格式化標簽180
9.4fn標簽庫187
9.4.1fn:contains()函數和fn:containsIgnoreCase()函數188
9.4.2fn:startsWith()函數和fn:endsWith()函數188
9.4.3fn:escapeXml()函數188
9.4.4fn:indexOf()函數和fn:length()函數188
9.4.5fn:split()函數和fn:join()函數189
9.5SQL標簽庫190
9.5.1<sql:setDataSource>標簽190
9.5.2<sql:query>標簽191
9.5.3<sql:update>標簽191
9.5.4<sql:dateParam>標簽和<sql:param>標簽191
9.5.5SQL標簽實例192
9.5.6<sql:transaction>標簽193
9.6XML標簽庫193
9.6.1<x:out>標簽194
9.6.2<x:parse>標簽194
9.6.3<x:set>標簽194
9.6.4<x:choose>標簽、<x:when>標簽和<x:otherwise>標簽195
9.6.5<x:forEach>標簽195
9.6.6<x:if>標簽195
本章小結195
習題196
第10章JSP中的文件操作198
10.1文件上傳和下載組件198
10.1.1SmartUpload常用類199
10.1.2使用jspSmartUplaod上傳文件200
10.2處理Excel文件202
10.2.1jxl對象202
10.2.2基本操作203
10.2.3Excel批量導入數據206
本章小結208
習題208
第11章JSP應用案例: 圖書借閱系統209
11.1項目概述209
11.2數據庫設計210
11.3Web應用模塊設計211
11.3.1用戶登錄211
11.3.2用戶註冊214
11.3.3主頁面219
11.3.4添加圖書頁面221
11.3.5修改刪除圖書224
11.3.6用戶信息修改231
11.3.7借書231
11.3.8還書235
1.1Java概述1
1.1.1Java主要應用方向1
1.1.2Java語言的特點2
1.2Java的運行機制3
1.2.1什麼是JDK4
1.2.2什麼是JRE4
1.3JDK的使用4
1.3.1安裝JDK5
1.3.2系統環境變量6
1.3.3Java程序的編寫和運行9
1.4Java開發工具Eclipse10
1.4.1Eclipse簡介10
1.4.2Eclipse的安裝與啟動10
1.4.3Java註釋14
1.5本章小結16
習題16
第2章Java編程基礎17
2.1Java的基本語法17
2.1.1基本語句17
2.1.2基本格式18
2.1.3Java中的標識符和關鍵字18
2.2基本數據類型19
2.2.1整數類型20
2.2.2浮點類型21
2.2.3布爾類型22
2.2.4字符類型22
2.3變量和常量23
2.3.1常量23
2.3.2變量24
2.3.3數據類型之間的相互轉換24
2.4運算符和表達式27
2.4.1算術運算符和算術表達式27
2.4.2賦值運算符和表達式28
2.4.3關系運算符和表達式29
2.4.4邏輯運算符和表達式30
2.4.5位運算符和表達式32
2.4.6條件運算符和表達式33
2.4.7運算符的優先級33
2.5程序流程控制34
2.5.1順序結構34
2.5.2選擇結構34
2.5.3循環結構40
2.5.4跳轉語句 44
本章小結46
習題46
第3章數組48
3.1一維數組48
3.1.1數組的聲明48
3.1.2數組的初始化49
3.1.3數組的操作50
3.1.4數組的內存機制52
3.2二維數組54
3.3數組作為方法的參數56
本章小結57
習題57
第4章面向對象(一)58
4.1面向對象概念58
4.2類與對象的概念59
4.2.1類的定義59
4.2.2對象的定義和引用61
4.2.3類的設計63
4.3方法65
4.3.1成員方法65
4.3.2構造方法67
4.3.3方法的重載 68
4.4關鍵字this的使用70
4.5關鍵字static的使用73
4.5.1靜態屬性與實例屬性73
4.5.2靜態方法與實例方法74
4.5.3靜態成員和實例成員的區別75
4.5.4代碼塊76
4.6內部類77
4.6.1成員內部類78
4.6.2靜態內部類79
4.6.3方法內部類80
4.6.4匿名內部類81
4.7包82
4.7.1包的定義和使用82
4.7.2import語句83
4.8類及成員的訪問權限83
4.8.1類的訪問權限83
4.8.2類成員的訪問權限84
本章小結85
習題85
第5章面向對象(二)87
5.1類的繼承87
5.1.1繼承的概念87
5.1.2成員變量的隱藏89
5.1.3方法的重寫90
5.1.4super關鍵字91
5.1.5final關鍵字93
5.2抽象類和接口96
5.2.1抽象類96
5.2.2接口98
5.2.3抽象類和接口的關系101
5.3多態102
5.3.1多態的概念102
5.3.2向上轉型和向下轉型104
5.3.3Object類107
5.3.4工廠設計模式109
本章小結113
習題113
第6章異常115
6.1異常概述115
6.2異常分類116
6.3運行時異常與編譯時異常117
6.4異常處理118
6.4.1try…catch…finally結構118
6.4.2拋出異常120
6.5自定義異常類122
本章小結124
習題124
第7章Java常用系統類125
7.1基本類型包裝器125
7.2字符串類127
7.2.1String類127
7.2.2StringBuffer類132
7.3System類與Runtime類133
7.3.1System類133
7.3.2Runtime類134
7.4Math類與Random類135
7.4.1Math類135
7.4.2Random類136
7.5日期類137
7.5.1Date類137
7.5.2Calendar類138
7.5.3DateFormat類138
7.5.4SimpleDateFormat類140
本章小結141
習題141
第8章集合類142
8.1Collection接口143
8.2List接口144
8.2.1ArrayList集合144
8.2.2LinkedList集合145
8.2.3Iterator接口146
8.2.4ListIterator接口147
8.2.5foreach循環148
8.3Set接口149
8.3.1HashSet集合150
8.3.2TreeSet集合152
8.4Map接口157
8.4.1HashMap集合158
8.4.2LinkedHashMap集合160
8.4.3TreeMap集合160
8.5泛型162
8.6工具類164
8.6.1Collections工具類164
8.6.2Arrays工具類166
8.7集合轉換167
本章小結168
習題168
第9章I/O流169
9.1I/O流概述169
9.2字節流170
9.2.1字節流讀寫文件171
9.2.2文件的復制173
9.2.3字節流的緩沖區174
9.2.4字節緩沖流174
9.3字符流175
9.3.1字符流讀寫文件176
9.3.2字符流的緩沖區177
9.3.3字符緩沖流178
9.3.4轉換流179
9.4File類180
9.5RandomAccessFile類184
本章小結185
習題186
第10章GUI187
10.1Swing概述187
10.2Swing容器188
10.2.1JFrame框架188
10.2.2JDialog189
10.3Swing常用組件190
10.3.1面板組件191
10.3.2文本組件193
10.3.3標簽組件195
10.3.4按鈕組件196
10.3.5下拉框組件199
10.3.6菜單選項200
10.3.7創建Tree203
10.4布局管理器205
10.4.1流式布局管理器205
10.4.2邊界布局管理器206
10.4.3網格布局管理器207
10.4.4網格包布局管理器207
10.4.5卡片布局管理器209
10.4.6取消布局管理器211
10.5事件處理211
10.5.1事件處理機制212
10.5.2Swing常用事件處理213
本章小結217
習題218
第11章線程219
11.1進程與線程219
11.1.1進程概述220
11.1.2線程概述220
11.2線程機制220
11.2.1Thread類創建線程221
11.2.2Runnable接口創建線程222
11.2.3Callable接口和Future接口創建線程223
11.3線程的生命周期及狀態轉換224
11.4線程的調度226
11.4.1線程的優先級226
11.4.2線程休眠227
11.4.3線程讓步228
11.4.4線程插隊229
11.4.5後臺線程230
11.5多線程同步230
11.5.1線程安全231
11.5.2同步代碼塊232
11.5.3同步方法233
11.5.4死鎖問題234
11.6多線程通信235
11.7線程組和未處理的異常237
11.8線程池240
本章小結241
習題241
第12章JDBC訪問數據庫242
12.1JDBC簡介242
12.2JDBC核心API243
12.3JDBC連接數據庫246
12.4實現一個JDBC程序247
本章小結249
習題249
第13章網絡編程基礎250
13.1網絡通信協議250
13.1.1IP地址和端口號251
13.1.2InetAddress252
13.1.3UDP與TCP253
13.2UDP通信254
13.2.1UDP通信簡介254
13.2.2DatagramPacket254
13.2.3DatagramSocket255
13.2.4UDP網絡程序256
13.2.5UDP案例——聊天程序257
13.3TCP通信258
13.3.1ServerSocket259
13.3.2Socket259
13.3.3簡單的TCP網絡程序260
13.3.4多線程的TCP網絡程序261
13.3.5文件上傳263
本章小結265
習題266
上機實驗1Java簡介1
1.1JDK開發工具1
實驗11安裝JDK1
實驗12系統環境變量配置2
1.2Java集成開發環境Eclipse6
實驗13Eclipse的安裝和啟動6
實驗14Eclipse調試工具10
自測題18
上機實驗2編程基礎19
2.1數據的輸入和輸出19
實驗21輸入輸出例題19
2.2Java基本數據類型20
實驗22基本數據類型的使用20
實驗23大小寫轉換21
實驗24希臘字母表22
2.3Java中的運算符23
實驗25計算面積和周長23
實驗26判斷閏年24
實驗27輸出各位數字25
2.4程序的結構26
實驗28直角三角形的判斷26
實驗29成績等級27
實驗210最大公約數和最小公倍數28
實驗211整數各位求和29
實驗212求數的所有因子30
實驗213斐波那契數列31
自測題32
上機實驗3數組33
3.1一維數組33
實驗31字母正序輸出33
實驗32模擬雙色球生成案例34
實驗33數組亂序後輸出36
實驗34數組中查找數據37
實驗35在有序數組中插入數據38
實驗36選擇排序39
3.2二維數組41
實驗37楊輝三角形41
實驗38求矩陣的鞍點43
自測題45
上機實驗4類和對象46
4.1類的設計46
實驗41Person類的設計46
實驗42圓形類的設計47
4.2對象的創建和使用48
實驗43Person類對象的創建和使用49
實驗44圓形類對象的創建和使用50
4.3構造方法51
實驗45Person類構造方法51
實驗46圓形類構造方法52
4.4this關鍵字54
實驗47this的使用54
4.5方法的重載55
實驗48構造方法和成員方法的重載55
4.6靜態成員58
實驗49圖書銷量之靜態屬性58
實驗410角度轉換之靜態方法59
4.7成員訪問控制60
實驗411學生類成員訪問權限60
自測題61
上機實驗5繼承和多態63
5.1類的繼承63
實驗51學生類63
實驗52員工類65
5.2方法的重寫67
實驗53等邊三角形類68
實驗54動物類69
5.3抽象類和接口71
實驗55打印機類71
實驗56操作系統類72
實驗57報警接口73
實驗58玩遊戲接口74
5.4多態75
實驗59打印機的參數76
實驗510銀行利率77
自測題79
上機實驗6異常80
6.1異常處理80
實驗61數組越界異常80
實驗62多異常處理81
6.2自定義異常82
實驗63賬戶余額不足82
實驗64計算機異常84
自測題86
上機實驗7Java常用系統類87
7.1字符串類87
實驗71提取大寫字母87
實驗72分解單詞88
實驗73回文字符串89
實驗74StringBuffer判斷回文字符串90
實驗75金額三位分法91
7.2日期和時間類92
實驗76計算年齡92
實驗77生成日歷93
7.3Math類和Random類95
實驗78答題遊戲95
實驗79隨機生成驗證碼96
7.4System類和Runtime類98
實驗710系統全部屬性98
實驗711虛擬機信息98
自測題100
上機實驗8集合101
8.1List接口101
實驗81水果名稱存儲101
實驗82約瑟夫環遊戲102
8.2Set接口104
實驗83蔬菜價格存儲104
實驗84模擬用戶註冊107
實驗85統計球衣銷量排名109
實驗86候選人姓名排序111
8.3Map接口113
實驗87單詞數量統計113
實驗88倒序顯示單詞出現次數114
8.4常用工具類116
實驗89鬥地主發牌116
實驗810十進制數轉換成二進制數118
自測題119
上機實驗9I/O流120
9.1File類120
實驗91目錄和文件的創建120
實驗92文件屬性121
實驗93遍歷指定擴展名的文件123
實驗94創建日記文件124
9.2字節流126
實驗95讀取日記1126
實驗96寫日記1128
實驗97日記復制1129
9.3字符流130
實驗98讀取日記2130
實驗99寫日記2131
實驗910日記復制2132
自測題133
上機實驗10GUI(圖形用戶界面)134
10.1Swing常用組件及布局管理器134
實驗101簡易計算器界面134
實驗102簡易記事本界面136
實驗103QQ登錄界面137
10.2事件處理機制142
實驗104簡易計算器142
實驗105QQ登錄145
自測題148
上機實驗11線程149
11.1線程機制149
實驗111龜兔賽跑149
11.2多線程同步153
實驗112SVIP優先辦理業務153
實驗113雙線程猜數字155
自測題158
上機實驗12網絡編程159
12.1UDP通信159
實驗121模擬用戶聊天159
12.2TCP通信162
實驗122與服務器通信162
自測題164
上機實驗13綜合案例——基於Java Swing的圖書借閱系統165
13.1項目概述165
13.1.1功能結構165
13.1.2項目預覽165
13.2數據庫設計167
13.2.1ER圖設計167
13.2.2數據表結構168
13.3功能模塊設計169
13.3.1實體類169
13.3.2公共類之連接數據庫172
13.3.3操作數據庫接口設計173
13.3.4註冊界面173
13.3.5登錄界面178
13.3.6管理員界面181
13.3.7用戶數據面板183
13.3.8圖書數據面板190
13.3.9用戶界面194
13.3.10個人信息界面194
13.3.11借書界面195
13.3.12還書界面197







