Java面試題精華_第1頁
Java面試題精華_第2頁
Java面試題精華_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余9頁可下載查看

下載本文檔

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

文檔簡介

1、Java 面試題精華1 、面向?qū)ο蟮奶卣饔心男┓矫?. 抽象: 抽象就是忽略一個主題中與當(dāng)前目標(biāo)無關(guān)的那些方面, 以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的 方面。 抽象并不打算了解全部問題, 而只是選擇其中的一部分,暫時不用部分細(xì)節(jié)。抽象包 括兩個方面,一是過程抽象,二是數(shù)據(jù)抽象。2. 繼承:繼承是一種連接類的層次模型, 并且允許和鼓勵類的重用, 它提供了一種明確表述共性的方 法。對象的一個新類可以從現(xiàn)有的類中派生, 這個過程稱為類繼承。 新類繼承了原始類的特 性,新類稱為原始類的派生類(子類) ,而原始類稱為新類的基類(父類) 。派生類可以從它 的基類那里繼承方法和實例變量,并且類可以修改或增加新的

2、方法使之更適合特殊的需要。3. 封裝:封裝是把過程和數(shù)據(jù)包圍起來, 對數(shù)據(jù)的訪問只能通過已定義的界面。 面向?qū)ο笥嬎闶加谶@ 個基本概念, 即現(xiàn)實世界可以被描繪成一系列完全自治、 封裝的對象, 這些對象通過一個受 保護(hù)的接口訪問其他對象。4. 多態(tài)性: 多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài) 性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù) 同名問題。2 、String 是最基本的數(shù)據(jù)類型嗎 ?基本數(shù)據(jù)類型包括 byte 、 int 、char 、long 、 float 、double 、 boolean 和 short

3、。 java.lang.String 類是 final 類型的,因此不可以繼承這個類、 不能修改這個類。為了提高 效率節(jié)省空間,我們應(yīng)該用 StringBuffer 類3 、String 和 StringBuffer 的區(qū)別JAVA 平臺提供了兩個類: String 和 StringBuffer ,它們可以儲存和操作字符串,即包含 多個字符的字符數(shù)據(jù)。 這個 String 類提供了數(shù)值不可改變的字符串。 而這個 StringBuffer 類提供的字符串進(jìn)行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時候你就可以使用 StringBuffer 典型地,你可以使用 StringBuffers 來動態(tài)構(gòu)造字符數(shù)據(jù)

4、。4 、運(yùn)行時異常與一般異常有何異同?異常表示程序運(yùn)行過程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時異常表示虛擬機(jī)的通常操作中 可能遇到的異常,是一種常見運(yùn)行錯誤。 java 編譯器要求方法必須聲明拋出可能發(fā)生的非 運(yùn)行時異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時異常。5 、說出 Servlet 的生命周期,并說出 Servlet 和 CGI 的區(qū)別。Servlet 被服務(wù)器實例化后, 容器運(yùn)行其 init 方法,請求到達(dá)時運(yùn)行其 service 方法,service 方法自動派遣運(yùn)行與請求對應(yīng)的 doXXX 方法( doGet , doPost )等,當(dāng)服務(wù)器決定將實 例銷毀的時候調(diào)用其 destr

5、oy 方法。與 cgi 的區(qū)別在于 servlet 處于服務(wù)器進(jìn)程中, 它通過多線程方式運(yùn)行其 service 方法, 一 個實例可以服務(wù)于多個請求,并且其實例一般不會銷毀,而 CGI 對每個請求都產(chǎn)生新的進(jìn) 程,服務(wù)完成后就銷毀,所以效率上低于 servlet 。6 、說出 ArrayList,Vector , LinkedList 的存儲性能和特性ArrayList 和 Vector 都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素數(shù)大于實際存儲的數(shù)據(jù)以便 增加和插入元素, 它們都允許直接按序號索引元素, 但是插入元素要涉及數(shù)組元素移動等內(nèi) 存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢, Vector 由于使用

