Java Web快速入門教程.ppt_第1頁(yè)
Java Web快速入門教程.ppt_第2頁(yè)
Java Web快速入門教程.ppt_第3頁(yè)
Java Web快速入門教程.ppt_第4頁(yè)
Java Web快速入門教程.ppt_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、WEB工程 (JAVA WEB快速入門),內(nèi)容結(jié)構(gòu),WEB原理 HTML知識(shí) 搭建服務(wù)器、 servlet 處理表單 JSP 保持會(huì)話 頁(yè)面跳轉(zhuǎn) 共享數(shù)據(jù)( Request /session/ application ) JAVAbeans 連接數(shù)據(jù)庫(kù),1 WEB 原理 B/S結(jié)構(gòu),瀏覽器,Browser,SERVER,靜態(tài)網(wǎng)頁(yè),HTTP:/WWW.SOHU.COM,輸入網(wǎng)址,請(qǐng)求,響應(yīng),WEB 原理 B/S結(jié)構(gòu),瀏覽器,Browser,SERVER,動(dòng)態(tài)網(wǎng)頁(yè),HTTP:/WWW.SOHU.COM,輸入網(wǎng)址,靜態(tài)內(nèi)容,請(qǐng)求,響應(yīng),2 HTML 知識(shí)-文檔結(jié)構(gòu), 主要內(nèi)容放在這里 ,頭, you

2、rtitle ,2 HTML-常用標(biāo)簽,文本標(biāo)簽 創(chuàng)建最大的標(biāo)題 創(chuàng)建最小的標(biāo)題 創(chuàng)建黑體字 創(chuàng)建斜體字 創(chuàng)建打字機(jī)風(fēng)格的字體 設(shè)置字體大小,從1到7 設(shè)置字體的顏色,使用名字或十六進(jìn)制值 ,鏈接,創(chuàng)建一個(gè)超鏈接 創(chuàng)建一個(gè)自動(dòng)發(fā)送電子郵件的鏈接 .,格式排版,創(chuàng)建一個(gè)新的段落 將段落按左、中、右對(duì)齊 插入一個(gè)回車換行符 從兩邊縮進(jìn)文本 創(chuàng)建一個(gè)定義列表 放在每個(gè)定義術(shù)語(yǔ)詞之前 放在每個(gè)定義之前 創(chuàng)建一個(gè)標(biāo)有數(shù)字的列表 放在每個(gè)數(shù)字列表項(xiàng)之前,并加上一個(gè)數(shù)字 創(chuàng)建一個(gè)標(biāo)有圓點(diǎn)的列表 放在每個(gè)圓點(diǎn)列表項(xiàng)之前,并加上一個(gè)圓點(diǎn) 一個(gè)用來排版大塊HTML段落的標(biāo)簽,也用于格式化表 ,圖形元素,添加一個(gè)圖

3、像 加入一條水平線 ,表格,創(chuàng)建一個(gè)表格 開始表格中的每一行 開始一行中的每一個(gè)格子 設(shè)置表格頭:一個(gè)通常使用黑體居中文字的格子 ,表單,創(chuàng)建所有表單 創(chuàng)建一個(gè)下拉菜單 設(shè)置每個(gè)菜單項(xiàng)的內(nèi)容 創(chuàng)建一個(gè)文本框區(qū)域,列的數(shù)目設(shè)置寬度,行的數(shù)目設(shè)置高度 創(chuàng)建一個(gè)復(fù)選框,文字在標(biāo)簽后面 創(chuàng)建一個(gè)單選框,文字在標(biāo)簽后面 創(chuàng)建一個(gè)單行文本輸入?yún)^(qū)域,size設(shè)置以字符計(jì)的寬度 創(chuàng)建一個(gè)submit(提交)按鈕 創(chuàng)建一個(gè)使用圖象的submit(提交)按鈕 創(chuàng)建一個(gè)reset(重置)按鈕 ,3 搭建TOMCAT服務(wù)器,配置環(huán)境變量tomcat_home 及 java_home到tomcat和java的安裝目錄

