本書系統地介紹了?JSP?開發所涉及的各類知識。全書共13章,內容包括JSP概述、JSP開發基礎、JSP語法、JSP內置對象、JavaBean技術、Servlet技術、JSP實用組件、JSP數據庫應用開發、JSP與AJAX及JSP高級技術,并通過JSP綜合案例——清爽夏日九宮格日記網,介紹了JSP應用的開發流程和相關技術的綜合應用。本書最后提供了兩個課程設計,即在線投票系統和無刷新的聊天室,供學生綜合實踐使用。
本書為慕課版教材(讀者)可登錄人郵學院學習配套慕課;同時各章主要內容配備了以二維碼為載體的微課。此外,本書還提供了課程資源包,資源包中有本書所有實例、上機指導、綜合案例和課程設計的源代碼,以及制作精良的電子課件PPT、自測試卷等。其中,源代碼全部經過精心測試,能夠在Windows 7、Windows 8、Windows 10操作系統下編譯和運行。
本書既可作為高等院校計算機相關專業的教材,也可供JSP學習者參考使用。
本書特色:
(1)案例式教學,“綜合案例與課程設計”共同輔助知識點講解,理論與實踐緊密結合。
(2)錄制55學時優質慕課,支持高校開展線上線下混合式教學。
(3)附贈164個教學視頻,方便讀者隨時隨地掃碼觀看,讓學習更加高效、便捷。
(4)配套豐富且免費的教學資源,包括PPT、源代碼、自測試卷、綜合案例和課程設計等。
明日科技:
已經在人民郵電出版社出版多本“程序設計類”圖書,包括“技術方案寶典”、“開發技術大全”、“自學手冊”、“參考大全”等多個系列,大都取得了比較好的市場反響,內容由淺入深,讀者好評如潮。
【章名目錄】
第 1章 JSP概述 1
第 2章 JSP開發基礎 22
第3章 JSP語法 54
第4章 JSP內置對象 78
第5章 JavaBean技術 94
第6章 Servlet技術 116
第7章 JSP實用組件 155
第8章 JSP數據庫應用開發 178
第9章 JSP與AJAX 198
第 10章 JSP高級技術 223
第 11章 JSP綜合案例——清爽夏日九宮格日記網 245
第 12章 課程設計一 ——在線投票系統 298
第 13章 課程設計二——無刷新的聊天室 314
【詳細目錄】
第 1章 JSP概述 1
1.1 JSP技術概述 2
1.2 JSP技術特征 3
1.3 JSP的處理過程 4
1.4 JSP與其他服務器端技術的比較 5
1.5 JSP開發環境搭建 6
1.5.1 JSP的運行環境 6
1.5.2 JDK的安裝與配置 7
1.5.3 Tomcat的安裝與啟動 9
1.6 JSP開發工具 11
1.6.1 Eclipse的安裝與啟動 11
1.6.2 Eclipse的使用 12
1.7 JSP程序開發模式 17
1.8 第 一個JSP應用 19
1.9 本章小結 21
習題 21
上機指導 21
第 2章 JSP開發基礎 22
2.1 Java語言基礎 23
2.1.1 基本數據類型及基本數據類型間的轉換 23
2.1.2 變量與常量 24
2.1.3 運算符的應用 25
2.1.4 流程控制語句 28
2.1.5 字符串處理 33
2.1.6 數組的創建與應用 35
2.1.7 面向對象程序設計 36
2.1.8 集合類的應用 41
2.1.9 異常處理語句 42
2.2 JavaScript腳本語言 43
2.2.1 JavaScript腳本語言概述 44
2.2.2 在JSP中引入JavaScript 44
2.2.3 JavaScript的數據類型與運算符 44
2.2.4 JavaScript的流程控制語句 46
2.2.5 函數的定義和調用 48
2.2.6 事件 49
2.2.7 JavaScript常用對象的應用 50
2.3 本章小結 52
習題 53
上機指導 53
第3章 JSP語法 54
3.1 了解JSP的基本構成 55
3.2 JSP的指令標識 55
3.2.1 使用page指令 56
3.2.2 使用include指令 58
3.2.3 使用taglib指令 59
3.3 JSP的腳本標識 59
3.3.1 JSP表達式 59
3.3.2 聲明標識 60
3.3.3 腳本程序 61
3.4 JSP的注釋 62
3.4.1 HTML中的注釋 62
3.4.2 帶有JSP表達式的注釋 62
3.4.3 隱藏注釋 63
3.4.4 腳本程序(Scriptlet)中的注釋 63
3.5 動作標識 65
3.5.1 65
3.5.2 67
3.5.3 68
3.5.4 70
3.5.5 73
3.5.6 75
3.5.7 75
3.6 本章小結 76
習題 76
上機指導 77
第4章 JSP內置對象 78
4.1 JSP內置對象概述 79
4.2 request對象 80
4.2.1 訪問請求參數 80
4.2.2 在作用域中管理屬性 81
4.2.3 獲取Cookie 81
4.2.4 獲取客戶信息 82
4.2.5 訪問安全信息 83
4.2.6 訪問國際化信息 83
4.3 response對象 84
4.3.1 重定向網頁 84
4.3.2 設置HTTP響應報頭 85
4.3.3 緩沖區配置 86
4.4 session對象 87
4.4.1 創建及獲取客戶的會話 87
4.4.2 從會話中移除指定的對象 87
4.4.3 銷毀session 88
4.4.4 會話超時的管理 88
4.5 application對象 89
4.5.1 訪問應用程序初始化參數 89
4.5.2 管理應用程序環境屬性 90
4.6 out對象 90
4.6.1 管理響應緩沖 90
4.6.2 向客戶端輸出數據 91
4.7 其他內置對象 91
4.7.1 獲取會話范圍的pageContext對象 91
4.7.2 讀取web.xml配置信息的config對象 92
4.7.3 應答或請求的page對象 92
4.7.4 獲取異常信息的exception對象 92
4.8 本章小結 93
習題 93
上機指導 93
第5章 JavaBean技術 94
5.1 JavaBean概述 95
5.1.1 JavaBean技術介紹 95
5.1.2 JavaBean的種類 95
5.1.3 JavaBean規范 96
5.2 JavaBean中的屬性 97
5.2.1 簡單屬性 97
5.2.2 索引屬性 98
5.3 JavaBean的應用方法 98
5.3.1 創建JavaBean 99
5.3.2 在JSP中應用JavaBean 100
5.4 JavaBean的應用實例 104
5.4.1 應用JavaBean解決中文亂碼問題 104
5.4.2 應用JavaBean實現購物車 107
5.5 本章小結 114
習題 115
上機指導 115
第6章 Servlet技術 116
6.1 Servlet基礎 117
6.1.1 Servlet技術簡介 117
6.1.2 Servlet技術功能 117
6.1.3 Servlet技術特點 117
6.1.4 Servlet的生命周期 118
6.1.5 Servlet與JSP的區別 119
6.1.6 Servlet的代碼結構 119
6.2 Servlet API編程的常用接口和類 120
6.2.1 javax.servlet.Servlet接口 120
6.2.2 HttpServlet類 120
6.2.3 ServletConfig接口 121
6.2.4 HttpServletRequest接口 121
6.2.5 HttpServletResponse接口 122
6.2.6 GenericServlet類 123
6.3 Servlet開發 123
6.3.1 Servlet的創建 123
6.3.2 Servlet的配置 125
6.4 Servlet過濾器 128
6.4.1 什么是過濾器 128
6.4.2 過濾器核心對象 129
6.4.3 過濾器的創建與配置 130
6.4.4 字符編碼過濾器 133
6.5 Servlet監聽器 137
6.5.1 Servlet監聽器簡介 137
6.5.2 Servlet監聽器的工作原理 137
6.5.3 監聽Servlet上下文 137
6.5.4 監聽HTTP會話 138
6.5.5 監聽Servlet請求 139
6.5.6 使用監聽器查看在線用戶 139
6.6 Servlet的應用實例 141
6.6.1 應用Servlet實現留言板 141
6.6.2 應用Servlet實現購物車 145
6.7 本章小結 153
習題 154
上機指導 154
第7章 JSP實用組件 155
7.1 JSP文件操作 156
7.1.1 添加表單及表單元素 156
7.1.2 創建文件上傳對象 156
7.1.3 解析上傳請求 156
7.2 發送E-mail 159
7.2.1 Java Mail組件簡介 159
7.2.2 Java Mail核心類簡介 159
7.2.3 搭建Java Mail的開發環境 163
7.2.4 在JSP中應用Java Mail組件發送E-mail 164
7.3 JSP動態圖表 166
7.3.1 JFreeChart的下載與使用 166
7.3.2 JFreeChart的核心類 167
7.3.3 利用JFreeChart生成動態圖表 167
7.4 JSP報表 169
7.4.1 iText組件簡介 169
7.4.2 iText組件的下載與配置 169
7.4.3 應用iText組件生成JSP報表 170
7.5 本章小結 177
習題 177
上機指導 177
第8章 JSP數據庫應用開發 178
8.1 數據庫管理系統 179
8.1.1 SQL Server 2008數據庫 179
8.1.2 MySQL數據庫 181
8.1.3 Oracle數據庫 181
8.1.4 Access數據庫 181
8.2 JDBC概述 181
8.2.1 JDBC技術介紹 181
8.2.2 JDBC驅動程序 182
8.3 JDBC中的常用接口 183
8.3.1 驅動程序接口Driver 183
8.3.2 驅動程序管理器DriverManager 183
8.3.3 數據庫連接接口Connection 183
8.3.4 執行SQL語句接口Statement 184
8.3.5 執行動態SQL語句接口PreparedStatement 185
8.3.6 執行存儲過程接口CallableStatement 185
8.3.7 訪問結果集接口ResultSet 186
8.4 JDBC訪問數據庫的過程 187
8.5 典型JSP數據庫的連接 188
8.5.1 SQL Server 2008數據庫的連接 188
8.5.2 Access數據庫的連接 189
8.5.3 MySQL數據庫的連接 190
8.6 數據庫操作技術 190
8.6.1 查詢操作 191
8.6.2 添加操作 192
8.6.3 修改操作 192
8.6.4 刪除操作 193
8.7 連接池技術 194
8.7.1 連接池簡介 194
8.7.2 在Tomcat中配置連接池 195
8.7.3 使用連接池技術訪問數據庫 195
8.8 本章小結 197
習題 197
上機指導 197
第9章 JSP與AJAX 198
9.1 了解AJAX 199
9.1.1 什么是AJAX 199
9.1.2 AJAX開發模式與傳統開發模式的比較 199
9.2 使用XMLHttpRequest對象 200
9.2.1 初始化XMLHttpRequest對象 200
9.2.2 XMLHttpRequest對象的常用方法 201
9.2.3 XMLHttpRequest對象的常用屬性 202
9.3 傳統AJAX的工作流程 203
9.3.1 發送請求 203
9.3.2 處理服務器響應 205
9.3.3 一個完整的實例——檢測用戶名是否唯一 206
9.4 應用jQuery實現AJAX 208
9.4.1 jQuery簡介 208
9.4.2 我的第 一個jQuery腳本 209
9.4.3 應用load( )方法發送請求 210
9.4.4 發送GET請求和POST請求 211
9.4.5 服務器返回的數據格式 215
9.4.6 使用$.ajax( )方法 219
9.5 AJAX開發需要注意的幾個問題 220
9.5.1 安全問題 220
9.5.2 性能問題 221
9.5.3 瀏覽器兼容性問題 221
9.5.4 中文編碼問題 221
9.6 本章小結 222
習題 222
上機指導 222
第 10章 JSP高級技術 223
10.1 EL表達式 224
10.1.1 表達式語言 224
10.1.2 EL表達式的簡單使用 224
10.1.3 EL表達式的語法 224
10.1.4 EL表達式的運算符 225
10.1.5 EL表達式中的隱含對象 226
10.1.6 EL表達式中的保留字 226
10.2 JSTL標準標簽庫 227
10.2.1 表達式標簽 230
10.2.2 條件標簽 232
10.2.3 循環標簽 235
10.2.4 URL操作標簽 236
10.3 自定義標簽庫的開發 238
10.3.1 自定義標簽的定義格式 238
10.3.2 自定義標簽的構成 238
10.3.3 在JSP文件中引用自定義標簽 240
10.4 JSP框架技術 242
10.4.1 Spring框架 242
10.4.2 MyBatis框架 243
10.5 本章小結 244
習題 244
上機指導 244
第 11章 JSP綜合案例——清爽夏日九宮格日記網 245
11.1 項目設計思路 246
11.1.1 功能闡述 246
11.1.2 系統預覽 246
11.1.3 功能結構 247
11.1.4 文件夾組織結構 248
11.2 數據庫設計 248
11.2.1 數據庫設計 248
11.2.2 數據表設計 249
11.3 公共模塊設計 249
11.3.1 編寫數據庫連接及操作的類 249
11.3.2 編寫保存分頁代碼的JavaBean 252
11.3.3 配置解決中文亂碼的過濾器 254
11.3.4 編寫實體類 255
11.4 主頁面設計 256
11.4.1 主頁面概述 256
11.4.2 讓采用“DIV+CSS”布局的頁面內容居中 256
11.4.3 主頁面的實現過程 257
11.5 用戶模塊設計 258
11.5.1 用戶模塊概述 258
11.5.2 實現AJAX重構 258
11.5.3 用戶注冊的實現過程 260
11.5.4 用戶登錄的實現過程 269
11.5.5 退出登錄的實現過程 273
11.5.6 找回密碼的實現過程 273
11.6 顯示九宮格日記列表模塊設計 275
11.6.1 顯示九宮格日記列表概述 275
11.6.2 展開和收縮圖片 276
11.6.3 查看日記原圖 278
11.6.4 對日記圖片進行左轉和右轉 278
11.6.5 顯示全部九宮格日記的實現過程 281
11.6.6 “我的日記”的實現過程 284
11.6.7 刪除“我的日記”的實現過程 285
11.7 寫九宮格日記模塊設計 286
11.7.1 寫九宮格日記概述 286
11.7.2 填寫日記信息的實現過程 286
11.7.3 預覽生成的日記圖片的實現過程 291
11.7.4 保存日記圖片的實現過程 295
11.8 項目發布 296
11.9 本章小結 297
第 12章 課程設計一 ——在線投票系統 298
12.1 課程設計的目的 299
12.2 設計思路 299
12.2.1 顯示投票選項的設計思路 299
12.2.2 參與投票的設計思路 299
12.2.3 顯示投票結果的設計思路 300
12.3 設計過程 300
12.3.1 數據表的設計 300
12.3.2 值JavaBean的設計 301
12.3.3 數據庫操作類的編寫 302
12.3.4 工具類的編寫 307
12.3.5 顯示投票選項的設計 307
12.3.6 參與投票的設計 309
12.3.7 查看結果的設計 311
12.4 本章小結 313
第 13章 課程設計二——無刷新的聊天室 314
13.1 課程設計的目的 315
13.2 設計思路 315
13.3 設計過程 315
13.3.1 用戶JavaBean的編寫 315
13.3.2 登錄頁面的設計 316
13.3.3 聊天室主頁面設計 317
13.3.4 在線人員列表的設計 317
13.3.5 用戶發言的設計 319
13.3.6 顯示聊天內容的設計 320
13.3.7 退出聊天室的設計 322
13.4 本章小結 323
參考文獻 324