6、了 synchronized 方法(線程安 全),通常性能上較 ArrayList 差, 而 LinkedList 使用雙向鏈表實現(xiàn)存儲, 按序號索引數(shù)據(jù) 需要進(jìn)行前向或后向遍歷, 但是插入數(shù)據(jù)時只需要記錄本項的前后項即可, 所以插入速度較 快。7 、 final, finally, finalize 的區(qū)別。final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally 是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize 是 Object 類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法, 可以覆蓋此方法提供垃圾收集時的其他資源回收,例如

7、關(guān)閉文件等。8 、 Overload 和 Override 的區(qū)別。 Overloaded 的方法是否可以改變返回值的類型 ? 方法的重寫 Overriding 和重載 Overloading 是 Java 多態(tài)性的不同表現(xiàn)。重寫 Overriding 是父類與子類之間多態(tài)性的一種表現(xiàn), 重載 Overloading 是一個類中多態(tài)性的 一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding) 。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的 定義如同被 屏蔽 了。如果在一個類中定義了多個同名的方法, 它們或有不同的參數(shù)個數(shù)或

8、有不同的參數(shù)類型, 則稱為方法的重載 (Overloading) 。Overloaded 的方法是可以改變返 回值的類型。9 、 abstract class 和 interface 有什么區(qū)別 ? 聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類( abstract class ),它用于要創(chuàng)建一個體 現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況,不能創(chuàng)建 abstract 類的實例,然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類 的一個實例,不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。 Abstract 類的子類為它們父類中的所 有抽象方法提供實現(xiàn),否則它們也是抽象類為

9、。取而代之,在子類中實現(xiàn)該方法。 知道其行 為的其它類可以在類中實現(xiàn)這些方法。接口( interface )是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實 現(xiàn)這樣的接口而獲得。 接口中的所有方法都是抽象的, 沒有一個有程序體。 接口只可以定義 static final 成員變量。 接口的實現(xiàn)與子類相似, 除了該實現(xiàn)類不能從接口定義中繼承行為。 當(dāng)類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實 現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。 由于有抽象類, 它允許使用接口名作為引用 變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)

10、換, instanceof 運(yùn)算符可以用來決定某對象的類是否實現(xiàn)了接口。10 、 forward 和 redirect 的區(qū)別forward 是服務(wù)器請求資源, 服務(wù)器直接訪問目標(biāo)地址的 URL ,把那個 URL 的響應(yīng)內(nèi)容讀 取過來,然后把這些內(nèi)容再發(fā)給瀏覽器, 瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒來的, 所以它的地址欄中還是原來的地址。redirect 就是服務(wù)端根據(jù)邏輯 , 發(fā)送一個狀態(tài)碼 ,告訴瀏覽器重新去請求那個地址, 一般來說 瀏覽器會用剛才請求的所有參數(shù)重新請求,所以 session,request 參數(shù)都可以獲取。11 、 GC 是什么 ? 為什么要有 GC?GC 是垃圾收

11、集的意思( Gabage Collection ) ,內(nèi)存處理是編程人員容易出現(xiàn)問題的 地方,忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰, Java 提供的 GC 功 能可以自動監(jiān)測對象是否超過作用域從而達(dá)到自動回收內(nèi)存的目的, Java 語言沒有提供釋 放已分配內(nèi)存的顯示操作方法。12 、設(shè)計 4 個線程,其中兩個線程每次對 j 增加 1 ,另外兩個線程對 j 每次減少 1 。寫出程 序。以下程序使用內(nèi)部類實現(xiàn)線程,對 j 增減的時候沒有考慮順序問題。public class ThreadTest1private int j;public static void main(Str

12、ing args)ThreadTest1 tt=new ThreadTest1();Inc inc=tt.new Inc();Dec dec=tt.new Dec();for(int i=0;i2;i+)Thread t=new Thread(inc);t.start();t=new Thread(dec);t.start();private synchronized void inc()j+;System.out.println(Thread.currentThread().getName()+-inc:+j);private synchronized void dec()j-;System