4、到tomat的bin 子目錄下,運(yùn)行startup.bat :8080/ 在tomcat的webapps下創(chuàng)建自己的應(yīng)用程序 :8080/bbs/hello.html,內(nèi)容結(jié)構(gòu),WEB原理 HTML知識(shí) 搭建服務(wù)器、 servlet 處理表單 JSP 保持會(huì)話 頁(yè)面跳轉(zhuǎn) 共享數(shù)據(jù)( Request /session/ application ) JAVAbeans 連接數(shù)據(jù)庫(kù),4 servlet,純JAVA類 可以響應(yīng)HTTP請(qǐng)求 生存在“容器”中 有一些方法被容器調(diào)用,內(nèi)容結(jié)構(gòu),WEB原理 HTML知識(shí) 搭建服務(wù)器、 servlet

5、 處理表單 JSP 保持會(huì)話 頁(yè)面跳轉(zhuǎn) 共享數(shù)據(jù)( Request /session/ application ) JAVAbeans 連接數(shù)據(jù)庫(kù),5 處理表單,表單頁(yè)面: 服務(wù)器端: String user=request.getParameter(user); out.println(user);,內(nèi)容結(jié)構(gòu),WEB原理 HTML知識(shí) 搭建服務(wù)器、 servlet 處理表單 JSP 保持會(huì)話 頁(yè)面跳轉(zhuǎn) 共享數(shù)據(jù)( Request /session/ application ) JAVAbeans 連接數(shù)據(jù)庫(kù),6 Java Server Pages,可以嵌入java語(yǔ)言的網(wǎng)頁(yè) 擴(kuò)展名一般為.j

6、sp 是一種特殊的SERVLET 被服務(wù)器翻譯成servlet,然后再編譯運(yùn)行,JSP支持的網(wǎng)頁(yè)元素, 腳本 表達(dá)式 聲明 指令 動(dòng)作,JSP內(nèi)置對(duì)象,Out Request Response session application,內(nèi)容結(jié)構(gòu),WEB原理 HTML知識(shí) 搭建服務(wù)器、 servlet 處理表單 JSP 保持會(huì)話 頁(yè)面跳轉(zhuǎn) 共享數(shù)據(jù)( Request /session/ application ) JAVAbeans 連接數(shù)據(jù)庫(kù),7 保持會(huì)話-讓服務(wù)器記住你,Cookies 服務(wù)器生成唯一的ID(cookie)發(fā)到客戶端 Session 服務(wù)器生成唯一的ID(session id)

