Java Web開發從0到1

王樹生

  • Java Web開發從0到1-preview-1
  • Java Web開發從0到1-preview-2
  • Java Web開發從0到1-preview-3
Java Web開發從0到1-preview-1

買這商品的人也買了...

商品描述

自20世紀以來,互聯網的發展已經堪稱日新月異,人們的工作、生活、學習等各個方面越來越離不開互聯網Web應用。Java Web是Web應用中成熟度高、普及率高、適用性廣的開源技術,幾乎所有Web應用程序都需要具備Java Web技術能力。本書詳解Java Web開發技術,配套示例源碼、PPT課件與答疑服務。 本書分為5篇,共17章。第1篇介紹Web開發與Java Web開發,包括體系結構、相關技術、開發環境等;第2篇介紹JSP語言基礎,包括JSP的基本概念、JSP指令、JSP動作、JSP註釋、JSP內置對象、JavaBean技術、Servlet技術、Servlet過濾器、Servlet監聽器;第3篇介紹Java Web整合開發,包括數據庫基礎以及Java Web操作數據庫實踐、EL動態網頁交互表達式語言、JSTL標簽語言、Ajax整合技術;第4篇介紹SSM框架,包括Spring IoC、Spring AOP、MyBatis、Spring MVC的入門介紹,最後基於框架實現整合開發;第5篇介紹項目實戰,包括基於SSM的學生信息管理系統的項目開發實戰。 本書內容翔實、示例豐富,適合Java Web開發初學者、Web開發工程師,同時也非常適合作為高等院校電腦及相關專業的教材或教學參考書。

目錄大綱

目    錄

第1篇  Web開發與Java Web開發

第1章  Java Web應用開發概述 3

1.1  程序開發體系結構 3

1.1.1  C/S體系結構介紹 3

1.1.2  B/S體系結構介紹 4

1.1.3  兩種體系結構的比較 4

1.2  Web應用程序的工作原理 5

1.3  Web應用技術 6

1.3.1  客戶端應用技術 6

1.3.2  服務端應用技術 7

1.4  Java Web應用的開發環境 7

1.4.1  下載JDK 8

1.4.2  安裝JDK並配置環境變量 8

1.4.3  驗證JDK 8

1.5  Tomcat的安裝與配置 9

1.5.1  下載Tomcat 9

1.5.2  Tomcat的目錄結構 10

1.5.3  修改Tomcat的默認埠 11

1.5.4  Tomcat控制台管理 12

1.5.5  部署Web應用 12

1.6  IDEA的下載與使用 13

1.6.1  IDEA的下載與安裝 14

1.6.2  啟動IDEA 14

1.6.3  IDEA工作台 15

1.6.4  使用IDEA開發Web應用—HelloWorld 15

1.7  實踐與練習 21

第2篇  JSP語言基礎

第2章  JSP的基本語法 25

2.1  瞭解JSP頁面 25

2.1.1  JSP的概念 25

2.1.2  第一個JSP頁面 26

2.1.3  JSP的執行原理 27

2.2  指令標識 30

2.2.1  page指令 30

2.2.2  include指令 31

2.2.3  taglib指令 32

2.3  腳本標識 32

2.3.1  JSP表達式 33

2.3.2  聲明標識 33

2.3.3  腳本程序/代碼片段 33

2.4  JSP註釋 34

2.4.1  HTML中的註釋 34

2.4.2  帶有JSP表達式的註釋 35

2.4.3  隱藏註釋 35

2.4.4  腳本程序中的註釋 36

2.5  動作標識 37

2.5.1  包含文件標識<jsp:include> 38

2.5.2  請求轉發標識<jsp:forward> 39

2.5.3  傳遞參數標識<jsp:param> 40

2.6  實踐與練習 41

第3章  JSP內置對象 42

3.1  JSP內置對象概述 42

3.2  request對象 43

3.2.1  訪問請求參數 43

3.2.2  在作用域中管理屬性 44

3.2.3  獲取Cookie 44

