jsp程序設(shè)計期末復(fù)習(xí)整理_第1頁
jsp程序設(shè)計期末復(fù)習(xí)整理_第2頁
jsp程序設(shè)計期末復(fù)習(xí)整理_第3頁
jsp程序設(shè)計期末復(fù)習(xí)整理_第4頁
jsp程序設(shè)計期末復(fù)習(xí)整理_第5頁
免費預(yù)覽已結(jié)束,剩余8頁可下載查看

下載本文檔

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

文檔簡介

1、什么是 JSPJSP(Java Server Page)s 是基于 Java 語言的一種 Web 應(yīng)用開發(fā)技術(shù)。利用這一技術(shù)可 以建立安全、跨平臺、易維護的 Web 應(yīng)用程序 ss網(wǎng)絡(luò)應(yīng)用中最常見的模式是 B/S模式(Browser / Sever即瀏覽器/服務(wù)器)B/S模式中即需要獲取信息的用戶使用瀏覽器向服務(wù)器發(fā)出請求,服務(wù)器對此做出響 應(yīng),將有關(guān)信息發(fā)送給用戶的瀏覽器基于B/S模式的網(wǎng)絡(luò)程序的核心就是設(shè)計服務(wù)器端的Web應(yīng)用程序。JSP引擎與Tomcat服務(wù)器JSP的核心內(nèi)容之一就是編寫JSF頁面,JSP頁面是Web應(yīng)用程序的重要組成部分之一。 簡單Web應(yīng)用程序可能只有一個JSF頁面。

2、復(fù)雜的 Web應(yīng)用程序可能由許多JSF頁面、Javabean和servlet組成。當用戶請求 Web服 務(wù)器上的JSP頁面時,JSF引擎負責運行JSP并將運行結(jié)果返回給用戶?!鞍惭b向?qū)А苯缑?,單擊其中的Next按鈕,接受授權(quán)協(xié)議后,將出現(xiàn)選擇“安裝方式” 的界面。在“安裝方式”界面中選擇 Norma、Minimun、Custom和Full之一,然后按著安 裝向?qū)У奶崾具M行安裝即可。網(wǎng)頁瀏覽過程打開瀏覽器 -輸入網(wǎng)址 -打開網(wǎng)頁-瀏覽器是 網(wǎng)頁瀏覽的工具-輸入網(wǎng)址是向網(wǎng)站服務(wù)器發(fā)出請求-打開網(wǎng)頁是接收服務(wù)器發(fā)送的網(wǎng)頁靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁網(wǎng)頁分為靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁,動態(tài)與靜態(tài)是相對的靜態(tài)網(wǎng)頁:靜態(tài)網(wǎng)

3、頁是事先做好并存放于服務(wù)器中的文件,無論是否被訪問,都是 個獨立存在的文件;靜態(tài)網(wǎng)頁使用語言:HTML超文本標記語言);靜態(tài)網(wǎng)站沒有數(shù)據(jù)庫的支持,在網(wǎng)站制作和維護方面工作量較大; 由于不需通過數(shù)據(jù)庫工作,訪問速度比較快;靜態(tài)網(wǎng)頁的交互性差動態(tài)網(wǎng)頁: 動態(tài)網(wǎng)頁實際上并不是獨立存在于服務(wù)器上的網(wǎng)頁文件,只有當用戶請求 時服務(wù)器才返回一個完整的網(wǎng)頁;動態(tài)網(wǎng)頁以數(shù)據(jù)庫技術(shù)為基礎(chǔ),降低網(wǎng)站維護的工作量;動態(tài)網(wǎng)頁技術(shù)分為客戶端和服務(wù)器端常見動態(tài)網(wǎng)頁技術(shù): JSP, PHP, ASP(.net)ASPActive Server PageJSP-JavaServer Page(一種動態(tài)網(wǎng)頁技術(shù)標準。在傳統(tǒng)的網(wǎng)

4、頁 HTML文件(*.htm,*.html)中加入 Java程序片段(Scriptiet)和 JSP標記(tag),就構(gòu)成了 JSP網(wǎng)頁(*jsp)。)Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié) 果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送email等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏 覽器的要求最低,可以實現(xiàn)無 P lug in,無ActiveX,無Java Apple,甚至無FrameJSP動態(tài)網(wǎng)頁技術(shù)優(yōu)勢業(yè)務(wù)邏輯和顯示分離 多平臺支持及高可移植性 開

