日韩偷拍一区二区,国产香蕉久久精品综合网,亚洲激情五月婷婷,欧美日韩国产不卡

在線客服
Java Web從入門到精通(第2版)圖書
人氣:88

Java Web從入門到精通(第2版)

60000讀者口碑相傳 17小時視頻 169個經(jīng)典實例 369項面試真題 596項測試 ppt電子課件 java web開發(fā)詳解 實例典型模塊 項目案例 視頻教程 長期位居java web

內(nèi)容簡介

《Java Web從入門到精通(第2版)》從初學(xué)者角度出發(fā),通過通俗易懂的語言、豐富多彩的實例,詳細(xì)介紹了進(jìn)行Java Web應(yīng)用程序開發(fā)應(yīng)該掌握的各方面技術(shù)。《Java Web從入門到精通(第2版)》共分21章,包括Java Web應(yīng)用開發(fā)概述、HTML與CSS網(wǎng)頁開發(fā)基礎(chǔ)、JavaScript腳本語言、搭建開發(fā)環(huán)境、JSP基本語法、JSP內(nèi)置對象、JavaBean技術(shù)、Servlet技術(shù)、過濾器和監(jiān)聽器、Java Web的數(shù)據(jù)庫操作、EL(表達(dá)式語言)、JSTL標(biāo)簽、Ajax技術(shù)、Struts2基礎(chǔ)、Struts2高級技術(shù)、Hibernate技術(shù)、Hibernate高級應(yīng)用、Spring核心之IoC、Spring核心之AOP、JSP操作XML、清爽夏日九宮格日記網(wǎng)等。所有知識都結(jié)合具體實例進(jìn)行介紹,涉及的程序代碼給出了詳細(xì)的注釋,可以使讀者輕松領(lǐng)會Java Web應(yīng)用程序開發(fā)的精髓,快速提高開發(fā)技能。 《Java Web從入門到精通(第2版)》可作為軟件開發(fā)入門者的自學(xué)用書,也可作為高等院校相關(guān)專業(yè)的教學(xué)參考書,還可供開發(fā)人員查閱、參考。

編輯推薦

“軟件開發(fā)視頻大講堂”叢書系清華社“視頻大講堂”重點大系之一。該大系包括多個子系列,每個子系列的圖書在其同品種的圖書中銷售名列前茅,其中:

4個品種榮獲“全行業(yè)暢銷品種”

1個品種榮獲2012年清華大學(xué)出版社“專業(yè)暢銷書”一等獎

絕大多數(shù)品種在“全國計算機(jī)零售圖書排行榜”同品種排行中名列前茅

截至目前該大系累計銷售超過130萬冊

該大系已成為近年來清華社計算機(jī)專業(yè)基礎(chǔ)類零售圖書暢銷品牌之一

“軟件開發(fā)視頻大講堂”系列作為清華社“視頻大講堂”大系的子系列之一,繼承和創(chuàng)新了清華社“視頻大講堂”大系的編寫模式、寫作風(fēng)格和優(yōu)良品質(zhì)。本書突出了以下內(nèi)容:

總長總時長17小時同步視頻演示講解,可反復(fù)觀摩,讓學(xué)習(xí)更為快捷、高效

15個典型實例,通過實例學(xué)習(xí)更深入,更有趣,更有動力

369道面試真題,了解工作實例及面試問題,更好適應(yīng)企業(yè)需求

596項能力測試題目,檢測是否過關(guān),了解學(xué)習(xí)之不足。

根據(jù)全國計算機(jī)零售圖書排行榜,本書長期在java web類全國零售排行前列

“軟件開發(fā)視頻大講堂”系列作為清華社“視頻大講堂”大系的子系列之一,執(zhí)著于專業(yè),精細(xì)于品質(zhì)。

集基礎(chǔ)知識、核心技能、高級應(yīng)用、項目案例于一體

作者簡介

“軟件開發(fā)視頻大講堂”叢書系清華社“視頻大講堂”重點大系之一。該大系包括多個子系列,每個子系列的圖書在其同品種的圖書中銷售名列前茅,其中:4個品種榮獲“全行業(yè)暢銷品種”1個品種榮獲2012年清華大學(xué)出版社“專業(yè)暢銷書”一等獎絕大多數(shù)品種在“全國計算機(jī)零售圖書排行榜”同品種排行中名列前茅截至目前該大系累計銷售超過130萬冊該大系已成為近年來清華社計算機(jī)專業(yè)基礎(chǔ)類零售圖書暢銷品牌之一

“軟件開發(fā)視頻大講堂”系列作為清華社“視頻大講堂”大系的子系列之一,繼承和創(chuàng)新了清華社“視頻大講堂”大系的編寫模式、寫作風(fēng)格和優(yōu)良品質(zhì)。本書突出了以下內(nèi)容:總長總時長17小時同步視頻演示講解,可反復(fù)觀摩,讓學(xué)習(xí)更為快捷、高效15個典型實例,通過實例學(xué)習(xí)更深入,更有趣,更有動力369道面試真題,了解工作實例及面試問題,更好適應(yīng)企業(yè)需求596項能力測試題目,檢測是否過關(guān),了解學(xué)習(xí)之不足。根據(jù)全國計算機(jī)零售圖書排行榜,本書長期在java web類全國零售排行前列