7、發(fā)到客戶端,設(shè)置Cookie, index.jsp,表單端, 0) for (int n = 0; n , / ,session, 您好:, index.jsp,內(nèi)容結(jié)構(gòu),WEB原理 HTML知識(shí) 搭建服務(wù)器、 servlet 處理表單 JSP 保持會(huì)話 頁(yè)面跳轉(zhuǎn) 共享數(shù)據(jù)( Request /session/ application ) JAVAbeans 連接數(shù)據(jù)庫(kù),8 頁(yè)面跳轉(zhuǎn),通過超鏈接,點(diǎn)擊 自動(dòng) 重定向response.sendRedirect(index.jsp); 請(qǐng)求轉(zhuǎn)發(fā) RequestDispatcher rd=request.getRequestDispatcher(in

8、dex.jsp); rd.forward(request, response);,9共享數(shù)據(jù),Request / session/ application,10 JAVAbeans,JAVA組件技術(shù) 規(guī)范:Set和GET方法, :,-Input.html - Name: password: - Introspection.jsp - ”/ :,11 連接數(shù)據(jù)庫(kù),JDBC API是為數(shù)據(jù)庫(kù)開發(fā)人員提供的一些個(gè)可編程的接口。供程序員編程使用的常用的接口有: java.sql.DriverManager :處理驅(qū)動(dòng)器的加載、數(shù)據(jù)庫(kù)連接的建立。 java.sql.Connection : 處理特定數(shù)據(jù)

9、庫(kù)的連接。 java.sql.Statement : 處理數(shù)據(jù)庫(kù)連接中的SQL語(yǔ)句。有2個(gè)子接口 java.sql.PreparedStatement :用于處理帶有參數(shù)的SQL語(yǔ)句。 java.sql.CallableStatement : 用于處理數(shù)據(jù)庫(kù)存儲(chǔ)過程 java.sql.Result : 用于處理數(shù)據(jù)庫(kù)操作的結(jié)果集。,使用JDBC,JDBC基本應(yīng)用,使用JDBC的第一步是指定數(shù)據(jù)庫(kù)所需要的特定的JDBC驅(qū)動(dòng)程序。主要有二種方式可以完成此操作。 第一種方式是顯式地裝載JDBC驅(qū)動(dòng)程序,只需要一行代碼,例如: Class.forName(sun.jdbc.odbc.JdbcOdbcD

10、river); 另一種方式是直接調(diào)用DriverManager類的registerDriver()方法。例如: DriverManager. registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver();,一、裝載驅(qū)動(dòng)程序,上述代碼會(huì)將JDBC-ODBC橋驅(qū)動(dòng)程序裝載到Java運(yùn)行環(huán)境。具體是:系統(tǒng)調(diào)用DriverManager類的registerDriver()方法,該方法生成和管理JDBC驅(qū)動(dòng)程序的實(shí)例。若選用的JDBC驅(qū)動(dòng)程序不存在或存放位置不在CLASSPATH內(nèi),上述代碼會(huì)拋出ClassNotFoundException異常,因此通常要把此句封閉

11、在try/catch塊中。,使用JDBC,JDBC基本應(yīng)用,一旦裝載了數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,第二步是建立到數(shù)據(jù)庫(kù)的連接。這是通過DriverManager類的getConnection()方法來完成的。例如: Connection conn=DriverManager.getConnection( jdbc:odbc:myodbc, username,password) 在三個(gè)參數(shù)中,最重要的是用來指定數(shù)據(jù)源的URL。 JDBC數(shù)據(jù)源URL JDBC數(shù)據(jù)源使用的URL語(yǔ)法的形式為: jdbc: 其中jdbc表示使用的協(xié)議是jdbc, sunprotocol字段表示使用的JDBC驅(qū)動(dòng)程序名, subn

12、ame是根據(jù)子協(xié)議而確定的參數(shù)字符串。,二、建立數(shù)據(jù)庫(kù)連接,使用JDBC,JDBC基本應(yīng)用,常見的JDBC數(shù)據(jù)源URL jdbc:oracle:thin:host:1521:mydb 描述了一個(gè)Oracle數(shù)據(jù)庫(kù)的連接URL。該URL使用的子協(xié)議是oracle,Oracle的JDBC驅(qū)動(dòng)程序有兩種,oci和thin,后面是數(shù)據(jù)庫(kù)主機(jī)名稱、服務(wù)器偵聽接口和數(shù)據(jù)庫(kù)安全標(biāo)識(shí)符SID; jdbc:borland:dslocal:D:testDBemployee.jds描述了一個(gè)Borland公司的數(shù)據(jù)庫(kù)產(chǎn)品JDataStore的數(shù)據(jù)源。子協(xié)議是borland,數(shù)據(jù)源是一個(gè)本地?cái)?shù)據(jù)庫(kù),存放在D:test

13、DBemployee.jds ; jdbc:mysql:/www.mycompany.con/db/MyDB描述了一個(gè)MySQL數(shù)據(jù)源。子協(xié)議是mysql,數(shù)據(jù)庫(kù)定位在/www.mycompany.con/db/MyDB ; jdbc:odbc:myOdbcDataODBC數(shù)據(jù)源,子協(xié)議odbc,ODBC數(shù)據(jù)源名為myOdbcData ;,二、建立數(shù)據(jù)庫(kù)連接,使用JDBC,Statement 如果已經(jīng)裝載了數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序并創(chuàng)建了數(shù)據(jù)庫(kù)連接conn,現(xiàn)在可以向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送SQL語(yǔ)句。這是通過創(chuàng)建Statement對(duì)象來完成的。可使用Connection對(duì)象的createStatement()