5、發(fā)便利安全 較高的效率與性能 較低的開發(fā)和運營成本使用JSP®行開發(fā),需要具備以下的運行環(huán)境:Web瀏覽器JDK開發(fā)工具包數(shù)據(jù)庫Web服務(wù)器JSP頁面普通的 HTML 標記符;JSP標記,如指令標記、動作標記; 變量和方法的聲明;Java程序片;Java表達式 ;JSP頁面可由5種元素組合而成:JSP頁面的運行原理:把JSP頁面中普通的HTML標記符號,交給客戶的瀏覽器執(zhí)行顯示。JSP標記、數(shù)據(jù)和方法聲明、Java程序片由Tomcat服務(wù)器負責執(zhí)行,將需要顯示的結(jié)果發(fā) 送給客戶的瀏覽器。Java表達式由Tomcat服務(wù)器負責計算,將結(jié)果轉(zhuǎn)化為字符串,交給客戶的瀏覽器負責顯 示。1.在

6、JSP頁面的標記符“<%!和”“> ” 有效范圍和標識符的位置無關(guān)之間聲明的變量稱作JSP頁面的成員變量(變量類型可以是 java允許的任何數(shù)據(jù)類型)。 之間聲明方法。該方法在整個JSP頁面有效<%=”和“ %>”之間可以是一個 Java 表達式 。表達式的值由服務(wù)器負責計算,并將計算結(jié)果用字符串形式發(fā)送到客戶端顯示1. HTML注釋格式:-><!-注釋內(nèi)容2. JSP注釋格式:<%- 注釋內(nèi)容 -%>II;定義JSP頁面使用的腳本語言,該屬性的值目前只能取"java"。例如:<% page language="

7、;java" %>注:JSP頁面默認有如上page指令。Imp Ort引入Java運行環(huán)境提供的包中的類 例如 :注:JSF頁面默認 import 屬性已經(jīng)有“ java.Iang.*”、“javax.servlet.*” 等值。con te ntType 屬性值確定 JSF頁面響應(yīng)的 MIME( Multi purpose In ternet Mail Exte ntio n )類型 和JSP頁面字符的編碼。例如 :<% page contentType="text/html;charset=GB2312" %><% page conte

8、ntType="application/msword" %>注:不允許兩次使用Page指令給contentType屬性指定不同的屬性值.session 屬性true。用于設(shè)置是否需要使用內(nèi)置的 session對象。session的屬性值可以是true或false。session 屬性默認的屬性值是buffer 屬性out 設(shè)置的緩沖區(qū)的大小或不使用緩沖區(qū)。“ 24kb” %>buffer 屬性用來指定<% page buffer=buffer 屬性的默認值是 8kb 。buffer屬性可以取值“ none”,設(shè)置out不使用緩沖區(qū)。autoFlush 屬性

9、:指定 out 的緩沖區(qū)被填滿時,緩沖區(qū)是否自動刷新。注:autoFlush屬性的默認值是true。isThreadSafe 屬性:用來設(shè)置JSP頁面是否可多線程訪問。注:isThreadSafe屬性的默認值是 屬性的屬性值是一個字符串,其目的是為JSP頁面準備一個常用且可能需要經(jīng)常修改的字符串例如:<% page info= “ we are students ” %>注:可以在JSP頁面中使用方法: getServletInfo(); 獲取 info 屬性的屬性值。<% page contentType=” text/html;charset=gb231

10、2”%> <html><body><% include file=”hello.txt”%></body></html>include 動作標記語法格式:<jsp:include page= "文件的 URL"/> 或<jsp:include page= "文件的 URL">param 子標記</jsp:include>in elude動作標記告訴JSP頁面動態(tài)加載一個文件。注:in elude動作標記是在JSP頁面運行時才處理文件,被處理的文件在邏輯和