3.2.4  獲取客戶端信息 45

3.2.5  顯示國際化信息 46

3.3  response對象 47

3.3.1  重定向網頁 47

3.3.2  處理HTTP文件頭 48

3.3.3  設置輸出緩沖區 48

3.3.4  轉發和重定向 49

3.4  session對象 49

3.4.1  創建及獲取客戶的會話 49

3.4.2  從會話中移除指定的綁定對象 50

3.4.3  銷毀會話 51

3.4.4  會話超時的管理 51

3.4.5  session對象的應用 51

3.5  application對象 52

3.5.1  訪問應用程序初始化參數 53

3.5.2  管理應用程序環境屬性 53

3.5.3  session對象和application對象的比較 54

3.6  out對象 54

3.6.1  向客戶端輸出數據 54

3.6.2  管理輸出緩沖區 55

3.7  其他內置對象 55

3.7.1  獲取會話範圍的pageContext對象 55

3.7.2  讀取web.xml配置信息的config對象 57

3.7.3  應答或請求的page對象 58

3.7.4  獲取異常信息的exception對象 58

3.8  實踐與練習 59

第4章  JavaBean技術 60

4.1  JavaBean介紹 60

4.1.1  JavaBean概述 60

4.1.2  JavaBean的種類 61

4.1.3  JavaBean的規範 61

4.2  JavaBean的應用 62

4.2.1  在JSP中訪問JavaBean 62

4.2.2  獲取JavaBean的屬性信息 64

4.2.3  給JavaBean屬性賦值 64

4.3  在JSP中應用JavaBean 66

4.3.1  解決中文亂碼的JavaBean 66

4.3.2  在JSP頁面中用來顯示時間的JavaBean 67

4.3.3  數組轉換成字符串 68

4.4  實踐與練習 70

第5章  Servlet技術 72

5.1  Servlet基礎 73

5.1.1  Servlet的體系結構 73

5.1.2  Servlet的技術特點 73

5.1.3  Servlet與JSP的區別 74

5.1.4  Servlet代碼結構 74

5.2  開發Servlet程序 75

5.2.1  Servlet的創建 75

5.2.2  Servlet的配置 76

5.3  Servlet API 編程常用的接口和類 76

5.3.1  Servlet接口 76

5.3.2  ServletConfig接口 77

5.3.3  HttpServletRequest接口 78

5.3.4  HttpServletResponse接口 79

5.3.5  GenericServlet類 81

5.3.6  HttpServlet類 82

5.4  實踐與練習 82

第6章  過濾器和監聽器 83

6.1  Servlet過濾器 83

6.1.1  什麽是過濾器 83

6.1.2  過濾器的核心對象 84

6.1.3  過濾器的創建與配置 84

6.1.4  字符編碼過濾器 86

6.2  Servlet監聽器 86

6.2.1  Servlet監聽器簡介 86

6.2.2  Servlet監聽器的原理 87

6.2.3  Servlet上下文監聽器 87

6.2.4  HTTP會話監聽 88

6.2.5  Servlet請求監聽 89

6.2.6  AsyncListener異步監聽 90

6.2.7  應用Servlet監聽器統計在線人數 90

6.3  Servlet的高級特性 94

6.3.1  使用註解 94

6.3.2  對文件上傳的支持 95

6.3.3  異步處理 97

6.3.4  可插性支持——Web模塊化 100

6.4  實踐與練習 101

第3篇  Java Web整合開發

第7章  Java Web的數據庫操作 105

7.1  JDBC技術 105

7.1.1  JDBC簡介 105

7.1.2  安裝MySQL數據庫 107

7.1.3  JDBC連接數據庫的過程 107

7.2  JDBC API 108

7.2.1  DriverManager類 109

7.2.2  Connection接口 109

7.2.3  Statement接口 110

7.2.4  PreparedStatement接口 111

7.2.5  ResultSet接口 111

7.3  JDBC操作數據庫 114

7.3.1  添加數據 114

7.3.2  查詢數據 115

7.3.3  修改數據 116