“軟件開發(fā)視頻大講堂”系列作為清華社“視頻大講堂”大系的子系列之一,執(zhí)著于專業(yè),精細(xì)于品質(zhì)。集基礎(chǔ)知識、核心技能、高級應(yīng)用、項目案例于一體好學(xué)、好用、高效

目錄

目 錄:

第1篇Web開發(fā)基礎(chǔ)

第1章Java Web應(yīng)用開發(fā)概述

視頻講解:21分鐘

1.1 程序開發(fā)體系結(jié)構(gòu)

1.1.1 C/S體系結(jié)構(gòu)介紹

1.1.2 B/S體系結(jié)構(gòu)介紹

1.1.3 兩種體系結(jié)構(gòu)的比較

1.2 Web應(yīng)用程序的工作原理

1.3 Web應(yīng)用技術(shù)

1.3.1 客戶端應(yīng)用的技術(shù)

1.3.2 服務(wù)器端應(yīng)用的技術(shù)

1.4 Java Web成功案例

1.5 常用網(wǎng)上資源

1.5.1 常用資源下載網(wǎng)

1.5.2 技術(shù)社區(qū)

1.6 小結(jié)

第2章HTML與CSS網(wǎng)頁開發(fā)基礎(chǔ)

視頻講解:68分鐘

2.1 HTML標(biāo)記語言

2.1.1 創(chuàng)建及時個HTML文件

2.1.2 HTML文檔結(jié)構(gòu)

2.1.3 HTML常用標(biāo)記

2.1.4 表格標(biāo)記

2.1.5 HTML表單標(biāo)記

2.1.6 超鏈接與圖片標(biāo)記

2.2 HTML 5新增內(nèi)容

2.2.1 新增的元素

2.2.2 新增的input元素類型

2.3 CSS樣式表

2.3.1 CSS規(guī)則

2.3.2 CSS選擇器

2.3.3 在頁面中包含CSS

2.4 CSS 3的新特征

2.4.1 模塊與模塊化結(jié)構(gòu)

2.4.2 一個簡單的CSS 3實例

2.5 小結(jié)

2.6 實踐與練習(xí)

第3章JavaScript腳本語言

視頻講解:90分鐘

3.1 JavaScript概述

3.1.1 什么是JavaScript

3.1.2 JavaScript的主要特點

3.2 JavaScript語言基礎(chǔ)

3.2.1 JavaScript的語法

3.2.2 JavaScript中的關(guān)鍵字

3.2.3 JavaScript的數(shù)據(jù)類型

3.2.4 變量的定義及使用

3.2.5 運算符的應(yīng)用

3.3 流程控制語句

3.3.1 if條件判斷語句

3.3.2 switch多分支語句

3.3.3 for循環(huán)語句

3.3.4 while循環(huán)語句

3.3.5 do…while循環(huán)語句

3.3.6 break與continue語句

3.4 函數(shù)

3.4.1 函數(shù)的定義

3.4.2 函數(shù)的調(diào)用

3.5 事件處理

3.5.1 什么是事件處理程序

3.5.2 JavaScript常用事件

3.5.3 事件處理程序的調(diào)用

3.6 常用對象

3.6.1 Window對象

3.6.2 String對象

3.6.3 Date對象

3.7 DOM技術(shù)

3.7.1 DOM的分層結(jié)構(gòu)

3.7.2 遍歷文檔

3.7.3 獲取文檔中的指定元素

3.7.4 操作文檔

3.8 小結(jié)

3.9 實踐與練習(xí)

第4章搭建開發(fā)環(huán)境

視頻講解:19分鐘

4.1 Java Web應(yīng)用的開發(fā)環(huán)境概述

4.2 Tomcat的安裝與配置

4.2.1 下載Tomcat

4.2.2 Tomcat的目錄結(jié)構(gòu)

4.2.3 修改Tomcat的默認(rèn)端口

4.2.4 部署Web應(yīng)用

4.3 Eclipse的下載與使用

4.3.1 Eclipse的下載與安裝

4.3.2 啟動Eclipse

4.3.3 Eclipse工作臺

4.3.4 使用Eclipse開發(fā)Web應(yīng)用

4.4 小結(jié)

4.5 實踐與練習(xí)

第2篇JSP語言基礎(chǔ)

第5章JSP基本語法

視頻講解:50分鐘

5.1 JSP頁面概述

5.2 指令標(biāo)識

5.2.1 page指令

5.2.2 include指令

5.2.3 taglib指令

5.3 腳本標(biāo)識

5.3.1 JSP表達(dá)式

5.3.2 聲明標(biāo)識

5.3.3 代碼片段

5.4 JSP注釋

5.4.1 HTML中的注釋

5.4.2 帶有JSP表達(dá)式的注釋

5.4.3 隱藏注釋

5.4.4 動態(tài)注釋

5.5 動作標(biāo)識