11、語法上 獨立于當前JSF頁面。Param動作標記 forward動作標記 plugin動作標記 useBean動作標記內(nèi)置對象內(nèi)置對象有: resquest、response、session、out 、 applieationrequest 對象可以獲取用戶提交的信息。 request 對象獲取用戶提交信息的最常用的方法是 getParameter(String s).一般格式是:<FORM method=get|post aetion=" 提交信息的目的地頁面 "> 提交手段</FORM>例如用戶提交信息表單:<FORM aetion=&qu

12、ot;tom.jsp" method=post ><INPUT type="text" name="boy" value="ok" >vINPUT TYP E="submit" value=g 出"n ame="submit"></FORM>tom.jsp 頁面可以使用內(nèi)置 request 對象獲得用戶提交的信息 request.getParameter("boy");當用 request 對象獲取用戶提交的漢字字符時

13、,會出現(xiàn)亂碼問題 ,所以對含有漢字 字符的信息必須進行特殊的處理String str=request.getParameter("girl");byte b=str.getBytes("ISO-8859-1");str=new String(b);getP rotocol():獲取請求使用的通信協(xié)議,如 htt p/1.1等。 getServletPath():獲取請求的JSF頁面所在的目錄。getContentLength():獲取 HTTP請求的長度。getMethod():獲取表單提交信息的方式,如POST或GETgetHeader(Stri ng

14、 s):獲取請求中頭的值。getHeaderNamesO獲取頭名字的一個枚舉。 getHeaders(String s) 獲取頭的全部值的一個枚舉。getRemoteAddrO:獲取客戶的IP地址。getRemoteHost():獲取客戶機的名稱(如果獲取不到,就獲取IP地址).getServerNameO:獲取服務(wù)器的名稱。getServerPortO:獲取服務(wù)器的端口號。getParameterNamesO獲取表單提交的信息體部分中name參數(shù)值的一個枚舉.1=1 oHTML是Hypertext Marked Language的縮寫,即超文本標記語言。vinput type="輸

15、入對象的GUI類型"name="名字">服務(wù)器通過屬性name指定的名字來獲取“輸入對象的 GUI類型”中提交的數(shù)據(jù)?!拜?入對象的GUI類型”可以是:text (文本框)、checkbox (檢查框)、submit (提交鍵)等。 文本框 text:<Input type="text" name="me" value="hi" size= "9" align= "left" maxlength="30"> 單選框 radio:

16、<Input type="radio" name="rad" value="red" align="top" checked="java">復(fù)選框 checkbox :<Input type="checkbox" name="ch" value="pink" align="top" checked="java">口令框 password:<Input type=&qu

17、ot;password" name="me" size="12" maxlength="30"> 隱藏 hidden:<Input type="hidden" name="h" value="123">提交鍵 submit:vlnput type="submit" name="me" value="確定"size="12">重置鍵: reset:<Input

18、 type="reset">處理 HTML 標記_vSelect>、vOption>格式1)下拉列表<Select name="shulie" ><Option value="cat"> 你選了小貓<Option value="dog"> 你選了小狗</Select>(2)滾動列表:在 Select中指定size屬性的值就變成滾動列表,size的值是滾動列表的可見行 的個數(shù)。<Select name="shulie" siz

19、e=2>vOption value二"1">計算1到n的連續(xù)和vOption value二"2">計算1到n的平方和 v/Select>vTextArea> 標記在表單中指定一個能輸入多行文本的文本區(qū)域。 基本格式為:vTextArea name= "ilovethisgame" Rows= "4" Cols= "20">v/TextArea> 表格由 vtable>、 v/table> 標記定義。一般格式: vtable>vtr wi