7.3.4  刪除數據 116

7.3.5  批處理 117

7.3.6  調用存儲過程 118

7.4  JDBC在Java Web中的應用 119

7.4.1  開發模式 119

7.4.2  分頁查詢 121

7.5  常見分頁功能的實現 121

7.5.1  創建JavaBean實體 121

7.5.2  創建PageModel分頁 122

7.5.3  JDBC查詢數據庫並分頁 124

7.5.4  Servlet控制分頁邏輯 125

7.5.5  JSP展示效果 126

7.5.6  執行結果 128

7.6  實踐與練習 128

第8章  EL表達式語言 129

8.1  EL概述 129

8.1.1  EL的基本語法 129

8.1.2  EL的特點 129

8.2  與低版本的環境兼容—禁用EL 130

8.2.1  禁用EL的方法 130

8.2.2  禁用EL總結 130

8.3  標識符和保留的關鍵字 131

8.3.1  EL標識符 131

8.3.2  EL保留字 131

8.4  EL的運算符及優先級 131

8.4.1  通過EL訪問數據 131

8.4.2  在EL中進行算術運算 133

8.4.3  在EL中判斷對象是否為空 134

8.4.4  在EL中進行邏輯關系運算 134

8.4.5  在EL中進行條件運算 135

8.5  EL的隱含對象 136

8.5.1  頁面上下文對象 136

8.5.2  訪問作用域範圍的隱含對象 136

8.5.3  訪問環境信息的隱含對象 137

8.6  定義和使用EL函數 137

8.7  實踐與練習 139

第9章  JSTL標簽 140

9.1  JSTL標簽庫簡介 140

9.2  JSTL的配置 140

9.3  表達式標簽 141

9.3.1  <c:out>輸出標簽 141

9.3.2  <c:set>變量設置標簽 142

9.3.3  <c:remove>變量移除標簽 143

9.3.4  <c:catch>捕獲異常標簽 143

9.4  URL相關標簽 144

9.4.1  <c:import>導入標簽 144

9.4.2  <c:url>動態生成URL標簽 145

9.4.3  <c:redirect>重定向標簽 145

9.5  流程控制標簽 146

9.5.1  <c:if>條件判斷標簽 146

9.5.2  <c:choose>條件選擇標簽 147

9.5.3  <c:when>條件測試標簽 147

9.5.4  <c:otherwise>其他條件標簽 147

9.5.5  流程控制小結 147

9.6  循環標簽 148

9.6.1  <c:forEach>循環標簽 148

9.6.2  <c:forTokens>迭代標簽 149

9.7  實踐與練習 150

第10章  Ajax技術 151

10.1  Ajax 技術概述 151

10.2  Ajax開發模式與傳統開發模式的比較 152

10.3  Ajax使用的技術 153

10.4  使用XMLHttpRequest對象 153

10.4.1  初始化XMLHttpRequest對象 153

10.4.2  XMLHttpRequest對象的常用方法 154

10.4.3  XMLHttpRequest對象的常用屬性 156

10.5  與服務器通信——發送請求與處理響應 157

10.5.1  發送請求 157

10.5.2  處理服務器響應 158

10.5.3  一個完整的實例——檢測用戶名是否唯一 159

10.6  解決中文亂碼問題 163

10.6.1  發送請求時出現中文亂碼 163

10.6.2  獲取服務器的響應結果時出現中文亂碼 164

10.7  Ajax重構 164

10.7.1  Ajax重構的步驟 164

10.7.2  應用Ajax重構實現實時顯示信息 166

10.8  Ajax常用實例 167

10.8.1  級聯下拉列表 167

10.8.2  顯示進度條 171

10.9  實踐與練習 174

第4篇  SSM框架

第11章  Spring核心之IoC 177

11.1  Spring概述 177

11.1.1  初識Spring 178

11.1.2  Spring的獲取 179

11.1.3  簡單配置Spring 180

11.1.4  使用BeanFactory管理Bean 182

11.1.5  註解配置 183