5.5.1 包含文件標(biāo)識

5.5.2 請求轉(zhuǎn)發(fā)標(biāo)識

5.5.3 傳遞參數(shù)標(biāo)識

5.6 小結(jié)

5.7 實踐與練習(xí)

第6章JSP內(nèi)置對象

視頻講解:69分鐘

6.1 JSP內(nèi)置對象概述

6.2 request對象

6.2.1 訪問請求參數(shù)

6.2.2 在作用域中管理屬性

6.2.3 獲取cookie

6.2.4 解決中文亂碼

6.2.5 獲取客戶端信息

6.2.6 顯示國際化信息

6.3 response對象

6.3.1 重定向網(wǎng)頁

6.3.2 處理HTTP文件頭

6.3.3 設(shè)置輸出緩沖

6.4 session對象

6.4.1 創(chuàng)建及獲取客戶的會話

6.4.2 從會話中移動指定的綁定對象

6.4.3 銷毀session

6.4.4 會話超時的管理

6.4.5 session對象的應(yīng)用

6.5 application對象

6.5.1 訪問應(yīng)用程序初始化參數(shù)

6.5.2 管理應(yīng)用程序環(huán)境屬性

6.6 out對象

6.6.1 向客戶端輸出數(shù)據(jù)

6.6.2 管理響應(yīng)緩沖

6.7 其他內(nèi)置對象

6.7.1 獲取會話范圍的pageContext對象

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

6.7.3 應(yīng)答或請求的page對象

6.7.4 獲取異常信息的exception對象

6.8 小結(jié)

6.9 實踐與練習(xí)

第7章JavaBean技術(shù)

視頻講解:29分鐘

7.1 JavaBean介紹

7.1.1 JavaBean概述

7.1.2 JavaBean種類

7.2 JavaBean的應(yīng)用

7.2.1 獲取JavaBean屬性信息

7.2.2 對JavaBean屬性賦值

7.2.3 在JSP頁面中應(yīng)用JavaBean

7.3 在JSP中應(yīng)用JavaBean

7.3.1 解決中文亂碼的JavaBean

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

7.3.3 數(shù)組轉(zhuǎn)換成字符串

7.4 小結(jié)

7.5 實踐與練習(xí)

第8章Servlet技術(shù)

視頻講解:22分鐘

8.1 Servlet基礎(chǔ)

8.1.1 Servlet結(jié)構(gòu)體系

8.1.2 Servlet技術(shù)特點

8.1.3 Servlet與JSP的區(qū)別

8.1.4 Servlet代碼結(jié)構(gòu)

8.2 Servlet API編程常用接口和類

8.2.1 Servlet接口

8.2.2 ServletConfig接口

8.2.3 HttpServletRequest接口

8.2.4 HttpServletResponse接口

8.2.5 GenericServlet類

8.2.6 HttpServlet類

8.3 Servlet開發(fā)

8.3.1 Servlet創(chuàng)建

8.3.2 Servlet配置

8.4 小結(jié)

8.5 實踐與練習(xí)

第9章過慮器和監(jiān)聽器

視頻講解:44分鐘

9.1 Servlet過濾器

9.1.1 什么是過濾器

9.1.2 過濾器核心對象

9.1.3 過濾器創(chuàng)建與配置

9.1.4 字符編碼過濾器

9.2 Servlet監(jiān)聽器

9.2.1 Servlet監(jiān)聽器簡介

9.2.2 Servlet監(jiān)聽器的原理

9.2.3 Servlet上下文監(jiān)聽

9.2.4 HTTP會話監(jiān)聽

9.2.5 Servlet請求監(jiān)聽

9.2.6 Servlet監(jiān)聽器統(tǒng)計在線人數(shù)

9.3 Servlet 3.0新特性

9.3.1 新增注釋

9.3.2 對文件上傳的支持

9.3.3 異步處理

9.4 小結(jié)

9.5 實踐與練習(xí)

第3篇JSP高級內(nèi)容

第10章Java Web的數(shù)據(jù)庫操作

視頻講解:48分鐘

10.1 JDBC技術(shù)

10.1.1 JDBC簡介

10.1.2 JDBC連接數(shù)據(jù)庫的過程

10.2 JDBC API

10.2.1 Connection接口

10.2.2 DriverManager類

10.2.3 Statement接口

10.2.4 PreparedStatement接口

10.2.5 ResultSet接口

10.3 JDBC操作數(shù)據(jù)庫

10.3.1 添加數(shù)據(jù)

10.3.2 查詢數(shù)據(jù)

10.3.3 修改數(shù)據(jù)

10.3.4 刪除數(shù)據(jù)

10.3.5 批處理

10.3.6 調(diào)用存儲過程

10.4 JDBC在Java Web中的應(yīng)用

10.4.1 開發(fā)模式

10.4.2 分頁查詢

10.5 小結(jié)

10.6 實踐與練習(xí)

第11章EL(表達(dá)式語言)

視頻講解:23分鐘

11.1 EL概述

11.1.1 EL的基本語法

11.1.2 EL的特點

11.2 與低版本的環(huán)境兼容—禁用EL

