目 錄
第1章概述\t1
1.1Web相關概念\t1
1.1.1胖客戶端\t1
1.1.2瘦客戶端\t2
1.1.3B/S結構與C/S結構出現\t2
1.2Web開發背景知識\t2
1.2.1Web訪問基本原理\t2
1.2.2超文本標記語言\t3
1.2.3Web服務器\t3
1.2.4統一資源定位器\t4
1.2.5Web瀏覽器\t4
1.2.6超文本傳輸協議\t5
1.3Web開發技術簡史\t6
1.3.1傳統Web服務器模式開發\t6
1.3.2動態展現頁面技術\t7
1.3.3CGI實現頁面的動態生成\t7
1.3.4Java Servlet:改進的CGI\t8
1.3.5JSP:Servlet的模板\t9
1.3.6JSP基本原理\t9
1.4思維梳理\t10
1.5習題\t11
第2章搭建開發環境\t12
2.1搭建JSP開發環境\t12
2.1.1下載JDK\t12
2.1.2安裝JDK\t14
2.1.3配置環境變量\t17
2.1.4下載Eclipse\t20
2.1.5啟動Eclipse\t21
2.1.6配置工作空間\t24
2.1.7關閉自動更新\t28
2.2搭建JSP運行環境\t28
2.2.1獲取 Tomcat\t29
2.2.2啟動並訪問Tomcat\t30
2.2.3將 Tomcat 整合到 Eclipse\t32
2.3體驗Web應用開發\t38
2.3.1創建Web工程\t38
2.3.2部署Web工程\t43
2.3.3啟動服務器\t45
2.3.4訪問Web應用\t46
2.3.5關閉服務器\t47
2.4思維梳理\t48
2.5習題\t48
第3章開發Servlet程序\t49
3.1認知Servlet技術\t49
3.1.1Java Servlet\t49
3.1.2Servlet容器\t50
3.1.3Servlet 體繫\t51
3.1.4請求形式\t55
3.2開發Servlet程序\t55
3.2.1刀耕火種:實現Servlet接口的所有抽像方法\t57
3.2.2擒賊擒王:繼承GenericServlet類並重寫service方法\t64
3.2.3分而治之:繼承HttpServlet類並重寫doGet和doPost方法\t68
3.2.4殊途同歸:繼承HttpServlet類並重寫service方法\t74
3.3理解請求/響應過程\t78
3.3.1使用Servlet響應客戶端請求\t78
3.3.2容器對請求的處理過程\t81
3.4Servlet生命周期\t83
3.4.1容器對Servlet的兩種處理方式\t83
3.4.2總結Servlet生命周期\t89
3.5ServletConfig\t90
3.5.1ServletConfig接口\t90
3.5.2Servlet初始化參數\t91
3.6思維梳理\t96
3.7習題\t96
第4章處理Servlet請求\t98
4.1HTTP請求\t98
4.1.1請求行\t98
4.1.2請求頭\t100
4.1.3請求體\t102
4.2ServletRequest\t103
ServletRequest接口\t103
4.3獲取請求數據\t106
4.3.1解析請求\t106
4.3.2獲取請求參數\t113
4.4文件上傳\t118
4.4.1獲取字節數據\t118
4.4.2解析數據\t122
4.4.3單文件上傳\t126
4.4.4多文件上傳\t127
4.5思維梳理\t130
4.6習題\t130
第5章Servlet響應\t131
5.1HTTP響應\t131
狀態行\t131
5.2設置響應\t133
5.2.1設置狀態\t133
5.2.2設置響應頭\t136
5.3設置響應體\t138
5.3.1發送字符數據\t138
5.3.2發送字節數據\t140
5.3.3生成驗證碼圖片\t144
5.4思維梳理\t154
5.5習題\t155
第6章訪問數據庫\t156
6.1數據庫基礎\t156
6.1.1管理數據庫\t156
6.1.2管理表\t159
6.1.3管理數據\t162
6.2JDBC概述\t165
6.2.1什麼是JDBC\t165
6.2.2JDBC運行原理\t165
6.2.3JDBC Driver\t165
6.3連接數據庫\t166
6.4執行SQL語句\t167
6.4.1執行數據定義語言(DDL)語句\t167
6.4.2執行數據操縱語言(DML)\t168
6.4.3執行數據查詢語句(DQL)\t168
6.4.4PreparedStatement接口\t168
6.4.5ResultSet\t169
6.5使用開源組件\t171
6.5.1簡化屬性操作\t171
6.5.2使用數據源\t174
6.5.3簡化JDBC操作\t179
6.6思維梳理\t186
6.7習題\t187
第7章過濾器和監聽器\t188
7.1過濾器\t188
7.2監聽器\t192
7.3思維梳理\t194
7.4習題\t194
第8章JSP核心語法\t195
8.1JSP的本質\t195
8.1.1創建JSP文件\t195
8.1.2訪問JSP程序\t196
8.1.3容器對JSP的處理過程\t197
8.2JS素\t205
8.2.1JSP指令\t205
8.2.2JSP表達式\t212
8.2.3JSP聲明\t213
8.2.4JSP腳本\t215
8.2.5JSP注釋\t217
8.3JSP內置對像\t217
8.3.1request對像\t219
8.3.2response對像\t219
8.3.3page對像\t219
8.3.4pageContext\t221
8.3.5out對像\t224
8.3.6config對像\t226
8.3.7exception對像\t229
8.3.8session對像\t231
8.4思維梳理\t235
8.5習題\t235
第9章自定義標簽\t236
9.1概述\t236
9.2開發步驟\t237
9.2.1開發標簽處理器類\t237
9.2.2定義標簽\t241
9.2.3使用標簽\t242
9.3處理屬性\t243
9.3.1固定屬性值\t243
9.3.2動態屬性值\t247
9.3.3接收復雜對像\t255
9.4思維梳理\t259
9.5習題\t260
第10章標準標簽庫\t261
10.1表達式語言\t261
10.1.1運算符\t261
10.1.2訪問對像\t264
10.2核心標簽庫\t267
10.2.1<c:set>標簽\t268
10.2.2<c:out>標簽\t268
10.2.3<c:remove>標簽\t269
10.2.4<c:if>標簽\t270
10.2.5<c:choose>標簽\t270
10.2.6<c:catch>標簽\t271
10.2.7<c:forEach>標簽\t271
10.3格式化標簽庫\t273
10.3.1<fmt:formatNumber>標簽\t273
10.3.2<fmt:formatDate>標簽\t274
10.4思維梳理\t275
10.5習題\t276
附錄A@WebServlet屬性列表\t277
附錄B常用MIME類型\t278
附錄Cpage指令的屬性\t283