13、.out.println(Thread.currentThread().getName()+-dec:+j);class Inc implements Runnablepublic void run()for(int i=0;i100;i+)inc();class Dec implements Runnablepublic void run()for(int i=0;i100;i+)dec();13 、說出數(shù)據(jù)連接池的工作機(jī)制是什么 ?J2EE 服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接。客戶端 程序需要連接時, 池驅(qū)動程序會返回一個未使用的池連接并將其標(biāo)記為忙。 如果

14、當(dāng)前沒有空 閑連接, 池驅(qū)動程序就新建一定數(shù)量的連接, 新建連接的數(shù)量有配置參數(shù)決定。 當(dāng)使用的池 連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接標(biāo)記為空閑,其他調(diào)用就可以使用這個連接。14 、當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回 變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞 ?是值傳遞。 Java 編程語言只有值傳遞參數(shù)。當(dāng)一個對象實例作為一個參數(shù)被傳遞到方法中 時,參數(shù)的值就是對該對象的引用。 對象的內(nèi)容可以在被調(diào)用的方法中改變, 但對象的引用 是永遠(yuǎn)不會改變的。15 、編程題 : 寫一個 Singleton 出來 。Singleton 模式主要作用是保證在 J

15、ava 應(yīng)用程序中,一個類 Class 只有一個實例存在。 一般 Singleton 模式通常有幾種種形式 :第一種形式 : 定義一個類,它的構(gòu)造函數(shù)為 private 的,它有一個 static 的 private 的該 類變量,在類初始化時實例化,通過一個 public 的 getInstance 方法獲取對它的引用 , 繼 而調(diào)用其中的方法。public class Singleton private Singleton()/ 在自己內(nèi)部定義自己一個實例,是不是很奇怪?/ 注意這是 private 只供內(nèi)部調(diào)用private static Singleton instance = new

16、 Singleton();/ 這里提供了一個供外部訪問本 class 的靜態(tài)方法,可以直接訪問public static Singleton getInstance() return instance;第二種形式 :public class Singleton private static Singleton instance = null;public static synchronized Singleton getInstance() / 這個方法比上面有所改進(jìn),不用每次都進(jìn)行生成對象,只是第一次/ 使用時生成實例,提高了效率!if (instance=null)instance new

17、 Singleton();return instance;其他形式 :定義一個類,它的構(gòu)造函數(shù)為 private 的,所有方法為 static 的。 一般認(rèn)為第一種形式要更加安全些16 、 Java 中的異常處理機(jī)制的簡單原理和應(yīng)用。當(dāng) JAVA 程序違反了 JAVA 的語義規(guī)則時, JAVA 虛擬機(jī)就會將發(fā)生的錯誤表示為一個異常。 違反語義規(guī)則包括 2 種情況。一種是 JAVA 類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會引發(fā) IndexOutOfBoundsException; 訪問 null 的對象時會引發(fā) NullPointerException 。另 一種情況就是 JAVA 允許程序員擴(kuò)

18、展這種語義檢查, 程序員可以創(chuàng)建自己的異常, 并自由選 擇在何時用 throw 關(guān)鍵字引發(fā)異常。所有的異常都是 java.lang.Thowable 的子類。17 、 JSP 的內(nèi)置對象及方法。request 表示 HttpServletRequest 對象。它包含了有關(guān)瀏覽器請求的信息,并且提供了 幾個用于獲取 cookie, header , 和 session 數(shù)據(jù)的有用的方法。response 表示 HttpServletResponse對象, 并提供了幾個用于設(shè)置送回瀏覽器的響應(yīng)的方法(如 cookies, 頭信息等)out 對象是 javax.jsp.JspWriter 的一個實例