11.2.1 使用斜杠“\”符號

11.2.2 使用page指令

11.2.3 在web.xml文件中配置元素

11.3 保留的關(guān)鍵字

11.4 EL的運算符及優(yōu)先級

11.4.1 通過EL訪問數(shù)據(jù)

11.4.2 在EL中進(jìn)行算術(shù)運算

11.4.3 在EL中判斷對象是否為空

11.4.4 在EL中進(jìn)行邏輯關(guān)系運算

11.4.5 在EL中進(jìn)行條件運算

11.5 EL的隱含對象

11.5.1 頁面上下文對象

11.5.2 訪問作用域范圍的隱含對象

11.5.3 訪問環(huán)境信息的隱含對象

11.6 定義和使用EL函數(shù)

11.6.1 定義和使用函數(shù)

11.6.2 定義和使用EL函數(shù)時常見的錯誤

11.7 小結(jié)

11.8 實踐與練習(xí)

第12章JSTL標(biāo)簽

視頻講解:62分鐘

12.1 JSTL標(biāo)簽庫簡介

12.2 JSTL的配置

12.3 表達(dá)式標(biāo)簽

12.3.1 輸出標(biāo)簽

12.3.2 變量設(shè)置標(biāo)簽

12.3.3 變量移除標(biāo)簽

12.3.4 捕獲異常標(biāo)簽

12.4 URL相關(guān)標(biāo)簽

12.4.1 導(dǎo)入標(biāo)簽

12.4.2 動態(tài)生成URL標(biāo)簽

12.4.3 重定向標(biāo)簽

12.4.4 傳遞參數(shù)標(biāo)簽

12.5 流程控制標(biāo)簽

12.5.1 條件判斷標(biāo)簽

12.5.2 條件選擇標(biāo)簽

12.5.3 條件測試標(biāo)簽

12.5.4 其他條件標(biāo)簽

12.6 循環(huán)標(biāo)簽

12.6.1 循環(huán)標(biāo)簽

12.6.2 迭代標(biāo)簽

12.7 小結(jié)

12.8 實踐與練習(xí)

第13章Ajax技術(shù)

視頻講解:59分鐘

13.1 當(dāng)下誰在用Ajax

13.1.1 百度搜索提示

13.1.2 淘寶新會員免費注冊

13.1.3 明日科技編程詞典服務(wù)網(wǎng)

13.2 Ajax開發(fā)模式與傳統(tǒng)開發(fā)模式的比較

13.3 Ajax使用的技術(shù)

13.4 使用XMLHttpRequest對象

13.4.1 初始化XMLHttpRequest對象

13.4.2 XMLHttpRequest對象的常用方法

13.4.3 XMLHttpRequest對象的常用屬性

13.5 與服務(wù)器通信—發(fā)送請求與處理響應(yīng)

13.5.1 發(fā)送請求

13.5.2 處理服務(wù)器響應(yīng)

13.5.3 一個完整的實例—檢測用戶名是否

13.6 解決中文亂碼問題

13.6.1 發(fā)送請求時出現(xiàn)中文亂碼

13.6.2 獲取服務(wù)器的響應(yīng)結(jié)果時出現(xiàn)中文亂碼

13.7 Ajax重構(gòu)

13.7.1 Ajax重構(gòu)的步驟

13.7.2 應(yīng)用Ajax重構(gòu)實現(xiàn)實時顯示公告信息

13.8 Ajax常用實例

13.8.1 級聯(lián)下拉列表

13.8.2 顯示進(jìn)度條

13.9 小結(jié)

13.10 實踐與練習(xí)

第4篇流行框架與XML技術(shù)

第14章Struts2基礎(chǔ)

視頻講解:60分鐘

14.1 Struts2概述

14.1.1 理解MVC原理

14.1.2 Struts2框架的產(chǎn)生

14.1.3 Struts2的結(jié)構(gòu)體系

14.2 Struts2入門

14.2.1 Struts2的獲取與放置

14.2.2 及時個Struts2程序

14.3 Action對象

14.3.1 認(rèn)識Action對象

14.3.2 請求參數(shù)的注入原理

14.3.3 Action的基本流程

14.3.4 什么是動態(tài)Action

14.3.5 動態(tài)Action的應(yīng)用

14.4 Struts2的配置文件

14.4.1 Struts2的配置文件類型

14.4.2 Struts2的包配置

14.4.3 名稱空間配置

14.4.4 Action相關(guān)配置

14.4.5 通配符實現(xiàn)簡化配置

14.4.6 返回結(jié)果的配置

14.5 Struts2的開發(fā)模式

14.5.1 實現(xiàn)與Servlet API的交互

14.5.2 域模型DomainModel

14.5.3 驅(qū)動模型ModelDriven

14.6 典型應(yīng)用

14.6.1 Struts2處理表單數(shù)據(jù)

14.6.2 使用Map類型的request、session和application

14.7 小結(jié)

14.8 實踐與練習(xí)

第15章Struts2高級技術(shù)

視頻講解:49分鐘

15.1 OGNL表達(dá)式語言