20、dth=" 該行的寬度 ">vth width= " 單元格的寬度 " >單元格中的數(shù)據(jù) v/th>vtd width= " 單元格的寬度 " >單元格中的數(shù)據(jù) v/td> v/tr>v/table>其中vtr> v/tr>定義表格的一個行,vth>或vtd>標記定義這一行中的表格單元, 者的區(qū)別是:vth>定義的單元加重顯示,vtd>稱做普通單元,不加重顯示。一行中的加重單元 和普通單元可以交替出現(xiàn),也可以全是加重單元或普通單元。vtable border

21、=1>中增加選項border可指明該表格是否帶有邊框。使用vimg>或viamge>標記都可以顯示一副圖象,標記的基本格式為vimg src='圖像文件的URL"才描述文字v/img> vimage src二"圖像文件的URL"才描述文字v/image> 播放音樂和視頻vembed src="音樂或視頻文件的 URL"才描述文字v/embed ><embed>標記中經(jīng)常使用的屬性及取值如下:autostart 屬性的值用來指定音樂或視頻文件傳送完畢后是否立刻播放 , autostart 取

22、值 “true ” 或“ false ,”該屬性的默認值是 false。loop 屬性的取值為正整數(shù) ,該屬性的值用來指定音樂或視頻文件重復(fù)播放的次數(shù)。動態(tài)響應(yīng) contentType 屬性由于page指令只能為contentType屬性指定一個值來決定響應(yīng)的MIME類型。如果想動態(tài)地改變這個屬性的值來響應(yīng)用戶,就需要使用response對象的 setContentType(String s)方法來改變 contentType 的屬性值。public void setContentType(String s)方法動態(tài)設(shè)置響應(yīng)的 MIME類型,參數(shù)s可取: text/html 、text/pla

23、in 、image/gif 、image/x-xbitmap 、image/jpeg 、image/pjpeg 、application/x-shockwave-flash 、 application/vnd.ms-powerpoint 、 application/vnd.ms-excel 、 application/msword 。response 對象可以使用方法:addHeader(String head,String value);或使用方法:setHeader(String head ,String value); 動態(tài)添加新的響應(yīng)頭和頭的值,并將這些頭發(fā)送給用戶的瀏覽器。如果添加的

24、頭已經(jīng)存在, 則先前的頭被覆蓋。例 4-12用戶的重定向。在某些情況下,JSP引擎在響應(yīng)用戶時,可能需要將用戶重新引導(dǎo)至另一個頁面。 例如,如果用戶輸入的表單信息不完整,就會再次被引導(dǎo)到該表單的輸入頁面。使用response對象的sendRedirect(URL url)方法實現(xiàn)用戶的重定向。response 的狀態(tài)行當JSP引擎對用戶請求進行響應(yīng)時,它發(fā)送的首行稱做狀態(tài)行。狀態(tài)行包括 3 位數(shù)字的狀態(tài)代碼和對狀態(tài)代碼的描述(稱做原因短語) 。sessi on 對象內(nèi)置session會話)對象記錄有關(guān)連接的信息.由Tomcat服務(wù)器負責創(chuàng)建。當一個用戶首次訪問 Web服務(wù)目錄中的某個JSF頁面

25、時,JSP引擎為其產(chǎn)生一個session對 象。為用戶產(chǎn)生的session對象調(diào)用相應(yīng)的方法可以存儲用戶在訪問各個頁面期間提交的各 種信息session對象與URL重寫如果用戶端不支持Cookie,那么用戶在不同網(wǎng)頁之間的session對象可能是互不相同的, 因為如果服務(wù)器無法將Id存放到用戶端,就不能建立session對象和用戶的一一一對應(yīng)關(guān)系??梢酝ㄟ^URL重寫來實現(xiàn)session對象的惟一性。所謂URL重寫,就是當用戶從一個 頁面重新鏈接到另一個頁面時,通過向這個新的URL添加參數(shù),把session對象的Id傳帶過去,這樣就可以保障用戶在該網(wǎng)站各個頁面中的session對象是完全相同的。