11.2  依賴註入 183

11.2.1  什麽是控制反轉與依賴註入 183

11.2.2  Bean的配置 184

11.2.3  Setter註入 185

11.2.4  構造器註入 185

11.2.5  引用其他的Bean 185

11.2.6  匿名內部JavaBean的創建 186

11.3  自動裝配 186

11.3.1  按Bean名稱裝配 186

11.3.2  按Bean類型裝配 187

11.3.3  自動裝配的其他方式 187

11.4  Bean的作用域 187

11.4.1  Singleton的作用域 188

11.4.2  Prototype的作用域 188

11.5  Bean的初始化與銷毀 189

11.5.1  自定義初始化和銷毀方法 190

11.5.2  實現InitializingBean和DisposableBean接口 192

11.5.3  實現Spring提供的BeanPostProcessor接口 193

11.6  屬性編輯器 195

11.6.1  內置屬性編輯器 195

11.6.2  自定義屬性編輯器 195

11.7  實踐與練習 198

第12章  Spring核心之AOP 199

12.1  AOP概述 199

12.1.1  瞭解AOP 199

12.1.2  Spring AOP的簡單實現 201

12.2  Spring的切入點 203

12.2.1  靜態切入點與動態切入點 203

12.2.2  深入靜態切入點 203

12.2.3  深入切入點底層 205

12.2.4  Spring中的其他切入點 206

12.3  Aspect對AOP的支持 206

12.3.1  瞭解Aspect 206

12.3.2  基於XML配置的AOP實現 207

12.3.3  基於註解的AOP實現 209

12.4  Spring持久化 212

12.4.1  DAO模式介紹 212

12.4.2  Spring的DAO理念 212

12.4.3  事務應用的管理 216

12.4.4  應用JdbcTemplate操作數據庫 217

12.5  實踐與練習 219

第13章  MyBatis技術 220

13.1  MyBatis概述 220

13.1.1  框架 220

13.1.2  ORM框架 220

13.1.3  MyBatis介紹 221

13.1.4  MyBatis的下載和使用 222

13.1.5  MyBatis的工作原理 222

13.2  MyBatis入門程序 224

13.2.1  環境搭建 224

13.2.2  根據id查詢用戶 229

13.2.3  添加用戶 230

13.2.4  根據名稱模糊查詢用戶 230

13.2.5  修改用戶 231

13.2.6  刪除用戶 232

13.3  MyBatis的核心對象 232

13.3.1  SqlSessionFactoryBuilder 233

13.3.2  SqlSessionFactory 233

13.3.3  SqlSession 234

13.4  MyBatis配置文件元素 234

13.4.1  <properties>元素 235

13.4.2  <settings>元素 235

13.4.3  <typeAliases>元素 236

13.4.4  <typeHandler>元素 237

13.4.5  <objectFactory>元素 238

13.4.6  <plugins>元素 238

13.4.7  <environments>元素 239

13.4.8  <mappers>元素 240

13.5  映射文件 240

13.5.1  <select>元素 241

13.5.2  <insert>元素 242

13.5.3  <update>元素和<delete>元素 243

13.5.4  <sql>元素 243

13.5.5  <resultMap>元素 243

13.6  動態SQL 244

13.6.1  <if>元素 245

13.6.2  <choose>、<when>和<otherwise>元素 245

13.6.3  <where>和<trim>元素 246

13.6.4  <set>元素 247

13.6.5  <foreach>元素 247

13.6.6  <bind>元素 248

13.7  關系映射 248

13.7.1  一對一 249

13.7.2  一對多 252

13.7.3  多對多 253

13.8  MyBatis與Spring的整合 254

13.8.1  創建項目並導入所需的JAR包 255

13.8.2  編寫配置文件 255

13.8.3  創建實體對象和Mapper接口 256

13.8.4  Mapper接口方式的開發整合 257

13.8.5  傳統DAO方式的開發整合 257

13.9  實踐與練習 258

第14章  Spring MVC技術 259