19、,并提供了幾個方法使你能用于向瀏覽器 回送輸出結(jié)果。pageContext 表示一個 javax.servlet.jsp.PageContext 對象。它是用于方便存取各 種范圍的名字空間、 servlet 相關(guān)的對象的 API ,并且包裝了通用的 servlet 相關(guān)功能的方 法。session 表示一個請求的 javax.servlet.http.HttpSession對象。 Session 可以存貯用戶的狀態(tài)信息applicaton 表示一個 javax.servle.ServletContext 對象。這有助于查找有關(guān) servlet 引擎和 servlet 環(huán)境的信息config 表

20、示一個 javax.servlet.ServletConfig對象。 該對象用于存取 servlet 實例的初始化參數(shù)。page 表示從該頁面產(chǎn)生的一個 servlet 實例18 、 servlet 的生命周期web 容器加載 servlet ,生命周期開始。通過調(diào)用 servlet 的 init() 方法進(jìn)行 servlet 的初 始化。通過調(diào)用 service() 方法實現(xiàn), 根據(jù)請求的不同調(diào)用不同的 do*() 方法。 結(jié)束服務(wù), web 容器調(diào)用 servlet 的 destroy() 方法。19 、 J2EE 是技術(shù)還是平臺還是框架?J2EE 本身是一個標(biāo)準(zhǔn),一個為企業(yè)分布式應(yīng)用的開

21、發(fā)提供的標(biāo)準(zhǔn)平臺。 J2EE 也是一個 框架,包括 JDBC 、JNDI 、 JMS 、RMI 、EJB、JTA 等技術(shù)。20 、我們在 web 應(yīng)用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如 iso8859-1 等,如何 輸出一個某種編碼的字符串?Public String translate (String str) String tempStr = ; try tempStr = new String(str .getBytes(ISO-8859-1), GBK);tempStr = tempStr .trim();catch (Exception e) System.err .print

22、ln(e.getMessage();return tempStr;20 、 MVC 的各個部分都有那些技術(shù)來實現(xiàn) ?如何實現(xiàn) ?MVC 是 Model View Controller 的簡寫。 Model 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過 JavaBean ,EJB 組件實現(xiàn)), View 是應(yīng)用的表示面 (由 JSP 頁面產(chǎn)生),Controller 是提供應(yīng)用的處理過程控制(一般是一個 Servlet ),通過這種設(shè)計模型把應(yīng)用邏輯,處理 過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進(jìn)行交互和重用。21 、垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動通 知虛擬機(jī)進(jìn)

23、行垃圾回收?對于 GC 來說, 當(dāng)程序員創(chuàng)建對象時, GC 就開始監(jiān)控這個對象的地址、 大小以及使用情況。 通常, GC 采用有向圖的方式記錄和管理堆 (heap) 中的所有對象。通過這種方式確定哪些 對象是可達(dá)的,哪些對象是 不可達(dá)的 。當(dāng) GC 確定一些對象為 不可達(dá)時,GC 就有責(zé) 任回收這些內(nèi)存空間。 可以。程序員可以手動執(zhí)行 System.gc() ,通知 GC 運(yùn)行,但是 Java 語言規(guī)范并不保證 GC 一定會執(zhí)行。22 、 jsp 有哪些動作 ?作用分別是什么 ?JSP 共有 以下 6 種基本 動 作 jsp:include :在 頁 面被 請 求的 時候 引入 一 個文 件

24、。 jsp:useBean :尋找或者實例化一個 JavaBean 。 jsp:setProperty :設(shè)置 JavaBean 的 屬性。 jsp:getProperty :輸出某個 JavaBean 的屬性。 jsp:forward :把請求轉(zhuǎn)到一個 新的頁面。 jsp:plugin :根據(jù)瀏覽器類型為 Java 插件生成 OBJECT 或 EMBED 標(biāo)記。23 、 STRUTS 的應(yīng)用 (如 STRUTS 架構(gòu) )Struts 是采用 Java Servlet/JavaServer Pages 技術(shù),開發(fā) Web 應(yīng)用程序的開放源碼的framework 。 采用 Struts 能開發(fā)出