26、可以使用response 對象調(diào)用 encodeURL(或 encodeRedirectURL(方法實現(xiàn) URL重寫.例4-19中,session對象使用setMaxInactivelnterval(int interval)方法設(shè)置最長的 發(fā)呆”狀態(tài) 時間為 1 0秒。用戶可以通過刷新頁面檢查是否達到了最長的 “發(fā)呆”時間,如果兩次刷新之 間的間隔超過10秒,用戶先前的session將被取消,用戶將獲得一個新的session對象。 使用 session 設(shè)置時間間隔 例 4-20 out 對象out 對象是一個輸出流 ,用來向用戶端輸出數(shù)據(jù)。out 對象可調(diào)用如下的方法用于各種數(shù)據(jù)的輸出,o

27、ut.println(char) 輸出一個字符。 ,out.println(double) 輸出一個雙精度的浮點數(shù)。 out.println(float) 用于輸出一個單精度的浮點數(shù)。 out.println(long) 輸出一個長整型數(shù)據(jù)。out.print(Boolean) , out.println(Boolean) 用于輸出一個布爾值。 out.print(char) , out.print(double) out.print(float) , out.print(long) ,out.print(String) , out.println(String) 輸出一個字符串對象的內(nèi)容。

28、out.newLine() 輸出一個換行符。out.flush() 輸出緩沖區(qū)里的內(nèi)容。out.close() 關(guān)閉流。application 對象 任何客戶在所訪問的服務(wù)目錄的各個頁面瀏覽時, application 對象都是同一個 .application 對象的常用方法(1) public void setAttribute(String key, Object obj)application對象可以調(diào)用該方法將參數(shù) Object指定的對象 obj添加到application對象中, 并為添加的對象指定了一個索引關(guān)鍵字,如果添加的兩個對象的關(guān)鍵字相同,則先前添加 對象被清除。(2) pu

29、blic Object getAttibue(String key)獲取application對象含有的關(guān)鍵字是key的對象。由于任何對象都可以添加到application 對象中,因此用該方法取回對象時,應(yīng)強制轉(zhuǎn)化為原來的類型。(3) public Enumeration getAttributeNames()application對象調(diào)用該方法產(chǎn)生一個枚舉對象,該枚舉對象使用nextElemets()遍歷application 中的各個對象所對應(yīng)的關(guān)鍵字。(4) public void removeAttribue(String key)從當前application對象中刪除關(guān)鍵字是key

30、的對象。(5) public String getServletInfo()application對象可以調(diào)用該方法獲取Servlet編譯器的當前版本的信息。JSP中的文件操作JSP通過Java的輸入輸出流來實現(xiàn)文件的讀寫操作File構(gòu)造方法File(String filename);File(String directoryPath,String filename); File(File f, String filename);1 創(chuàng)建目錄public boolean mkdir()File對象調(diào)用方法創(chuàng)建一個目錄,如果創(chuàng)建成功就返回true,否則返回false。2.列出目錄中的文件(如果F

31、ile對象是一個目錄) public String list() 用字符串形式返回目錄下的全部文件。Public File listFiles()用File對象形式返回目錄下的全部文件。3列出指定類型的文件public String list(FilenameFilter obj) 該方法用字符串形式返回目錄下的指定類型的所有文件。public File listFiles(FilenameFilter obj)該方法用 File 對象返回目錄下的指定類型的所有文件。File 對象調(diào)用方法public boolean delete();可以刪除當前對象代表的文件或目錄。如果 File 對象表示

32、的是一個目錄,則該目錄 必須是一個空目錄,刪除成功將返回 true使用字節(jié)流讀寫文件java.io 包提供大量的流類。稱 InputStream 類及其子類對象為字節(jié)輸入流類 ,稱 OutputStream 類及其子類對象為字節(jié)輸出流。InputStream 類的常用方法:int read()輸入流調(diào)用該方法從源中讀取單個字節(jié)的數(shù)據(jù),該方法返回字節(jié)值(0255之間的一個整數(shù))。如果未讀出字節(jié)就返回 -1。int read(byte b) 輸入流調(diào)用該方法從源中試圖讀取 b.length 個字節(jié)到字節(jié)數(shù)組 b 中,返回實際讀取的字節(jié)數(shù)目。如果到達文件的末尾,則返回-1。int read(byte

33、 b, int off, int len) 輸入流調(diào)用該方法從源中試圖讀取 len 個字節(jié)到字 節(jié)數(shù)組 b 中,并返回實際讀取的字節(jié)數(shù)目。如果到達文件的末尾,則返回-1。參數(shù)off 指定從字節(jié)數(shù)組的某個位置開始存放讀取的數(shù)據(jù)。void close() 輸入流調(diào)用該方法關(guān)閉輸入流。long skip (Io ng numBytes)輸入流調(diào)用該方法跳過numBytes個字節(jié),并返回實際跳 過的字節(jié)數(shù)目。OutputStream 類的常用方法:void write(int n) 輸出流調(diào)用該方法向輸出流寫入單個字節(jié)。void write(byte b) 輸出流調(diào)用該方法向輸出流寫入一個字節(jié)數(shù)組。v

34、oid write(byte b,int off,int len) 從給定字節(jié)數(shù)組中起始于偏移量 off 處取 len 個字 節(jié)寫入到輸出流。void close() 關(guān)閉輸出流。輸入、輸出流示意圖FileInputStream 類是 InputStream 的子類。構(gòu)造方法: FileInputStream( String name)FileInputStream(File file)使用構(gòu)造方法可能發(fā)生lOException異常。輸入流通過調(diào)用read方法讀出源中的數(shù)據(jù)。FileOutputStream 是 OutputStream 類的子類。構(gòu)造方法: FileOutputStream

35、(String name)FileOutputStream(File file)使用構(gòu)造方法可能發(fā)生IOException異常。輸出流通過調(diào)用write方法把字節(jié)寫入到目 的地 。讀取一個名為 myfile.dat 的文件FileInputStream 流經(jīng)常和 BufferedInputStream 流配合使用,F(xiàn)ileOutputStream 流經(jīng)常和 BufferedOutputStream 流配合使用類配合使用 提高讀寫效率。BufferedInputStream 類的一個常用的構(gòu)造方法是: BufferedInputStream(InputStream in);讀取文件 A.txt

36、常用下列方式:FileI np utStream in=new FileI np utStream("A.txt");是:BufferedInputStream bufferRead=new BufferedInputStream(in); BufferedOutputStream 類的一個常用的構(gòu)造方法是:BufferedOutputStream(OutputStream out);向文件 B.txt 寫入字節(jié)常用下列方式:FileOutputStream out=new FileOutputStream("B.txt");BufferedOutput

37、Stream bufferWriter=new BufferedOutputStream(out); 例 5-6使用字符流讀寫文件字節(jié)流不能直接操作Unicode字符,所以Java提供了字符流。由于漢字在文件中占用2 個字節(jié),如果使用字節(jié)流,讀取不當會出現(xiàn)亂碼現(xiàn)象,采用字符流就可以避免這個現(xiàn)象。 在Uni code字符中,一個漢字被看做一個字符。所有字符輸入流類都是Reader (輸入流)抽象類的子類。 所有字符輸出流都是 Writer (輸出流)抽象類的子類。Reader類中常用方法:int read()int read(char b)int read(char b, int off, in

38、t len)void close()long skip(long numBytes)Writer 類中常用方法:?voidwrite(int n) 輸出流寫入一個字符。?voidwrite(char b) 向輸出流寫入一個字符數(shù)組。?voidwrite(char b,int off,int length)?voidclose() 關(guān)閉輸出流。? FileReader和 FileWriter 類是 Reader和 Writer 的子類。?FileReader構(gòu)造方法:?FileReader ( String filename)?FileReader(File file)?FileWriter 構(gòu)

39、造方法 :?FileWriter ( String filename)?FileWriter (File file)FileReader流經(jīng)常和BufferedReader流配合使用; FileWriter 流經(jīng)常和 BufferedWriter 流配合使用。BufferedReader 流還可以使用方法String readLine() 讀取一行 ;BufferedWriter 流還可以使用方法void write(String s,int off,int length)將字符串 s 的一部分寫入文件.newLine() 向文件寫入一個行分隔符文件上傳用戶通過一個JSP頁面上傳文件給服務(wù)器時

40、,該 JSP頁面必須含有File類型的表單, 并且表單必須將ENCTYP的屬性值設(shè)成multipart/form-data。File類型表單如下所示: vFORM actio n='接受上傳文件的頁面"method=" post" ENCT YP E=" mult ip art/form-data" <Input type="File" name="picture" ></FORM>JSP引擎可以讓內(nèi)置對象request調(diào)用方法getInputStream()獲得一個輸入流

41、,通過這個 輸入流讀入用戶上傳的全部信息,包括文件的內(nèi)容以及表單域的信息。文件下載JSP內(nèi)置對象response調(diào)用方法getOutputStream()可以獲取一個指向用戶的輸出流,服務(wù) 器將文件寫入這個流, 用戶就可以下載這個文件了。 當提供下載功能時, 應(yīng)當使用 response 對象向用戶發(fā)送HTTP頭信息,這樣用戶的瀏覽器就會調(diào)用相應(yīng)的外部程序打開下載的文 件,response調(diào)用setHeader方法添加下載頭的格式如下:response.setHeader("Content-disposition","attachment;filename=&quo

42、t; 下載的文件名字 "); 數(shù)據(jù)庫JDBC的全稱為Java DataBase Connectivity是一套面向?qū)ο蟮膽?yīng)用程序接口 ( API),制定了 統(tǒng)一的訪問各類關(guān)系數(shù)據(jù)庫的標準接口,為各個數(shù)據(jù)庫廠商提供了標準接口的實現(xiàn)。通過JDBC技術(shù),開發(fā)人員可以用純Java語言和標準的SQL語句編寫完整的數(shù)據(jù)庫應(yīng)用程序, 并且真正地實現(xiàn)了軟件的跨平臺性。注意:JDBC不能直接訪問數(shù)據(jù)庫,必須依賴于數(shù)據(jù)庫廠商提供的JDBC驅(qū)動程序,通常情況下使用JDBC完成以下操作:( 1 )同數(shù)據(jù)庫建立連接;(2) 向數(shù)據(jù)庫發(fā)送SQL語句;( 3)處理從數(shù)據(jù)庫返回的結(jié)果。JDBC優(yōu)點:(1) JDBC

43、與 ODBC十分相似,便于軟件開發(fā)人員理解;(2) JDBC使軟件開發(fā)人員從復(fù)雜的驅(qū)動程序編寫工作中解脫出來,可以完全專著與業(yè)務(wù) 邏輯的開發(fā);(3) JDBC支持多種關(guān)系型數(shù)據(jù)庫,大大增加了軟件的可移植性;(4) JDBC AP是面向?qū)ο蟮?,軟件開發(fā)人員可以將常用的方法進行二次封裝,從而提高代 碼的重用性。JDBC缺 點:(1) 通過JDBC訪問數(shù)據(jù)庫時速度將受到一定影響;(2) 雖然JDBC AP是面向?qū)ο蟮?,但通過JDBC訪問數(shù)據(jù)庫依然是面向關(guān)系的;(3) JDBC提供了對不同廠家的產(chǎn)品的支持,這將對數(shù)據(jù)源帶來影響。JDBC-ODBCJDBC驅(qū)動程序是用于解決應(yīng)用程序與數(shù)據(jù)庫通信的問題,它可以分為Bridge、JDBC-Native API Bridge、JDBC-middleware 和 Pure JDBC Driver4種。JSP與 JavaBean7.1.1 bean 的編寫與保存1.如果類的成員變量的名字是XXX,那么為了獲取或更改成員變量的值,即獲取或更改屬 性,類中必須提供兩個方法:getXXX() 用來獲取屬性 XXX setXXX() 用來修改屬性 XXX即方法的名字用get或set為

溫馨提示

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

最新文檔

評論

0/150

提交評論