14.1  Spring MVC 概述 259

14.1.1  關於三層架構和MVC 259

14.1.2  Spring MVC概述 260

14.1.3  Spring MVC的請求流程 260

14.1.4  Spring MVC的優勢 261

14.2  第一個Spring MVC應用 261

14.2.1  創建項目並引入JAR包 261

14.2.2  配置前端控制器 262

14.2.3  創建Spring MVC配置文件,配置控制器映射信息 263

14.2.4  創建Controller類 264

14.2.5  創建視圖頁面 264

14.2.6  啟動項目,測試應用 265

14.3  Spring MVC的註解 266

14.3.1  DispatcherServlet 266

14.3.2  @Controller註解類型 267

14.3.3  @RequestMapping註解類型 267

14.3.4  ViewResolver(視圖解析器) 268

14.4  Spring MVC數據綁定 269

14.4.1  綁定默認數據類型 270

14.4.2  綁定簡單數據類型 270

14.4.3  綁定POJO類型 271

14.4.4  綁定包裝POJO 272

14.4.5  綁定數組 273

14.4.6  綁定集合 274

14.5  JSON數據交互和RESTful支持 276

14.5.1  JSON數據轉互 276

14.5.2  RESTful的支持 277

14.6  攔截器 279

14.6.1  攔截器的定義 279

14.6.2  攔截器的配置 280

14.6.3  攔截器的執行流程 281

14.7  實戰——用戶登錄權限驗證 283

14.8  實踐與練習 286

第15章  Maven入門 287

15.1  Maven的目錄結構 287

15.2  IDEA配置Maven 288

15.3  IDEA創建Maven項目 289

15.4  實踐與練習 289

第16章  SSM框架整合開發 290

16.1  SSM三大框架整合基礎 290

16.1.1  數據準備 290

16.1.2  創建項目 291

16.1.3  添加Maven依賴庫 292

16.1.4  創建目錄結構 295

16.1.5  配置web.xml 296

16.2  創建Spring框架 297

16.2.1  創建實體類 297

16.2.2  編寫持久層 297

16.2.3  編寫業務層 298

16.2.4  編寫測試方法 298

16.3  創建Spring MVC框架 299

16.3.1  配置springmvc-config.xml 299

16.3.2  創建控制層 299

16.3.3  創建JSP頁面 300

16.3.4  測試Spring MVC框架 301

16.4  創建MyBatis並整合SSM框架 301

16.4.1  配置MybatisConfig.xml 301

16.4.2  註解配置Mapper 302

16.4.3  測試MyBatis 302

16.4.4  整合SSM 303

16.5  實踐與練習 304

第5篇  項目實戰

第17章  學生信息管理系統 307

17.1  開發背景 307

17.2  需求分析 307

17.2.1  可行性分析 307

17.2.2  功能需求分析 308

17.2.3  非功能性需求分析 309

17.2.4  軟硬件需求 310

17.3  系統設計 310

17.3.1  系統目標 310

17.3.2  系統架構 310

17.3.3  系統流程圖 312

17.3.4  開發環境 313

17.3.5  項目組織結構 313

17.4  數據庫設計 314

17.4.1  數據庫概念結構設計 314

17.4.2  數據庫邏輯結構設計 315

17.5  系統基本功能實現 317

17.5.1  框架搭建 317

17.5.2  編寫公共模塊和功能 317

17.5.3  管理員註冊和登錄 319

17.5.4  普通用戶註冊和登錄 321

17.6  管理員功能模塊 323

17.6.1  用戶管理 323

17.6.2  課程管理 326

17.6.3  班級管理 329

17.6.4  學生管理 330

17.6.5  學費管理 333

17.6.6  成績管理 336

17.6.7  教師管理 339

17.7  用戶功能模塊 340

17.7.1  班級課程 340

17.7.2  班級信息 341

17.7.3  成績信息 342

17.8  系統測試 343

17.8.1  測試目的 343

17.8.2  測試方法 343

17.8.3  測試用例 344

17.9  項目總結 346