25、基于 MVC(Model-View-Controller) 設(shè)計模式的應(yīng)用 構(gòu)架。 Struts 有如下的主要功能: 一.包含一個 controller servlet ,能將用戶的請求發(fā)送到相應(yīng)的 Action 對象。 二 .JSP 自由 tag 庫,并且在 controller servlet 中提供關(guān)聯(lián)支 持,幫助開發(fā)員創(chuàng)建交互式表單應(yīng)用。三. 提供了一系列實用對象: XML 處理、通過 Javareflection APIs 自動處理 JavaBeans 屬性、國際化的提示和消息。24 、 Jdo 是什么 ?JDO 是 Java 對象持久化的新的規(guī)范, 為 java data obje

26、ct 的簡稱 ,也是一個用于存取某種 數(shù)據(jù)倉庫中的對象的標(biāo)準(zhǔn)化 API 。JDO 提供了透明的對象存儲,因此對開發(fā)人員來說,存 儲數(shù)據(jù)對象完全不需要額外的代碼(如 JDBC API 的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移 到 JDO 產(chǎn)品提供商身上, 使開發(fā)人員解脫出來, 從而集中時間和精力在業(yè)務(wù)邏輯上。 另外, JDO 很靈活,因為它可以在任何數(shù)據(jù)底層上運(yùn)行。 JDBC 只是面向關(guān)系數(shù)據(jù)庫( RDBMS ) JDO 更通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關(guān)系數(shù)據(jù)庫、文件、 XML 以及對象數(shù)據(jù)庫( ODBMS )等等,使得應(yīng)用可移植性更強(qiáng)。25, HashMap 和 Hashtable 的

27、區(qū)別。都屬于 Map 接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。Hashtable 類似于 HashMap ,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它 是同步的。26, Overload 和 Override 的區(qū)別。 Overloaded 的方法是否可以改變返回值的類型 ? 方法的重寫 Overriding 和重載 Overloading 是 Java 多態(tài)性的不同表現(xiàn)。重寫 Overriding 是父類與子類之間多態(tài)性的一種表現(xiàn),重載 Overloading 是一個類中多態(tài)

28、性的一種表現(xiàn)。如 果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding) 。 子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被屏蔽 了。如果在一個類中定義了多個同名的方法, 它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型, 則稱為方法的重載 (Overloading) 。 Overloaded 的方法是可以改變返回值的類型。27, Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用=還是 equals()?它們有何區(qū)別 ?Set 里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。 Equals()是判讀

