本書系統(tǒng)全面地介紹有關Java Web程序設計的各類知識。全書共13章,內(nèi)容包括Web應用開發(fā)簡介、網(wǎng)頁前端開發(fā)基礎、JavaScript腳本語言、Java EE開發(fā)環(huán)境、走進JSP、Servlet技術、數(shù)據(jù)庫技術、程序日志組件、Spring MVC框架、MyBatis技術、Spring框架、SSM框架整合應用、綜合案例——程序源論壇。本書配有豐富的實例,以便讀者理解知識、應用知識,達到學以致用的目的。 近年來,AIGC技術高速發(fā)展,成為各行各業(yè)高質(zhì)量發(fā)展和生產(chǎn)效率提升的重要推動力。本書將AIGC技術融入理論學習、實例編寫、復雜系統(tǒng)開發(fā)等環(huán)節(jié),幫助讀者提升編程效率。 本書可作為高等院校計算機專業(yè)、軟件工程專業(yè),及其他相關專業(yè)“Java Web程序設計”課程的教材,同時也可作為Java Web愛好者、Java Web程序開發(fā)人員的參考書。
基礎理論結合豐富實踐。包含豐富實例演示、貫穿全書的總合案例和十余個上機實驗,全面提高軟件開發(fā)實踐應用能力。
融入AIGC技術。從理論學習、實例編寫、復雜系統(tǒng)開發(fā)等環(huán)節(jié)切入,啟發(fā)讀者深入、綜合、批判性使用AIGC工具輔助輔助軟件開發(fā)。
支持線上線下混合式學習。依托人郵學院為讀者提供完整慕課,并在教材重要知識點放置了微課二維碼鏈接。
明日科技,程序設計類暢銷圖書作者,絕大多數(shù)品種在“全國計算機圖書排行榜”同品種排行中名列前茅,累計銷售百萬冊。作者編寫的《Java Web從入門到精通》長期占據(jù)各網(wǎng)店排行榜的榜首位置。
第 1章 Web應用開發(fā)簡介1
1.1 網(wǎng)絡程序開發(fā)體系結構 1
1.1.1 C/S體系結構介紹 1
1.1.2 B/S體系結構介紹 2
1.1.3 兩種體系結構的比較 2
1.2 Web簡介 3
1.2.1 什么是Web 3
1.2.2 Web應用程序的工作原理 3
1.2.3 Web的發(fā)展歷程 4
1.3 Web開發(fā)技術 5
1.3.1 客戶端應用的技術 5
1.3.2 服務器端應用的技術 8
小 結 9
習 題 9
第 2章 網(wǎng)頁前端開發(fā)基礎 10
2.1 HTML標記語言 10
2.1.1 創(chuàng)建第 一個HTML文件 10
2.1.2 HTML文檔結構 12
2.1.3 HTML常用標記 13
實例:在頁面中輸出一首古詩
2.1.4 表格標記 18
實例:制作學生成績表
2.1.5 HTML表單標記 19
實例:博客網(wǎng)站的注冊頁面
2.1.6 超鏈接與圖片標記 24
實例:天下淘商品圖片展示
2.2 CSS樣式表 26
2.2.1 CSS規(guī)則 26
2.2.2 CSS選擇器 26
實例:更改頁面字體的樣式
2.2.3 在頁面中包含CSS 29
小 結 31
上機指導 31
習 題 32
第3章 JavaScript腳本語言 33
3.1 了解JavaScript 33
3.1.1 什么是JavaScript 33
3.1.2 JavaScript的主要特點 33
3.1.3 JavaScript與Java的區(qū)別 34
3.2 在Web頁面中使用JavaScript 34
3.2.1 在頁面中直接嵌入JavaScript 34
實例:實現(xiàn)彈出歡迎訪問網(wǎng)站的對話框
3.2.2 鏈接外部JavaScript 35
3.3 JavaScript語言基礎 35
3.3.1 JavaScript的語法 35
3.3.2 JavaScript中的關鍵字 37
3.3.3 了解JavaScript的數(shù)據(jù)類型 37
3.3.4 變量的定義及使用 40
3.3.5 運算符的應用 41
實例:應用算術運算符計算商品金額
3.4 函數(shù) 43
3.4.1 函數(shù)的定義 44
3.4.2 函數(shù)的調(diào)用 44
實例:驗證輸入的字符串是否為漢字
3.4.3 匿名函數(shù) 45
3.5 事件和事件處理程序 46
3.5.1 什么是事件和事件處理程序 46
3.5.2 JavaScript的常用事件 46
3.5.3 事件處理程序的調(diào)用 47
3.6 常用對象 48
3.6.1 String對象 48
實例:去掉字符串中的首尾空格
3.6.2 Math對象 51
3.6.3 Date對象 52
實例:實時顯示系統(tǒng)時間
3.6.4 Window對象 55
實例:顯示公告信息窗口并自動關閉
3.7 Ajax技術 58
3.7.1 什么是Ajax 58
3.7.2 Ajax的開發(fā)模式 59
3.7.3 Ajax的優(yōu)點 59
3.8 傳統(tǒng)Ajax工作流程 60
3.8.1 發(fā)送請求 60
3.8.2 處理服務器響應 61
3.9 jQuery技術 63
3.9.1 jQuery簡介 63
3.9.2 下載和配置jQuery 63
3.9.3 jQuery的工廠函數(shù) 63
3.9.4 一個簡單的jQuery腳本 63
實例:應用jQuery彈出一個提示對話框
小 結 64
上機指導 65
習 題 67
第4章 Java EE開發(fā)環(huán)境 68
4.1 JDK的下載、安裝與使用 68
4.1.1 下載 68
4.1.2 安裝 69
4.1.3 配置與測試 70
4.2 Eclipse開發(fā)工具的安裝與使用 73
4.2.1 Eclipse的下載與安裝 73
4.2.2 安裝Eclipse中文語言包 74
4.2.3 啟動Eclipse 76
4.2.4 Eclipse工作臺 78
4.2.5 配置Web服務器 79
4.2.6 指定Web瀏覽器 82
4.2.7 設置JSP頁面編碼格式 83
4.3 常用Java EE 服務器的安裝、配置和使用 84
4.3.1 Tomcat 84
4.3.2 其他服務器 87
小 結 89
上機指導 89
習 題 90
第5章 走進JSP 91
5.1 JSP概述 91
5.1.1 什么是JSP 91
5.1.2 如何學好JSP 92
5.1.3 JSP技術特征 92
5.2 了解JSP的基本構成 94
5.3 指令標簽 94
5.3.1 page指令 95
5.3.2 include指令 96
實例:顯示當前日期
5.3.3 taglib指令 97
5.4 嵌入Java代碼 98
5.4.1 代碼片段 98
實例:輸出九九乘法表
5.4.2 聲明 99
5.4.3 JSP表達式 99
5.5 注釋 100
5.5.1 HTML注釋 100
5.5.2 JSP注釋 100
5.5.3 動態(tài)注釋 100
5.5.4 代碼注釋 101
5.6 request對象 101
5.6.1 獲取請求參數(shù)值 101
5.6.2 獲取Form表單的信息 102
實例:獲取用戶填寫的資料表單
5.6.3 獲取請求客戶端信息 104
實例:獲取用戶IP等信息
5.6.4 在作用域中管理屬性 105
5.6.5 cookie管理 106
實例:實現(xiàn)自動登錄
5.7 response對象 107
5.7.1 重定向網(wǎng)頁 107
5.7.2 處理HTTP文件頭 108
5.7.3 設置輸出緩沖 108
5.8 session對象 108
5.8.1 創(chuàng)建及獲取session信息 109
5.8.2 從會話中移除指定的綁定對象 110
5.8.3 銷毀session 110
5.8.4 會話超時的管理 110
5.8.5 session對象的應用 110
實例:實現(xiàn)多頁面操作同一用戶
5.9 application對象 113
5.9.1 訪問應用程序初始化參數(shù) 113
實例:在web.xml中配置數(shù)據(jù)庫參數(shù)
5.9.2 管理應用程序環(huán)境屬性 114
5.10 開發(fā)第 一個JSP程序 114
實例:創(chuàng)建天下淘商城項目
5.10.1 編寫JSP程序 114
5.10.2 運行JSP程序 117
小 結 118
上機指導 118
習 題 119
第6章 Servlet技術 120
6.1 Servlet基礎 120
6.1.1 Servlet與Servlet容器 120
6.1.2 Servlet技術特點 121
6.1.3 Servlet技術功能 122
6.1.4 Servlet與JSP的區(qū)別 122
6.1.5 Servlet代碼結構 122
6.1.6 簡單的Servlet程序 123
6.2 Servlet開發(fā) 124
6.2.1 Servlet的創(chuàng)建 124
6.2.2 Servlet配置 127
實例:通過Servlet顯示頁面
6.3 Servlet API編程常用的接口和類 128
6.3.1 Servlet接口 128
6.3.2 ServletConfig接口 129
6.3.3 HttpServletRequest接口 129
實例:輸出前臺請求信息
6.3.4 HttpServletResponse接口 130
6.3.5 GenericServlet類 131
6.3.6 HttpServlet類 131
6.4 Servlet過濾器 132
6.4.1 過濾器概述 132
6.4.2 Filter API 133
6.4.3 過濾器的配置 134
6.4.4 過濾器典型應用 135
實例:字符編碼過濾器
小 結 137
上機指導 137
習 題 139
第7章 數(shù)據(jù)庫技術 140
7.1 MySQL數(shù)據(jù)庫 140
7.1.1 下載MySQL 140
7.1.2 安裝MySQL 142
7.1.3 環(huán)境變量的配置 147
7.2 JDBC概述 148
7.2.1 JDBC技術介紹 149
7.2.2 JDBC驅(qū)動程序 149
7.3 JDBC中的常用接口 150
7.3.1 驅(qū)動程序接口Driver 150
7.3.2 驅(qū)動程序管理器DriverManager 150
7.3.3 數(shù)據(jù)庫連接接口Connection 151
7.3.4 執(zhí)行SQL語句接口Statement 151
7.3.5 執(zhí)行動態(tài)SQL語句接口PreparedStatement 152
7.3.6 執(zhí)行存儲過程接口CallableStatement 152
7.3.7 訪問結果集接口ResultSet 153
7.4 連接數(shù)據(jù)庫 154
7.4.1 加載JDBC驅(qū)動程序 154
7.4.2 創(chuàng)建數(shù)據(jù)庫連接 154
實例:連接天下淘的數(shù)據(jù)庫
7.4.3 執(zhí)行SQL語句 154
7.4.4 獲得查詢結果 155
7.4.5 關閉連接 155
7.6 數(shù)據(jù)庫操作技術 155
7.6.1 查詢操作 155
實例:實現(xiàn)天下淘查詢用戶賬戶信息
7.6.2 添加操作 157
實例:實現(xiàn)天下淘添加新用戶賬戶信息
7.6.3 修改操作 158
實例:實現(xiàn)天下淘修改用戶賬戶密碼
7.6.4 刪除操作 159
實例:實現(xiàn)天下淘刪除用戶賬戶信息
小 結 159
上機指導 159
習 題 162
第8章 程序日志組件 163
8.1 程序日志組件概述 163
8.2 Loggers組件 164
8.2.1 日志輸出 164
8.2.2 配置日志 165
8.2.3 日志的繼承 165
8.3 Appenders組件 166
8.4 Layouts組件 167
8.5 應用日志調(diào)試程序 168
實例:打印用戶注冊信息的頁面日志
小 結 171
上機指導 171
習 題 172
第9章 SpringMVC框架 173
9.1 MVC設計模式 173
9.2 SpringMVC框架概述 174
9.2.1 SpringMVC與Struts的區(qū)別 174
9.2.2 SpringMVC的結構體系 175
9.3 SpringMVC環(huán)境搭建 176
9.3.1 添加SpringMVC依賴jar包 177
9.3.2 編寫核心配置文件SpringMVC.xml 179
9.3.3 編寫Handler處理器和視圖 181
9.4 處理器、映射器和適配器 184
9.5 前端控制和視圖解析器 186
9.5.1 前端控制器 187
9.5.2 視圖解析器 188
9.6 請求映射與參數(shù)綁定 191
9.6.1 Controller與RequestMapping 191
9.6.2 參數(shù)綁定過程 193
9.6.3 簡單類型參數(shù)綁定 194
9.6.4 包裝類型參數(shù)綁定 195
9.6.5 集合類型參數(shù)綁定 198
9.7 攔截器 205
9.7.1 HandlerInterceptor接口 206
9.7.2 WebRequestInterceptor接口 207
9.7.3 攔截器登錄控制 208
9.8 SpringMVC的其他操作 211
9.8.1 利用SpringMVC上傳文件 211
9.8.2 靜態(tài)資源訪問問題 214
小 結 214
上機指導 215
習 題 217
第 10章 MyBatis技術 218
10.1 初識MyBatis 218
10.1.1 MyBatis介紹 218
10.1.2 MyBatis整體架構 218
10.1.3 MyBatis運行流程 220
10.2 搭建MyBatis開發(fā)環(huán)境 220
10.2.1 數(shù)據(jù)庫準備 221
10.2.2 搭建MyBatis環(huán)境 223
10.2.3 編寫日志輸出環(huán)境配置文件 224
10.2.4 編寫數(shù)據(jù)庫連接池文件 225
10.2.5 編寫SQL映射文件 226
10.2.6 編寫數(shù)據(jù)交互類與測試類 227
10.2.7 模糊查詢 230
10.2.8 新增案例 231
10.2.9 修改案例 232
10.2.10 刪除案例 233
10.3 MyBatis配置文件詳解 233
10.3.1 SqlMapConfig配置文件 234
10.3.2 Mapper映射文件 243
10.3.3 Mapper 配置動態(tài)SQL語句 246
10.4 MyBatis高級映射 248
10.4.1 一對一映射 248
10.4.2 一對多映射 252
10.4.3 延遲加載 254
小 結 255
上機指導 256
習 題 260
第 11章 Spring框架 261
11.1 Spring概述 261
11.1.1 Spring組成 261
11.1.2 下載Spring 262
11.1.3 配置Spring 263
11.1.4 使用BeanFactory管理Bean 264
11.1.5 應用ApllicationContext 264
11.2 Spring IoC 265
11.2.1 控制反轉(zhuǎn)與依賴注入 265
11.2.2 配置Bean 266
11.2.3 Setter注入 267
實例:通過注入創(chuàng)建用戶實例
11.2.4 構造器注入 268
實例:通過構造器注入為用戶JavaBean屬性賦值
11.2.5 引用其他Bean 269
實例:將User對象注入到Spring的控制器Manager中
11.2.6 創(chuàng)建匿名內(nèi)部JavaBean 271
11.3 AOP概述 271
11.3.1 AOP術語 271
11.3.2 AOP的簡單實現(xiàn) 273
實例:利用Spring AOP使日志輸出與方法分離
11.4 Spring的切入點 274
11.4.1 靜態(tài)與動態(tài)切入點 274
11.4.2 深入靜態(tài)切入點 275
11.4.3 深入切入點底層 275
11.4.4 Spring中的其他切入點 276
11.5 Aspect對AOP的支持 276
11.5.1 Aspect概述 276
11.5.2 Spring中的Aspect 277
11.5.3 DefaultPointcutAdvisor切入點配置器 277
11.5.4 NameMatchMethodPointcutAdvisor切入點配置器 278
11.6 Spring持久化 279
11.6.1 DAO模式 279
11.6.2 Spring的DAO理念 279
實例:利用DAO模式向用戶表中添加數(shù)據(jù)
11.6.3 事務管理 281
實例:實現(xiàn)Spring編程式事務管理
11.6.4 應用JdbcTemplate操作數(shù)據(jù)庫 285
實例:利用JdbcTemplate向用戶表中添加用戶信息
小 結 286
上機指導 286
習 題 289
第 12章 SSM框架整合應用 290
12.1 為什么使用框架 290
12.2 如何使用SSM三大框架 290
12.2.1 搭建框架環(huán)境 290
12.2.2 創(chuàng)建實體類 296
12.2.3 編寫持久層 297
12.2.4 編寫業(yè)務層 299
12.2.5 創(chuàng)建控制層 301
12.2.6 配置SpringMVC 302
12.2.7 實現(xiàn)控制層 304
12.2.8 JSP頁面展示 306
12.3 一個完整的SSM應用 310
小 結 315
第 13章 綜合案例——程序源論壇 316
13.1 開發(fā)背景 316
13.2 系統(tǒng)功能設計 316
13.2.1 系統(tǒng)功能結構 316
13.2.2 系統(tǒng)業(yè)務流程 317
13.2.3 系統(tǒng)開發(fā)環(huán)境 317
13.2.4 系統(tǒng)預覽 318
13.3 開發(fā)準備 320
13.3.1 了解Java Web目錄結構 320
13.3.2 創(chuàng)建項目 321
13.3.3 前期項目準備 323
13.3.4 修改字符集 325
13.3.5 構建項目 326
13.4 富文本UEditor 335
13.4.1 富文本UEditor概述 335
13.4.2 使用UEditor 343
13.4.3 展示UEditor 346
13.5 數(shù)據(jù)庫設計 348
13.5.1 數(shù)據(jù)與邏輯 348
13.5.2 創(chuàng)建數(shù)據(jù)庫表 348
13.6 頁面功能設計 350
13.6.1 設計頁面效果 350
13.6.2 發(fā)表帖子頁面 350
13.6.3 展示帖子頁面 352
13.6.4 添加分頁原型 352
13.6.5 查看頁面原型 354
13.7 帖子保存與展示 355
13.7.1 接收帖子參數(shù) 355
13.7.2 處理帖子參數(shù) 356
13.7.3 保存帖子附加信息 360
13.7.4 分頁查詢帖子 361
13.7.5 使用JSTL迭代數(shù)據(jù) 364
13.7.6 查看帖子的詳細內(nèi)容 366
13.8 帖子的關系鏈 372
13.8.1 維護關系鏈 372
13.8.2 保存跟帖 375
13.8.3 帶參數(shù)的分頁 376
13.9 實現(xiàn)登錄注冊 379
13.9.1 用戶注冊 379
13.9.2 用戶登錄 381
13.9.3 用戶退出 383
13.10 配置文件 384
13.10.1 框架配置文件 384
13.10.2 UEditor富文本配置文件 384
13.11 小結 384