15.1.1 認(rèn)識OGNL

15.1.2 Struts2框架中的OGNL

15.1.3 操作普通的屬性與方法

15.1.4 訪問靜態(tài)方法與屬性

15.1.5 訪問數(shù)組

15.1.6 訪問List、Set、Map集合

15.1.7 投影與選擇

15.2 Struts2的標(biāo)簽庫

15.2.1 數(shù)據(jù)標(biāo)簽的應(yīng)用

15.2.2 控制標(biāo)簽的應(yīng)用

15.2.3 表單標(biāo)簽的應(yīng)用

15.3 攔截器的使用

15.3.1 了解攔截器

15.3.2 攔截器API

15.3.3 使用攔截器

15.4 數(shù)據(jù)驗證機(jī)制

15.4.1 手動驗證的實現(xiàn)

15.4.2 驗證文件的命名規(guī)則

15.4.3 驗證文件的編寫風(fēng)格

在線預(yù)覽

數(shù)據(jù)庫的應(yīng)用在日常的生活和工作中可以說是無處不在,無論是一個小型的企業(yè)辦公自動化系統(tǒng),還是像中國移動那樣的大型運營系統(tǒng),似乎都離不開數(shù)據(jù)庫。對于大多數(shù)應(yīng)用程序來說,不管它們是Windows桌面應(yīng)用程序,還是Web應(yīng)用程序,存儲和檢索數(shù)據(jù)都是其核心功能,所以針對數(shù)據(jù)庫的開發(fā)已經(jīng)成為軟件開發(fā)的一種必備技能。如果說過去是“學(xué)好數(shù)理化,走遍天下都不怕”,那么,對于今天的軟件開發(fā)者而言就是“學(xué)好數(shù)據(jù)庫,走到哪兒都不怵”。本章將向讀者介紹如何在Java Web中進(jìn)行數(shù)據(jù)庫應(yīng)用開發(fā)。

通過閱讀本章,您可以:

: 了解JDBC的結(jié)構(gòu)體系

: 掌握J(rèn)DBC連接數(shù)據(jù)庫的過程

: 熟悉JDBC的常用API

: 掌握通過JDBC向數(shù)據(jù)庫中添加數(shù)據(jù)

: 掌握通過JDBC查詢數(shù)據(jù)

: 掌握通過JDBC修改數(shù)據(jù)庫中的數(shù)據(jù)

: 掌握通過JDBC刪除數(shù)據(jù)庫中的數(shù)據(jù)

: 掌握進(jìn)行批處理的方法

: 掌握J(rèn)DBC在Java Web中的應(yīng)用

10.1 JDBC技術(shù) 視頻講解:光盤\TM\lx\10\JDBC技術(shù).exe

JDBC(Java Data Base Connectivity)是Java程序與數(shù)據(jù)庫系統(tǒng)通信的標(biāo)準(zhǔn)API,它定義在JDK的API中,通過JDBC技術(shù),Java程序可以非常方便地與各種數(shù)據(jù)庫交互,JDBC在Java程序與數(shù)據(jù)庫系統(tǒng)之間架起了一座橋梁。

10.1.1 JDBC簡介 JDBC是Java程序操作數(shù)據(jù)庫的API,也是Java程序與數(shù)據(jù)庫交互的一門技術(shù)。JDBC是Java操作數(shù)據(jù)庫的規(guī)范,由一組用Java語言編寫的類和接口組成,它對數(shù)據(jù)庫的操作提供了基本方法,但對于數(shù)據(jù)庫的細(xì)節(jié)操作由數(shù)據(jù)庫廠商進(jìn)行實現(xiàn)。使用JDBC操作數(shù)據(jù)庫,需要數(shù)據(jù)庫廠商提供數(shù)據(jù)庫的驅(qū)動程序。Java程序與數(shù)據(jù)庫交互的示意圖如圖10.1所示。

通過圖10.1可以看出,JDBC在Java程序與數(shù)據(jù)庫之間起到了一個橋梁的作用,有了JDBC就可以方便地與各種數(shù)據(jù)庫進(jìn)行交互,不必為某一個特定的數(shù)據(jù)庫制定專門的訪問程序。例如,訪問MySQL數(shù)據(jù)庫可以使用JDBC進(jìn)行訪問,訪問SQL Server同樣使用JDBC。因此,JDBC對Java程序員而言,是一套標(biāo)準(zhǔn)的操作數(shù)據(jù)庫的API;而對數(shù)據(jù)庫廠商而言,又是一套標(biāo)準(zhǔn)的模型接口。

10.1.2 JDBC連接數(shù)據(jù)庫的過程 在了解了JDBC與數(shù)據(jù)庫后,本節(jié)介紹使用JDBC操作數(shù)據(jù)的開發(fā)流程,其關(guān)鍵步驟如下。

þ 注冊數(shù)據(jù)庫驅(qū)動

連接數(shù)據(jù)庫前,需要將數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫驅(qū)動類注冊到JDBC的驅(qū)動管理器中。通常情況下,是通過將數(shù)據(jù)庫驅(qū)動類加載到JVM來實現(xiàn)的。