29、兩個Set 是否相等。Equals()和 =方法決定引用值是否指向同一對象 equals()在類中被覆蓋, 為的是當(dāng)兩個分 離的對象的內(nèi)容和類型相配的話,返回真值。28, abstract class 和 interface 有什么區(qū)別 ?聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類( abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建 abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的 一個實例。 不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。 Abstract 類的子類為它們父類中的所有抽

30、 象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的 其它類可以在類中實現(xiàn)這些方法。接口( interface )是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過 實現(xiàn)這樣的接口而獲得。 接口中的所有方法都是抽象的, 沒有一個有程序體。 接口只可以定 義 static final 成員變量。 接口的實現(xiàn)與子類相似, 除了該實現(xiàn)類不能從接口定義中繼承行為。 當(dāng)類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實 現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。 由于有抽象類, 它允許使用接口名作為引用 變量的類型。通常的動態(tài)聯(lián)編將生效

31、。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換, instanceof 運(yùn)算符可以用來決定某對象的類是否實現(xiàn)了接口。29、 ArrayList 和 Vector 的區(qū)別 ,HashMap 和 Hashtable 的區(qū)別 答:就 ArrayList 與 Vector 主要從二方面來說 .一.同步性: Vector 是線程安全的, 也就是說是同步的, 而ArrayList 是線程序不安全的, 不是同步的二.數(shù)據(jù)增長:當(dāng)需要增長時 ,Vector 默認(rèn)增長為原來一培,而 ArrayList 卻是原來的一半 就 HashMap 與 HashTable 主要從三方面來說。一 .歷史原因: Hashtable

32、是基于陳舊的 Dictionary 類的,HashMap 是 Java 1.2 引進(jìn)的 Map 接口的一個實現(xiàn)二.同步性: Hashtable是線程安全的, 也就是說是同步的, 而 HashMap是線程序不安全 的,不是同步的三 . 值:只有 HashMap 可以讓你將空值作為一個表的條目的 key 或 valueJsp方面1、jsp 有哪些內(nèi)置對象 ?作用分別是什么 ? 答:JSP共有以下 9種基本內(nèi)置組件(可與 ASP的 6種內(nèi)部組件相對應(yīng)) : request 用戶端請求,此請求會包含來自 GET/POST 請求的參數(shù) response 網(wǎng)頁傳回用戶端的回應(yīng) pageContext 網(wǎng)頁

33、的屬性是在這里管理 session 與請求有關(guān)的會話期 application servlet 正在執(zhí)行的內(nèi)容 out 用來傳送回應(yīng)的輸出 config servlet 的構(gòu)架部件 page JSP 網(wǎng)頁本身 exception 針對錯誤網(wǎng)頁,未捕捉的例外2、jsp 有哪些動作 ?作用分別是什么 ? 答:JSP共有以下 6 種基本動作 jsp:include :在頁面被請求的時候引入一個文件。 Jsp:useBean:尋找或者實例化一個 JavaBean。 Jsp:setProperty:設(shè)置 JavaBean 的屬性。 Jsp:getProperty:輸出某個 JavaBean 的屬性。 J

34、sp:forward :把請求轉(zhuǎn)到一個新的頁面。Jsp:plugin:根據(jù)瀏覽器類型為 Java 插件生成 OBJECT 或 EMBED 標(biāo)記3、JSP 中動態(tài) INCLUDE 與靜態(tài) INCLUDE 的區(qū)別? 答:動態(tài) INCLUDE 用 jsp:include 動作實現(xiàn) 它總是會檢查所含文件中的變化,適合用于包 含動態(tài)頁面,并且可以帶參數(shù)靜態(tài) INCLUDE 用 include 偽碼實現(xiàn) ,定不會檢查所含文件的變化,適用于包含靜態(tài)頁面 Servlet 方面1、說一說 Servlet 的生命周期 ?答 :servlet 有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務(wù)結(jié)束。

35、這個生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表達(dá)。2、JAVA SERVLET API 中 forward() 與 redirect()的區(qū)別?答 :前者僅是容器中控制權(quán)的轉(zhuǎn)向, 在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣, 從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。 所以,前者更加高效,在前者可以滿足需要時,盡 量使用 forward() 方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要 跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用s

36、endRedirect()方法。3、Servlet 的基本架構(gòu)public class ServletName extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcepti

37、on Jdbc、 Jdo 方面1、可能會讓你寫一段 Jdbc 連 Oracle 的程序 ,并實現(xiàn)數(shù)據(jù)查詢 . 答:程序如下:package hello.ant;import java.sql.*;public class jdbcString dbUrl=jdbc:oracle:thin::1521:orcl;String theUser=admin;String thePw=manager;Connection c=null;Statement conn;ResultSet rs=null;public jdbc()Try Class.forName(oracle.jdbc

38、.driver.OracleDriver).newInstance(); c = DriverManager.getConnection(dbUrl,theUser,thePw);conn=c.createStatement();catch(Exception e)e.printStackTrace();public boolean executeUpdate(String sql)tryconn.executeUpdate(sql); return true;catch (SQLException e)e.printStackTrace();return false;public Resul

39、tSet executeQuery(String sql)rs=null;tryrs=conn.executeQuery(sql);catch (SQLException e)e.printStackTrace();return rs;public void close()tryconn.close();c.close();catch (Exception e)e.printStackTrace();public static void main(String args)ResultSet rs;jdbc conn = new jdbc();rs=conn.executeQuery(select * from test); trywhil

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論