14、方法創(chuàng)建該對(duì)象,例如: Statement stmt=conn.createStatement(); PreparedStatement 如果需要向數(shù)據(jù)庫(kù)服務(wù)器傳遞帶參數(shù)的SQL,則應(yīng)使用PreparedStatement對(duì)象,該對(duì)象是由Connection對(duì)象的repareStatement()方法生成的,例如: String sql= select * from employee where salary?; PreparedStatement stmt= conn.prepareStatement(sql); CallableStatement 如果需要調(diào)用數(shù)據(jù)庫(kù)的存儲(chǔ)過程,則需要?jiǎng)?chuàng)建C

15、allableStatement對(duì)象來達(dá)到這一目的: String callProc=call myproc; CallableStatement cstmt=conn.prepareCall(callProc);,三、建立Statement對(duì)象,使用JDBC,一旦創(chuàng)建了Statement對(duì)象,下一步是把SQL發(fā)送到數(shù)據(jù)庫(kù)。Statement對(duì)象有兩個(gè)主要的方法用于此目的。使用哪個(gè)方法取決于是否需要返回結(jié)果。 executeQuery() 對(duì)于需要返回結(jié)果集的SELECT語(yǔ)句,應(yīng)當(dāng)使用executeQuery()方法,該方法只有一個(gè)字符串參數(shù),用來存放SELECT語(yǔ)句,查詢成功則以Result

16、Set對(duì)象的形式返回查詢結(jié)果。例如:String sql=select * from students;ResultSet rs=stmt.executeQuery(sql); executeUpdate()方法 如果調(diào)用INSERT、UPDATE、DELETE不需返回查詢結(jié)果的SQL語(yǔ)句,應(yīng)采用executeUpdate()方法。 executeUpdate()方法也只接受String類型的SQL語(yǔ)句作參數(shù),返回類型為int。如果返回值為0則表示SQL語(yǔ)句不返回任何數(shù)據(jù),否則返回?cái)?shù)據(jù)庫(kù)中受到INSERT、UPDATE、DELETE語(yǔ)句影響的數(shù)據(jù)行數(shù)。例如:String sql=DELETE

17、FROM STUDENT WHERE SCORE =60;int ret=stmt.executeUpdate(sql);,四、發(fā)送SQL語(yǔ)句,使用JDBC,盡管不是必須的,但及時(shí)關(guān)閉到數(shù)據(jù)庫(kù)的連接是一個(gè)很好的習(xí)慣。這樣就確保及時(shí)釋放用于連接數(shù)據(jù)庫(kù)的相應(yīng)的資源。及時(shí)將寶貴的數(shù)據(jù)庫(kù)連接歸還給DBMS,可提高數(shù)據(jù)庫(kù)并發(fā)處理能力。 JDBC的Statement和Connection對(duì)象都有一個(gè)close()方法用于此目的。例如:stmt.close(); conn.close(),五、關(guān)閉數(shù)據(jù)連接,使用JDBC,JDBC基本應(yīng)用,當(dāng)發(fā)送的SQL語(yǔ)句SELECT語(yǔ)句時(shí),返回的是ResultSet對(duì)象表

18、示的結(jié)果集,它包含了返回?cái)?shù)據(jù)的行和列。,六、檢索數(shù)據(jù),使用JDBC,六、檢索數(shù)據(jù),遍歷ResultSet對(duì)象 ResultSet對(duì)象提供了可以逐行移動(dòng)的游標(biāo)。最初,游標(biāo)位于數(shù)據(jù)集的第一行的前面,并且可以通過使用next()方法每次向前移動(dòng)一行。next()方法的返回類型boolean,表示游標(biāo)指向一行數(shù)據(jù)。 隨著游標(biāo)的移動(dòng),可以通過getXXX方法獲取當(dāng)前行中各數(shù)據(jù)列中的數(shù)據(jù)。根據(jù)列的數(shù)據(jù)類型,采用不同的獲取方法。例如getString()、getDate()、getInt()等。這些方法的參數(shù)有一個(gè),可以是表示列名的String類型,也可以是相應(yīng)的列號(hào)的int類型。需要注意的是列名是大小寫敏感的,列的序號(hào)是從1開始的。,使用JDBC,常用while或for循環(huán)遍歷ResultSet對(duì)象,而do循環(huán)不太合適: String sql

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論