[例10.1] 加載數(shù)據(jù)庫驅(qū)動,注冊到驅(qū)動管理器。代碼如下:

Class.forName("com.mysql.jdbc.Driver");

þ 構(gòu)建數(shù)據(jù)庫連接URL

要建立數(shù)據(jù)庫連接,就要構(gòu)建數(shù)據(jù)庫連接的URL,這個URL由數(shù)據(jù)庫廠商制定,不同的數(shù)據(jù)庫,它的URL也有所區(qū)別,但都符合一個基本的格式,即“JDBC協(xié)議 IP地址或域名 端口 數(shù)據(jù)庫名稱”。如MySQL的數(shù)據(jù)庫連接URL的字符串為“jdbc:mysql://localhost:3306/test”。

þ 獲取Connection對象

在注冊了數(shù)據(jù)庫驅(qū)動及構(gòu)建數(shù)據(jù)庫URL后,就可以通過驅(qū)動管理器獲取數(shù)據(jù)庫的連接Connection。Connection對象是JDBC封裝的數(shù)據(jù)庫連接對象,只有創(chuàng)建此對象后,才可以對數(shù)據(jù)進(jìn)行相關(guān)操作,它的獲取方法如下:

DriverManager.getConnection(url,username,password);

Connection對象的獲取需要用到DriverManager對象,DriverManager的getConnection()方法通過數(shù)據(jù)庫連接URL、數(shù)據(jù)庫用戶名及數(shù)據(jù)庫密碼創(chuàng)建Connection對象。

[例10.2] 通過JDBC連接MySQL數(shù)據(jù)庫。(實例位置:光盤\TM\sl\10\1)

(1)創(chuàng)建名稱為10.1的動態(tài)Web項目,將MySQL數(shù)據(jù)庫的驅(qū)動包添加至項目的構(gòu)建路徑,構(gòu)建開發(fā)環(huán)境。

(2)創(chuàng)建程序中的主頁index.jsp,在該頁面中加載數(shù)據(jù)庫驅(qū)動并創(chuàng)建數(shù)據(jù)庫連接。關(guān)鍵代碼如下:

try {

Class.forName("com.mysql.jdbc.Driver"); //加載數(shù)據(jù)庫驅(qū)動,注冊到驅(qū)動管理器

String url = "jdbc:mysql://localhost:3306/test"; //數(shù)據(jù)庫連接字符串

String username = "root"; //數(shù)據(jù)庫用戶名

String password = "111"; //數(shù)據(jù)庫密碼

Connection conn = DriverManager.getConnection(url,username,password); //創(chuàng)建Connection連接

if(conn != null){ //判斷數(shù)據(jù)庫連接是否為空

out.println("數(shù)據(jù)庫連接成功!"); //輸出連接信息

conn.close(); //關(guān)閉數(shù)據(jù)庫連接

}else{

out.println("數(shù)據(jù)庫連接失敗!"); //輸出連接信息

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

%>

在index.jsp頁面中,首先通過Class的forName()方法加載數(shù)據(jù)庫驅(qū)動,然后使用DriverManager對象的getConnection()方法獲取數(shù)據(jù)庫連接Connection對象,將獲取結(jié)果輸出到頁面中。實例運行結(jié)果如圖10.2所示。

10.2 JDBC API 視頻講解:光盤\TM\lx\10\JDBC API.exe

JDBC是Java程序操作數(shù)據(jù)庫的標(biāo)準(zhǔn),它由一組用Java語言編寫的類和接口組成,Java通過JDBC可以對多種關(guān)系數(shù)據(jù)庫進(jìn)行統(tǒng)一訪問。所以,學(xué)習(xí)JDBC需要掌握J(rèn)DBC中的類和接口,也就是JDBC API。

10.2.1 Connection接口 Connection接口位于java.sql包中,是與特定數(shù)據(jù)庫的連接會話,只有獲得特定數(shù)據(jù)庫的連接對象,才能訪問數(shù)據(jù)庫,操作數(shù)據(jù)庫中的數(shù)據(jù)表、視圖和存儲過程等。Connection接口的方法聲明及說明如表10.1所示。

表10.1 Connection接口的方法聲明及說明

方 法 聲 明

說 明

void close() throws SQLException

立即釋放Connection對象的數(shù)據(jù)庫連接占用的JDBC資源,在操作數(shù)據(jù)庫后,應(yīng)立即調(diào)用此方法

void commit() throws SQLException

提交事務(wù),并釋放Connection對象當(dāng)前持有的所有數(shù)據(jù)庫鎖。當(dāng)事務(wù)被設(shè)置為手動提交模式時,需要調(diào)用該方法提交事務(wù)

Statement createStatement() throws SQLException

創(chuàng)建一個Statement對象來將SQL語句發(fā)送到數(shù)據(jù)庫,該方法返回Statement對象

續(xù)表

方 法 聲 明

說 明

boolean getAutoCommit() throws SQLException

用于判斷Connection對象是否被設(shè)置為自動提交模式,該方法返回布爾值

DatabaseMetaData getMetaData() throws SQLException

獲取Connection對象所連接的數(shù)據(jù)庫的元數(shù)據(jù)DatabaseMetaData對象,元數(shù)據(jù)包括關(guān)于數(shù)據(jù)庫的表、受支持的SQL 語法、存儲過程、此連接功能等信息

int getTransactionIsolation() throws SQLException

獲取Connection對象的當(dāng)前事務(wù)隔離級別

boolean isClosed() throws SQLException

判斷Connection對象是否與數(shù)據(jù)庫斷開連接,該方法返回布爾值。需要注意的是,如果Connection對象與數(shù)據(jù)庫斷開連接,則不能再通過Connection對象操作數(shù)據(jù)庫

boolean isReadOnly() throws SQLException

判斷Connection對象是否為只讀模式,該方法返回布爾值

PreparedStatement prepareStatement(String sql) throws SQLException

將參數(shù)化的SQL語句預(yù)編譯并存儲在PreparedStatement對象中,并返回所創(chuàng)建的這個PreparedStatement對象

void releaseSavepoint(Savepoint savepoint) throws SQLException

從當(dāng)前事務(wù)中移除指定的Savepoint和后續(xù)Savepoint對象

void rollback() throws SQLException

回滾事務(wù),并釋放Connection對象當(dāng)前持有的所有數(shù)據(jù)庫鎖。注意,該方法需要應(yīng)用于Connection對象的手動提交模式中

void rollback(Savepoint savepoint) throws SQLException

回滾事務(wù),針對Savepoint對象之后的更改

void setAutoCommit(boolean autoCommit) throws SQLException

設(shè)置Connection對象的提交模式,如果參數(shù)autoCommit的值設(shè)置為true,Connection對象則為自動提交模式;如果參數(shù)autoCommit的值設(shè)置為false,Connection對象則為手動提交模式

void setReadOnly(boolean readOnly) throws SQLException

將Connection對象的連接模式設(shè)置為只讀,該方法用于對數(shù)據(jù)庫進(jìn)行優(yōu)化

Savepoint setSavepoint() throws SQLException

在當(dāng)前事務(wù)中創(chuàng)建一個未命名的保留點,并返回這個保留點對象

Savepoint setSavepoint(String name) throws SQLException

在當(dāng)前事務(wù)中創(chuàng)建一個指定名稱的保留點,并返回這個保留點對象

void setTransactionIsolation(int level) throws SQLException

設(shè)置Connection對象的事務(wù)隔離級別

10.2.2 DriverManager類 使用JDBC操作數(shù)據(jù)庫,需要使用數(shù)據(jù)庫廠商提供的驅(qū)動程序,通過驅(qū)動程序可以與數(shù)據(jù)庫進(jìn)行交互。DriverManager類主要作用于用戶及驅(qū)動程序之間,它是JDBC中的管理層,通過DriverManager類可以管理數(shù)據(jù)庫廠商提供的驅(qū)動程序,并建立應(yīng)用程序與數(shù)據(jù)庫之間的連接,其方法聲明及說明如表10.2所示。

表10.2 DriverManager類的方法聲明及說明

方 法 聲 明

說 明

public static void deregisterDriver(Driver driver) throws SQLException

從DriverManager的管理列表中刪除一個驅(qū)動程序。參數(shù)driver為要刪除的驅(qū)動對象

public static Connection getConnection(String url) throws SQLException

根據(jù)指定數(shù)據(jù)庫連接URL,建立與數(shù)據(jù)庫連接Connection。參數(shù)url為數(shù)據(jù)庫連接URL

public static Connection getConnection(String url,Properties info) throws SQLException

根據(jù)指定數(shù)據(jù)庫連接URL及數(shù)據(jù)庫連接屬性信息建立數(shù)據(jù)庫連接Connection。參數(shù)url為數(shù)據(jù)庫連接URL,參數(shù)info為數(shù)據(jù)庫連接屬性

public static Connection getConnection(String url, String user, String password) throws SQLException

根據(jù)指定數(shù)據(jù)庫連接URL、用戶名及密碼建立數(shù)據(jù)庫連接Connection。參數(shù)url為數(shù)據(jù)庫連接URL,參數(shù)user為連接數(shù)據(jù)庫的用戶名,參數(shù)password為連接數(shù)據(jù)庫的密碼

public static Enumeration getDrivers()

獲取當(dāng)前DriverManager中已加載的所有驅(qū)動程序,它的返回值為Enumeration

public static void registerDriver(Driver driver) throws SQLException

向DriverManager注冊一個驅(qū)動對象,參數(shù)driver為要注冊的驅(qū)動

10.2.3 Statement接口 在創(chuàng)建了數(shù)據(jù)庫連接之后,就可以通過程序來調(diào)用SQL語句對數(shù)據(jù)庫進(jìn)行操作,在JDBC中Statement接口封裝了這些操作。Statement接口提供了執(zhí)行語句和獲取查詢結(jié)果的基本方法,其方法聲明及說明如表10.3所示。

表10.3 Statement接口的方法聲明及說明

方 法 聲 明

說 明

void addBatch(String sql) throws SQLException

將SQL語句添加到Statement對象的當(dāng)前命令列表中,該方法用于SQL命令的批處理

void clearBatch() throws SQLException

清空Statement對象中的命令列表

void close() throws SQLException

立即釋放Statement對象的數(shù)據(jù)庫和JDBC資源,而不是等待該對象自動關(guān)閉時發(fā)生此操作

boolean execute(String sql) throws SQLException

執(zhí)行指定的SQL語句。如果SQL語句返回結(jié)果,該方法返回true,否則返回false

int[] executeBatch() throws SQLException

將一批SQL命令提交給數(shù)據(jù)庫執(zhí)行,返回更新計數(shù)組成的數(shù)組

ResultSet executeQuery(String sql) throws SQLException

執(zhí)行查詢類型(select)的SQL語句,該方法返回查詢所獲取的結(jié)果集ResultSet對象

續(xù)表

方 法 聲 明

說 明

executeUpdate int executeUpdate(String sql) throws SQLException

執(zhí)行SQL語句中DML類型(insert、update、delete)的SQL語句,返回更新所影響的行數(shù)

Connection getConnection() throws SQLException

獲取生成Statement對象的Connection對象

boolean isClosed() throws SQLException

判斷Statement對象是否已被關(guān)閉,如果被關(guān)閉,則不能再調(diào)用該Statement對象執(zhí)行SQL語句,該方法返回布爾值

10.2.4 PreparedStatement接口 Statement接口封裝了JDBC執(zhí)行SQL語句的方法,它可以完成Java程序執(zhí)行SQL語句的操作,但在實際開發(fā)過程中,SQL語句往往需要將程序中的變量做查詢條件參數(shù)等。使用Statement接口進(jìn)行操作過于煩瑣,而且存在安全方面的缺陷,針對這一問題,JDBC API中封裝了Statement的擴(kuò)展PreparedStatement對象。

PreparedStatement接口繼承于Statement接口,它擁有Statement接口中的方法,而且PreparedStatement接口針對帶有參數(shù)SQL語句的執(zhí)行操作進(jìn)行了擴(kuò)展。應(yīng)用于PreparedStatement接口中的SQL語句,可以使用占位符“?”來代替SQL語句中的參數(shù),然后再對其進(jìn)行賦值。PreparedStatement接口的方法聲明及說明如表10.4所示。

網(wǎng)友評論(不代表本站觀點)

來自匿名用**的評論:

不錯,還沒有仔細(xì)看

2017-11-11 16:39:55
來自匿名用**的評論:

大三暑假的時候粗略的看過一遍,應(yīng)付學(xué)校的作業(yè)。現(xiàn)在導(dǎo)師接了JavaWeb的項目,只能再看一遍,熟悉一遍JavaWeb開發(fā)流程和技術(shù)。這本書很不錯,特別適合新手,有代碼有講解,特別推薦。。。隨便說一句我才看了一個小時就發(fā)現(xiàn)了好幾處錯誤,單詞少字母,調(diào)用函數(shù)少“.”不過不影響使用。

2017-06-27 13:28:02
來自y***3(**的評論:

你說昨天到,結(jié)果今天到。。。,要不就別承諾

2017-07-05 12:29:27
來自***(匿**的評論:

阿榮好辛苦很殘酷

2017-07-10 09:42:50
來自匿名用**的評論:

送貨不到位,還要讓別人跑出去取

2017-07-26 14:32:25
來自匿名用**的評論:

快遞辣雞,書也辣雞。加了幾個HTML5和出CSS3就敢出第二版,忽悠。

2017-08-09 07:10:13
來自saga826**的評論:

很基礎(chǔ),很實用,非常好。

2017-09-09 09:21:11
來自無昵稱**的評論:

很好,很滿意。

2017-09-15 22:38:56
來自無昵稱**的評論:

昨天拆開,才發(fā)現(xiàn)里面沒光盤,只能說太差了

2017-10-10 14:17:52
來自匿名用**的評論:

正版圖書,印刷非常好,快遞非常快,非常滿意,后邊有需要還會來,滿意!

2017-10-24 14:32:38
來自無昵稱**的評論:

剛打開書,書頁就成這樣了……再次對當(dāng)當(dāng)失望

2017-10-28 21:46:43
來自無昵稱**的評論:

書不錯,基礎(chǔ)東西,光盤講解員實在很差,講解很差。

2017-09-27 14:46:46

免責(zé)聲明

更多出版社
主站蜘蛛池模板: 大石桥市| 色达县| 柳江县| 东丽区| 德令哈市| 东方市| 大渡口区| 贵港市| 江川县| 保康县| 青冈县| 新沂市| 区。| 龙江县| 铅山县| 武穴市| 阜城县| 泰和县| 梁河县| 同德县| 奈曼旗| 南丰县| 淮安市| 虹口区| 巨野县| 昌乐县| 衢州市| 白山市| 雷波县| 彩票| 桐庐县| 台前县| 印江| 柘荣县| 万安县| 红安县| 泰安市| 望都县| 黄大仙区| 盐城市| 盘锦市|