JSP Web程序設計開發教程

趙靖華、呂凱、趙鎧楠、李筱魁、袁鶴

  • 出版商: 清華大學
  • 出版日期: 2026-06-01
  • 售價: $288
  • 語言: 簡體中文
  • ISBN: 7302716803
  • ISBN-13: 9787302716808
  • 相關分類: Java 程式語言
  • 下單後立即進貨 (約4週~6週)

  • JSP Web程序設計開發教程-preview-1
  • JSP Web程序設計開發教程-preview-2
  • JSP Web程序設計開發教程-preview-3
  • JSP Web程序設計開發教程-preview-4
  • JSP Web程序設計開發教程-preview-5
  • JSP Web程序設計開發教程-preview-6
  • JSP Web程序設計開發教程-preview-7
JSP Web程序設計開發教程-preview-1

商品描述

"本書通過通俗易懂的語言和實用生動的例子,系統介紹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

實驗11安裝JDK1

實驗12系統環境變量配置2

1.2Java集成開發環境Eclipse6

實驗13Eclipse的安裝和啟動6

實驗14Eclipse調試工具10

自測題18

上機實驗2編程基礎19

2.1數據的輸入和輸出19

實驗21輸入輸出例題19

2.2Java基本數據類型20

實驗22基本數據類型的使用20

實驗23大小寫轉換21

實驗24希臘字母表22

2.3Java中的運算符23

實驗25計算面積和周長23

實驗26判斷閏年24

實驗27輸出各位數字25

2.4程序的結構26

實驗28直角三角形的判斷26

實驗29成績等級27

實驗210最大公約數和最小公倍數28

實驗211整數各位求和29

實驗212求數的所有因子30

實驗213斐波那契數列31

自測題32

上機實驗3數組33

3.1一維數組33

實驗31字母正序輸出33

實驗32模擬雙色球生成案例34

實驗33數組亂序後輸出36

實驗34數組中查找數據37

實驗35在有序數組中插入數據38

實驗36選擇排序39

3.2二維數組41

實驗37楊輝三角形41

實驗38求矩陣的鞍點43

自測題45

上機實驗4類和對象46

4.1類的設計46

實驗41Person類的設計46

實驗42圓形類的設計47

4.2對象的創建和使用48

實驗43Person類對象的創建和使用49

實驗44圓形類對象的創建和使用50

4.3構造方法51

實驗45Person類構造方法51

實驗46圓形類構造方法52

4.4this關鍵字54

實驗47this的使用54

4.5方法的重載55

實驗48構造方法和成員方法的重載55

4.6靜態成員58

實驗49圖書銷量之靜態屬性58

實驗410角度轉換之靜態方法59

4.7成員訪問控制60

實驗411學生類成員訪問權限60

自測題61

上機實驗5繼承和多態63

5.1類的繼承63

實驗51學生類63

實驗52員工類65

5.2方法的重寫67

實驗53等邊三角形類68

實驗54動物類69

5.3抽象類和接口71

實驗55打印機類71

實驗56操作系統類72

實驗57報警接口73

實驗58玩遊戲接口74

5.4多態75

實驗59打印機的參數76

實驗510銀行利率77

自測題79

上機實驗6異常80

6.1異常處理80

實驗61數組越界異常80

實驗62多異常處理81

6.2自定義異常82

實驗63賬戶余額不足82

實驗64計算機異常84

自測題86

上機實驗7Java常用系統類87

7.1字符串類87

實驗71提取大寫字母87

實驗72分解單詞88

實驗73回文字符串89

實驗74StringBuffer判斷回文字符串90

實驗75金額三位分法91

7.2日期和時間類92

實驗76計算年齡92

實驗77生成日歷93

7.3Math類和Random類95

實驗78答題遊戲95

實驗79隨機生成驗證碼96

7.4System類和Runtime類98

實驗710系統全部屬性98

實驗711虛擬機信息98

自測題100

上機實驗8集合101

8.1List接口101

實驗81水果名稱存儲101

實驗82約瑟夫環遊戲102

8.2Set接口104

實驗83蔬菜價格存儲104

實驗84模擬用戶註冊107

實驗85統計球衣銷量排名109

實驗86候選人姓名排序111

8.3Map接口113

實驗87單詞數量統計113

實驗88倒序顯示單詞出現次數114

8.4常用工具類116

實驗89鬥地主發牌116

實驗810十進制數轉換成二進制數118

自測題119

上機實驗9I/O流120

9.1File類120

實驗91目錄和文件的創建120

實驗92文件屬性121

實驗93遍歷指定擴展名的文件123

實驗94創建日記文件124

9.2字節流126

實驗95讀取日記1126

實驗96寫日記1128

實驗97日記復制1129

9.3字符流130

實驗98讀取日記2130

實驗99寫日記2131

實驗910日記復制2132

自測題133

上機實驗10GUI(圖形用戶界面)134

10.1Swing常用組件及布局管理器134

實驗101簡易計算器界面134

實驗102簡易記事本界面136

實驗103QQ登錄界面137

10.2事件處理機制142

實驗104簡易計算器142

實驗105QQ登錄145

自測題148

上機實驗11線程149

11.1線程機制149

實驗111龜兔賽跑149

11.2多線程同步153

實驗112SVIP優先辦理業務153

實驗113雙線程猜數字155

自測題158

上機實驗12網絡編程159

12.1UDP通信159

實驗121模擬用戶聊天159

12.2TCP通信162

實驗122與服務器通信162

自測題164

上機實驗13綜合案例——基於Java Swing的圖書借閱系統165

13.1項目概述165

13.1.1功能結構165

13.1.2項目預覽165

13.2數據庫設計167

13.2.1ER圖設計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