JAVA程序員筆試面試題匯總及答案_第1頁
JAVA程序員筆試面試題匯總及答案_第2頁
JAVA程序員筆試面試題匯總及答案_第3頁
JAVA程序員筆試面試題匯總及答案_第4頁
JAVA程序員筆試面試題匯總及答案_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1. 【基礎(chǔ)題】請描述訪問控制符的各自作用域與區(qū)別答:訪問控制private成員缺省的成員protected成員public成員同一類中同一包中其他類不同包中子類 不同包中非子類 一、 名詞解釋二、 問答題1. 【中等題】請說出 ArrayList和Vector的區(qū)別 答:主要從二方面來說. 同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的二.數(shù)據(jù)增長:當(dāng)需要增長時(shí),Vector 默認(rèn)增長為原來一培,而ArrayList卻是原來的一半2. 【中等題】請說出HashMap和Hashtable的區(qū)別答:HashMap與HashTable主要從三方

2、面來說。一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn) 二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的 三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value 3. 【基礎(chǔ)題】Collection 和 Collections的區(qū)別 答:Collections是個(gè)java.util下的類,它包含有各種有關(guān)集合操作的靜態(tài)方法。 Collection是個(gè)java.util下的接口,它是各種集合結(jié)構(gòu)的父接口第十八章 輸入輸出筆試題一、 填空

3、題1. 【基礎(chǔ)題】File對(duì)象的isFile()方法作用是判斷是否是文件,getAbsolutePath()方法作用是獲取文件或目錄的絕對(duì)路徑。2. 【基礎(chǔ)題】BufferedReader和BufferedWriter以字符流的方式讀寫文本文件,且效率更高。3. 【基礎(chǔ)題】FileInputStream和FileOutputStream以字節(jié)流的方式讀寫文本文件。 二、 選擇題1. 【基礎(chǔ)題】下列哪個(gè)類是實(shí)體類(BC ) A. InputStream B. PrintStreamC. SocketD. ReaderE. DataInput2. 【提高題】請選擇下列程序的運(yùn)行結(jié)果(A)publi

4、c class TestIOapppublic static void main(String args) throws IOExceptionStringReader stingin = new StringReader(test);LineNumberReader in = new LineNumberReader(stingin);PrintWriter out = new PrintWriter(System.out);out.println(in.readLine();out.flush();A. testB. test:1C. 1:testD. 1 test3. 【提高題】請選擇下

5、列程序的運(yùn)行結(jié)果 ( B ) public class TestIOapppublic static void main(String args) throws IOExceptionRandomAccessFile file = new RandomAccessFile(test.txt,rw);file.writeBoolean(true);file.writeInt(123456);file.writeInt(7890);file.writeLong(1000000);file.writeInt(777);file.writeFloat(.0001f);file.seek(5);Syst

6、em.out.println(file.readInt();A. 123456B. 7890C. 1000000D. 777E. 0001三、 名詞解釋四、 問答題1. 【中等題】請說出和的區(qū)別 答:java.io.Reader 和 java.io.InputStream 組成了 Java 輸入類。Reader 用于讀入16位字符,也就是 Unicode 編碼的字符;而 InputStream 用于讀入 ASCII 字符和二進(jìn)制數(shù)據(jù)。2. 【中等題】java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?答:字節(jié)流,字符流。字節(jié)流繼承于InputStre

7、amOutputStream,字符流繼承于InputStreamReaderOutputStreamWriter。在java.io包中還有許多其他的流,主要是為了提高性能和使用方便。3. 【中等題】請簡述什么是流?答:流是指一連串流動(dòng)的字符,是以先進(jìn)先出的方式發(fā)送和接收數(shù)據(jù)的通道, 流分為輸入流和輸出流,輸入輸出流是相對(duì)于計(jì)算機(jī)內(nèi)存來說的,如果數(shù)據(jù)輸入到內(nèi)存,則稱為輸入流,如果從內(nèi)存中流出則稱為輸出流第十九章 JDBC筆試題一、 填空題二、 選擇題三、 名詞解釋1. 【基礎(chǔ)題】 ODBC:Open Database Connectivity 開放數(shù)據(jù)庫互連2. 【基礎(chǔ)題】 JDBC:Java

8、DataBase Connectivity Java數(shù)據(jù)庫連接3. 【基礎(chǔ)題】 DBMS:Data Base Management System數(shù)據(jù)庫管理系統(tǒng)4. 【基礎(chǔ)題】 URL:Uniform Resource Locator 統(tǒng)一資源定位器URL組成:協(xié)議名和資源名protocol:/resourceName四、 問答題1. 【中等題】Class.forName()的作用? 答:調(diào)用該方法返回一個(gè)以字符串指定類名的類的對(duì)象。此對(duì)象用來與特定的數(shù)據(jù)庫連接。2. 【中等題】簡述Statement和PreparedStatement 的區(qū)別?答:無論多少次地使用同一個(gè)SQL命令,Prepar

9、edStatement都只對(duì)它解析和編譯一次。當(dāng)使用Statement對(duì)象時(shí),每次執(zhí)行一個(gè)SQL命令時(shí),都會(huì)對(duì)它進(jìn)行解析和編譯,使用PreparedStatement對(duì)象比使用Statement對(duì)象的速度更快。3. 【中等題】在connection類中提供了3個(gè)控制事務(wù)的方法,分別是:答:setAutoCommit(boolean bln)commit():提交事務(wù)rollback():撤銷事務(wù)4. 【提高題】請簡述元數(shù)據(jù)。答:在SQL中,描述數(shù)據(jù)庫或其組成部分的數(shù)據(jù)稱為元數(shù)據(jù)(區(qū)別于那些存在數(shù)據(jù)庫中的實(shí)際數(shù)據(jù))。我們可以得到三類元數(shù)據(jù):關(guān)于數(shù)據(jù)庫的元數(shù)據(jù)、關(guān)于結(jié)果集的元數(shù)據(jù)以及關(guān)于預(yù)備語句參

10、數(shù)的元數(shù)據(jù)。5. 【提高題】 ResultSet 類中的Cursor 方式主要有ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.TYPE_SCROLL_INSENSITIVE等方式,你能詳細(xì)說明嗎。答:ResultSet.TYPE_FORWARD_ONLY(為缺省設(shè)置):游標(biāo)只能前進(jìn)不能后退,也就是只能從第一個(gè)一直移動(dòng)到最后一個(gè)。ResultSet.TYPE_SCROLL_SENSITIVE :允許游標(biāo)前進(jìn)或后退并感應(yīng)到其它ResultSet 的光標(biāo)的移動(dòng)情形。ResultSet.TYPE_SCROLL

11、_INSENSITIVE :允許游標(biāo)前進(jìn)或后退并不能感應(yīng)到其它ResultSet 的光標(biāo)的移動(dòng)情形。第二十章 XML筆試題一、 填空題1. 【基礎(chǔ)題】XML 是一種 標(biāo)記 語言。2. 【基礎(chǔ)題】XML 的設(shè)計(jì)宗旨是 傳輸數(shù)據(jù) ,而非顯示數(shù)據(jù)。3. 【基礎(chǔ)題】XML 文檔必須有一個(gè)元素是所有其他元素的父元素。該元素稱為 根元素 。二、 選擇題三、 名詞解釋1. 【基礎(chǔ)題】XML:EXtensible Markup Language 可擴(kuò)展標(biāo)記語言2. 【基礎(chǔ)題】DTD:Document Type Definition 文檔類型定義3. 【基礎(chǔ)題】W3C:World Wide Web Consor

12、tium 萬維網(wǎng)聯(lián)盟4. 【基礎(chǔ)題】CSS:Cascading Style Sheets 層疊樣式單5. 【基礎(chǔ)題】XSL:EXtensible Stylesheet Language可擴(kuò)展樣式單語言四、 問答題1. 【中等題】XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?答:1) 兩種形式 dtd schema。2) 本質(zhì)區(qū)別:schema本身是xml的,可以被XML解析器解析(這也是從DTD上發(fā)展schema的根本目的)。2. 【中等題】格式良好的XML文檔的標(biāo)準(zhǔn)是必須遵守XML 1.0規(guī)范中的語法規(guī)則,應(yīng)滿足的條件主要包括:答:文檔應(yīng)包含一個(gè)或多個(gè)元素 文檔中只有一個(gè)根元素,該元素?zé)o任

13、何部分出現(xiàn)在其它元素中 元素必須正確關(guān)閉 元素不得交叉 屬性值必須加引號(hào) 3. 【中等題】XML 與 HTML 的主要差異(難度:中)答:XML 不是 HTML 的替代。XML 和 HTML 為不同的目的而設(shè)計(jì):XML 被設(shè)計(jì)為傳輸和存儲(chǔ)數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的內(nèi)容。HTML 被設(shè)計(jì)用來顯示數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的外觀。HTML 旨在顯示信息,而 XML 旨在傳輸信息。第二十一章 Java+XML應(yīng)用筆試題一、 填空題二、 選擇題三、 名詞解釋1. 【基礎(chǔ)題】 DOM:Document Object Model文檔對(duì)象模型2. 【基礎(chǔ)題】 SAX:Simple API for XML 文檔邊讀入邊解析

14、四、 問答題1. 【提高題】請描述出DOM和SAX解析XML文檔各有什么有缺點(diǎn)?答:DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)XML的隨機(jī)訪問。SAX:是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對(duì)XML的順序訪問。2. 【中等題】你在項(xiàng)目中用到了xml技術(shù)的哪些方面?舉例說明答:用到了數(shù)據(jù)存儲(chǔ),信息配置兩方面。數(shù)據(jù)存

15、儲(chǔ):可以將數(shù)據(jù)庫中的數(shù)據(jù)保存成一個(gè)xml文件以方便網(wǎng)絡(luò)傳輸.信息配置:struts-config.xml是struts框架的核心配置文件, 該文件由struts應(yīng)用程序啟動(dòng)時(shí)自動(dòng)加載, struts會(huì)從中讀取ActionForm, Action等相關(guān)配置1. 【中等題】sleep() 和 wait() 有什么區(qū)別? 答:sleep()方法是使線程停止一段時(shí)間的方法。在sleep 時(shí)間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因?yàn)樵谀莻€(gè)時(shí)刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級(jí) (b)正在運(yùn)行的線程因?yàn)槠渌蚨枞ait()是線程交互時(shí),如果

16、線程對(duì)一個(gè)同步對(duì)象x 發(fā)出一個(gè)wait()調(diào)用,該線程會(huì)暫停執(zhí)行,被調(diào)對(duì)象進(jìn)入等待狀態(tài),直到被喚醒或等待時(shí)間到。2. 【中等題】啟動(dòng)一個(gè)線程是用run()還是start()?答:啟動(dòng)一個(gè)線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會(huì)立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個(gè)線程。3. 【中等題】請說出你所知道的線程同步的方法。答:wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對(duì)象的lock。sleep():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法,調(diào)用此方法要捕捉InterruptedE

17、xception異常。notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一個(gè)等待狀態(tài)的線程,而是由JVM確定喚醒哪個(gè)線程,而且不是按優(yōu)先級(jí)。Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對(duì)象的鎖,而是讓它們競爭。4. 【提高題】請描述出線程存在的幾種狀態(tài)?答:1) 線程可以正在運(yùn)行(running)。只要獲得CPU時(shí)間它就可以運(yùn)行。2) 運(yùn)行的線程可以被掛起(suspend),并臨時(shí)中斷它的執(zhí)行。3) 一個(gè)掛起的線程可以被恢復(fù)(resume,允許它從停止的地方繼續(xù)運(yùn)行。4) 一個(gè)線程可以在等待資源時(shí)被阻塞(block)

18、。5) 在任何時(shí)候,線程可以終止(terminate),這立即中斷了它的運(yùn)行。一旦終止,線程不能被恢復(fù)。5. 【提高題】當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法? 答:不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問。第二十三章 網(wǎng)絡(luò)編程筆試題一、 填空題二、 選擇題三、 名詞解釋1. 【中等題】TCP:Transmission Control Protocol傳輸控制協(xié)議是一種面向連接的保證可靠傳輸?shù)膮f(xié)議。通過TCP協(xié)議傳輸,得到的是一個(gè)順序的無差錯(cuò)的數(shù)據(jù)流。發(fā)送方和接收方的成對(duì)的兩個(gè)socket之間必須建立連接,以便在

19、TCP協(xié)議的基礎(chǔ)上進(jìn)行通信,當(dāng)一個(gè)socket(通常都是server socket)等待建立連接時(shí),另一個(gè)socket可以要求進(jìn)行連接,一旦這兩個(gè)socket連接起來,它們就可以進(jìn)行雙向數(shù)據(jù)傳輸,雙方都可以進(jìn)行發(fā)送或接收操作。2. 【中等題】UDP:User Datagram Protocol用戶數(shù)據(jù)報(bào)協(xié)議UDP是無連接通信協(xié)議,UDP不保證可靠數(shù)據(jù)的傳輸,但能夠向若干個(gè)目標(biāo)發(fā)送數(shù)據(jù),接收發(fā)自若干個(gè)源的數(shù)據(jù)。簡單的說,如果一個(gè)主機(jī)向另外一臺(tái)主機(jī)發(fā)送數(shù)據(jù),這一數(shù)據(jù)就會(huì)立即發(fā)出,而不管另外一臺(tái)主機(jī)是否已準(zhǔn)備接收數(shù)據(jù)。如果另外一臺(tái)主機(jī)收到了數(shù)據(jù),它不會(huì)確認(rèn)收到與否。3. 【基礎(chǔ)題】IP:Intern

20、et Protocol互聯(lián)網(wǎng)協(xié)議4. 【基礎(chǔ)題】LAN:local area network局域網(wǎng)5. 【基礎(chǔ)題】WAN:wide area network廣域網(wǎng)四、 問答題1. 【提高題】什么是網(wǎng)絡(luò)通信協(xié)議答:計(jì)算機(jī)網(wǎng)絡(luò)中實(shí)現(xiàn)通信必須有一些約定即通信協(xié)議,對(duì)速率、傳輸代碼、代碼結(jié)構(gòu)、傳輸控制步驟、出錯(cuò)控制等制定標(biāo)準(zhǔn)。 2. 【提高題】 網(wǎng)絡(luò)通信接口 答:為了使兩個(gè)結(jié)點(diǎn)之間能進(jìn)行對(duì)話,必須在它們之間建立通信工具(即接口),使彼此之間 能進(jìn)行信息交換。接口包括兩部分:硬件裝置:實(shí)現(xiàn)結(jié)點(diǎn)之間的信息傳送 軟件裝置:規(guī)定雙方進(jìn)行通信的約定協(xié)議3. 【提高題】你能說出TCP/IP的7層協(xié)議嗎? 答:應(yīng)用

21、層、表示層、會(huì)話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層 第二十四章 J2EE和Servlet概述筆試題一、 填空題1. 【基礎(chǔ)題】我們常用的Servlet的版本是 2.4 。2. 【基礎(chǔ)題】Tomcat的核心配置文件是 server.xml。3. 【基礎(chǔ)題】Tomcat中發(fā)布一個(gè)WEB應(yīng)用時(shí),通常把Web應(yīng)用發(fā)布在 webapps 目錄下。4. 【基礎(chǔ)題】Tomcat將Jsp生成的Servlet源文件和和字節(jié)碼文件放在work 目錄下。5. 【基礎(chǔ)題】Tomcat的內(nèi)置編碼就是使用了 ISO-8859-1。二、 選擇題三、 名詞解釋1. 【基礎(chǔ)題】Java EE:Java Platform E

22、nterprise Edition2. 【基礎(chǔ)題】HTTP:Hypertext Transfer Protocol四、 問答題1. 【提高題】C/S和B/S之比較答:C/S和B/S是當(dāng)今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S是美國Borland公司最早研發(fā),B/S是美國微軟公司研發(fā)。 1) C/S架構(gòu)軟件的優(yōu)勢與劣勢 a) 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。b) 數(shù)據(jù)的儲(chǔ)存管理功能較為透明。c) C/S架構(gòu)的劣勢是高昂的維護(hù)成本且投資大。d) 傳統(tǒng)的C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,代價(jià)高和低效率已經(jīng)不適應(yīng)工作需要。 2) B/S架構(gòu)軟件的優(yōu)

23、勢與劣勢a) 維護(hù)和升級(jí)方式簡單。b) 成本降低,選擇更多。c) 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。2. 【提高題】J2EE規(guī)范了服務(wù)器端應(yīng)用系統(tǒng)的開發(fā)框架,其中最核心的思想就是分層和組件的思想,那么分層是哪幾層,分別有哪些組建?答:分層:共分為四層,數(shù)據(jù)層,業(yè)務(wù)層,表述層,客戶層。組件:三大類,即業(yè)務(wù)邏輯組件(EJB/JavaBean組件)、Web組件(JSP和Servlet組件)和客戶端組件(應(yīng)用程序客戶端組件或Applet組件)。3. 【提高題】J2EE是技術(shù)還是平臺(tái)還是框架?答:J2EE本身是一個(gè)標(biāo)準(zhǔn),一個(gè)為企業(yè)分布式應(yīng)用的開發(fā)提供的標(biāo)準(zhǔn)平臺(tái)。J2EE也是一個(gè)框架,包括JDBC、JNDI、R

24、MI、JMS、EJB、JTA等技術(shù)。4. 【提高題】JAVA13種核心技術(shù),你能說出來嗎?答:J2EE基礎(chǔ)技術(shù)XML、RMI、JNDI 、JMSJ2EE主要技術(shù)JDBC、Servlet、JSP、EJBJ2EE其它技術(shù)JTA、JTS、Java IDL、Java Mail、JAF5. 【基礎(chǔ)題】你能說出哪些J2EE開發(fā)工具和服務(wù)器答:開發(fā)工具: Borland公司的JBuilder Sun公司的SunJavaStudio 開源的IDE Eclipse服務(wù)器: Apache的Tomcat IBM的WebSphere BEA的WebLogic6. 【中等題】說一說Servlet的生命周期? 答:ser

25、vlet有良好的生存期的定義,包括加載和實(shí)例化、初始化、處理請求以及服務(wù)結(jié)束。這個(gè)生存期由接口的init,service和destroy方法表達(dá)。7. 【中等題】什么是Web容器?答:實(shí)現(xiàn)J2EE規(guī)范中web協(xié)議的應(yīng)用.該協(xié)議定義了web程序的運(yùn)行時(shí)環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.第二十五章 Servlet筆試題一、 填空題二、 選擇題三、 名詞解釋四、 問答題1. 【中等題】什么是Web容器?答:實(shí)現(xiàn)J2EE規(guī)范中web協(xié)議的應(yīng)用.該協(xié)議定義了web程序的運(yùn)行時(shí)環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.2. 【中等題】說一說Servlet的生命周期?答:servlet有良好

26、的生存期的定義,包括加載和實(shí)例化、初始化、處理請求以及服務(wù)結(jié)束。這個(gè)生存期由接口的init,service和destroy方法表達(dá)。 3. 【中等題】 JAVA SERVLET API中forward() 與redirect()的區(qū)別?(中等)答:前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時(shí),盡量使用forward()方法,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,

27、則必須使用sendRedirect()方法。 4. 【基礎(chǔ)題】 寫出Servlet類的基本結(jié)構(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 ServletE

28、xception, IOException 5. 【基礎(chǔ)題】什么情況下調(diào)用doGet()和doPost()?答:Jsp頁面中的form標(biāo)簽里的method屬性為get時(shí)調(diào)用doGet(),為post時(shí)調(diào)用doPost()。第二十六章 JSP筆試題一、 填空題二、 選擇題1. 【基礎(chǔ)題】在Jsp指令中errorPage(“url”)的意思是(C)A. 將本頁面設(shè)置為錯(cuò)誤的頁面B. 將本頁面中所有的錯(cuò)誤的信息保存到url變量中C. 為本頁面指定一個(gè)錯(cuò)誤頁面D. 沒有具體的含義三、 名詞解釋1. 【基礎(chǔ)題】JSP: Java Server Page2. 【基礎(chǔ)題】JS: Java Script四、

29、問答題1. 【中等題】 JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?(中等)答:JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP編譯后是類servlet。Servlet和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP的情況是Java和HTML可以組合成一個(gè)擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯。2. 【中等題】 jsp的四種范圍是什么?(中等)答:pageContext否是代表與一個(gè)頁面相關(guān)的對(duì)象和屬性。一個(gè)頁面由一個(gè)編

30、譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動(dòng)作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面request是是代表與 Web 客戶機(jī)發(fā)出的一個(gè)請求相關(guān)的對(duì)象和屬性。一個(gè)請求可能跨越多個(gè)頁面,涉及多個(gè) Web 組件(由于 forward 指令和 include 動(dòng)作的關(guān)系)session是是代表與用于某個(gè) Web 客戶機(jī)的一個(gè)用戶體驗(yàn)相關(guān)的對(duì)象和屬性。一個(gè) Web 會(huì)話可以也經(jīng)常會(huì)跨越多個(gè)客戶機(jī)請求application是是代表與整個(gè) Web 應(yīng)用程序相關(guān)的對(duì)象和屬性。這實(shí)質(zhì)上是跨越整個(gè) Web 應(yīng)用

31、程序,包括多個(gè)頁面、請求和會(huì)話的一個(gè)全局作用域3. 【中等題】 JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?(中等)答:動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn) 它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面,并且可以帶參數(shù)。靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面 4. 【中等題】 jsp有哪些動(dòng)作?作用分別是什么?(中等)答:JSP共有以下6種基本動(dòng)作 jsp:include:在頁面被請求的時(shí)候引入一個(gè)文件。 jsp:useBean:尋找或者實(shí)例化一個(gè)JavaBean。 jsp:setProperty:設(shè)置JavaBe

32、an的屬性。 jsp:getProperty:輸出某個(gè)JavaBean的屬性。 jsp:forward:把請求轉(zhuǎn)到一個(gè)新的頁面。 jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED標(biāo)記 5. jsp如何使用注釋?答:1) 2); /; 3)/* */; 4);6. 【中等題】 get和post的區(qū)別?(難)答:Form中的get和post方法,在數(shù)據(jù)傳輸過程中分別對(duì)應(yīng)了HTTP協(xié)議中的GET和POST方法。二者主要區(qū)別如下:1) Get是用來從服務(wù)器上獲得數(shù)據(jù),而Post是用來向服務(wù)器上傳遞數(shù)據(jù)。2) Get將表單中數(shù)據(jù)的按照variable=value的形式,添加

33、到action所指向的URL后面,并且兩者使用“?”連接,而各個(gè)變量之間使用“&”連接;Post是將表單中的數(shù)據(jù)放在form的數(shù)據(jù)體中,按照變量和值相對(duì)應(yīng)的方式,傳遞到action所指向URL。3) Get是不安全的,因?yàn)樵趥鬏斶^程,數(shù)據(jù)被放在請求的URL中,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶代理都會(huì)將請求URL記錄到日志文件中,然后放在某個(gè)地方,這樣就可能會(huì)有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會(huì)一同顯示在用戶面前。Post的所有操作對(duì)用戶來說都是不可見的。4) Get傳輸?shù)臄?shù)據(jù)量小,這主要是因?yàn)槭躑RL長度限制;而Post可以

34、傳輸大量的數(shù)據(jù),所以在上傳文件只能使用Post(當(dāng)然還有一個(gè)原因,將在后面的提到)。5) Get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符;而Post支持整個(gè)ISO10646字符集。6) Get是Form的默認(rèn)方法。第二十七章 JSP內(nèi)置對(duì)象筆試題一、 填空題二、 選擇題三、 名詞解釋1. 【基礎(chǔ)題】 JSP:Java Server Pages,JSP是在Servlet技術(shù)上發(fā)展起來的,已經(jīng)成為J2EE技術(shù)應(yīng)用中非常重要的一個(gè)組成部分。JSP是結(jié)合HTML、Java代碼、JavaScript代碼等內(nèi)容一起處理信息的動(dòng)態(tài)網(wǎng)頁技術(shù),在B/S開發(fā)架構(gòu)中主要用于處理客戶端的信息。(簡單)四、 問

35、答題1. 【中等題】 Request對(duì)象的主要方法有哪些? (中等)答:setAttribute(String name,Object):設(shè)置名字為name的request的參數(shù)值getAttribute(String name):返回由name指定的屬性值getAttributeNames():返回request對(duì)象所有屬性的名字集合,結(jié)果是一個(gè)枚舉的實(shí)例getCookies():返回客戶端的所有Cookie對(duì)象,結(jié)果是一個(gè)Cookie數(shù)組getCharacterEncoding():返回請求中的字符編碼方式getContentLength():返回請求的Body的長度getHeader(S

36、tring name):獲得HTTP協(xié)議定義的文件頭信息getHeaders(String name):返回指定名字的request Header的所有值,結(jié)果是一個(gè)枚舉的實(shí)例getHeaderNames():返回所以request Header的名字,結(jié)果是一個(gè)枚舉的實(shí)例getInputStream():返回請求的輸入流,用于獲得請求中的數(shù)據(jù)&getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法getParameter(String name):獲得客戶端傳送給服務(wù)器端的有name指定的參數(shù)值getParameterNames():獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字,結(jié)果是一個(gè)枚

37、舉的實(shí)例getParameterValues(String name):獲得有name指定的參數(shù)的所有值getProtocol():獲取客戶端向服務(wù)器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱getQueryString():獲得查詢字符串getRequestURI():獲取發(fā)出請求字符串的客戶端地址getRemoteAddr():獲取客戶端的IP地址getRemoteHost():獲取客戶端的名字getSession(Boolean create):返回和請求相關(guān)SessiongetServerName():獲取服務(wù)器的名字getServletPath():獲取客戶端所請求的腳本文件的路徑getServer

38、Port():獲取服務(wù)器的端口號(hào)removeAttribute(String name):刪除請求中的一個(gè)屬性2. 【基礎(chǔ)題】 JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?(簡單)答:動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn)它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面,并且可以帶參數(shù)靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面3. 【基礎(chǔ)題】 JSP有哪些內(nèi)置對(duì)象?作用和分別是什么? 答:JSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對(duì)應(yīng)): request 用戶端請求,此請求會(huì)包含來自GET/POST請求的參數(shù)

39、 response 網(wǎng)頁傳回用戶端的回應(yīng) pageContext 網(wǎng)頁的屬性是在這里管理 session 與請求有關(guān)的會(huì)話期 application servlet 正在執(zhí)行的內(nèi)容 out 用來傳送回應(yīng)的輸出 config servlet的構(gòu)架部件 page JSP網(wǎng)頁本身 exception 針對(duì)錯(cuò)誤網(wǎng)頁,未捕捉的異常.第二十八章 EL表達(dá)式和JSTL標(biāo)記庫 筆試題一、 填空題1. 【基礎(chǔ)題】 EL 表達(dá)式的格式是:用 美元符號(hào)($) 定界,內(nèi)容包括在 花括號(hào)() 中。2. 【基礎(chǔ)題】 JSTL由四個(gè)定制標(biāo)記庫 core 、 format 、 xml 、 sql 和一個(gè) 函數(shù)庫 組成。二、

40、選擇題三、 名詞解釋1. 【基礎(chǔ)題】 EL表達(dá)式:Expression Language 表達(dá)式語言,它是為了便于存取數(shù)據(jù)而定義的一種語言,JSP2.0之后才成為一種標(biāo)準(zhǔn)。2. 【基礎(chǔ)題】 JSTL:JSP Standard Tag Library JSP標(biāo)準(zhǔn)標(biāo)簽庫四、 問答題1. 【中等題】JSTL與傳統(tǒng)JSP開發(fā)手段的區(qū)別和優(yōu)勢是什么?答:傳統(tǒng)的JSP開發(fā)會(huì)使用腳本元素在頁面中嵌入程序源代碼(通常是 Java 代碼),對(duì)于這樣的 JSP 頁面,其軟件維護(hù)任務(wù)的復(fù)雜度大大增加了。JSTL 使 JSP 作者可以減少對(duì)編制腳本元素的需求,甚至可以不需要它們,并避免了相關(guān)的維護(hù)成本。 2. 【中等

41、題】EL表達(dá)式的隱含對(duì)象及其作用(至少說出4個(gè))?答:1) applicationScope應(yīng)用程序范圍內(nèi)的scoped變量組成的集合2) cookie所有cookie組成的集合3) headerHTTP請求頭部,字符串4) headerValuesHTTP請求頭部,字符串集合5) initParam全部應(yīng)用程序參數(shù)名組成的集合6) pageContext當(dāng)前頁面的對(duì)象7) pageScope頁面范圍內(nèi)所有對(duì)象的集合8) param所有請求參數(shù)字符串組成的集合9) paramValues所有作為字符串集合的請求參數(shù)10) requestScope所有請求范圍的對(duì)象的集合11) sessionS

42、cope所有會(huì)話范圍的對(duì)象的集合第二十九章 Web監(jiān)聽器和過濾器筆試題 一、 填空題1. 【基礎(chǔ)題】Web監(jiān)聽器的種類可以分為: Servlet上下文(ServletContext)監(jiān)聽 、 Http 會(huì)話(HttpSession)監(jiān)聽 和 請求(ServletRequest)監(jiān)聽 。2. 【基礎(chǔ)題】如果要編寫一個(gè)過濾器,需要實(shí)現(xiàn) javax.servlet.Filter 接口。二、 選擇題三、 名詞解釋四、 問答題1. 【基礎(chǔ)題】過濾器的作用是什么?答:截取從客戶端發(fā)過來的請求,并進(jìn)行處理,對(duì)數(shù)據(jù)進(jìn)行重新編碼,過濾掉客戶的某些不應(yīng)出現(xiàn)的詞匯,可以驗(yàn)證用戶是否已經(jīng)登陸。第三十章 會(huì)話跟蹤 筆試

43、題 一、 填空題1. 【基礎(chǔ)題】在Servlet中,我們可以使用 HttpServletRequest 對(duì)象的 getSession() 方法獲取session對(duì)象。2. 【基礎(chǔ)題】使用Session進(jìn)行數(shù)據(jù)傳遞時(shí),調(diào)用session對(duì)象的getAttribute()方法需要傳入的參數(shù)類型是 String ,返回的數(shù)據(jù)類型是 Object 。二、 選擇題1. 【基礎(chǔ)題】從session中獲取數(shù)據(jù)的方法是:(D)getParameter();getCreationTime();getAttributeNames();getAttribute();三、 名詞解釋四、 問答題四種會(huì)話跟蹤技術(shù) (中等

44、)答:會(huì)話作用域ServletsJSP 頁面描述page否是代表與一個(gè)頁面相關(guān)的對(duì)象和屬性。一個(gè)頁面由一個(gè)編譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動(dòng)作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面request是是代表與 Web 客戶機(jī)發(fā)出的一個(gè)請求相關(guān)的對(duì)象和屬性。一個(gè)請求可 能跨越多個(gè)頁面,涉及多個(gè) Web 組件(由于 forward 指令和 include 動(dòng)作的關(guān)系)session是是代表與用于某個(gè) Web 客戶機(jī)的一個(gè)用戶體驗(yàn)相關(guān)的對(duì)象和屬性。一個(gè) Web 會(huì)話可以也經(jīng)常會(huì)跨越多個(gè)客戶

45、機(jī)請求application是是代表與整個(gè) Web 應(yīng)用程序相關(guān)的對(duì)象和屬性。這實(shí)質(zhì)上是跨越整個(gè) Web 應(yīng)用程序,包括多個(gè)頁面、請求和會(huì)話的一個(gè)全局作用域第三十一章 MVC筆試題一、 填空題1. 【基礎(chǔ)題】 DAO類屬于MVC中的 模型 層, Servlet類屬于MVC中的 控制 層, JSP屬于MVC中的 視圖 層 二、 選擇題三、 名詞解釋1. 【基礎(chǔ)題】 MVC:MVC是Model-View-Controller三個(gè)英文單詞的所寫,是一種流行的軟件設(shè)計(jì)模式。即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層模型層、視

46、圖層、控制層。2. 【基礎(chǔ)題】 DAO: Data Access Object數(shù)據(jù)訪問接口.3. 【基礎(chǔ)題】 VO: value object值對(duì)象.四、 問答題1. 【中等題】 簡述MVC三個(gè)層次的作用。1) 視圖(View):代表用戶交互界面,一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理。2) 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)是MVC最主要的核心部分。業(yè)務(wù)模型包含一個(gè)很重要的模型數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù)

47、保存(持久化),所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。3) 控制(Controller):可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。2. 【中等題】 簡述MVC的優(yōu)缺點(diǎn)。優(yōu)點(diǎn):開發(fā)效率高。松耦合,程序靈活性和擴(kuò)展性好。代碼重用度更高。易于人員分工。缺點(diǎn):1) 代碼復(fù)雜度增加。2) 代碼數(shù)量增加。3) 不適合開發(fā)小型項(xiàng)目。第三十二章 國際化筆試題一、 填空題1. 【基礎(chǔ)題】資源文件的后綴名是 properties 。2. 【基礎(chǔ)題】一個(gè)資源文件的名稱是appenUS.properties, 其中app是指 基本名稱 , en是指 語言編碼

48、 , US是指 國家編碼 。3. 【基礎(chǔ)題】資源文件中可以添加不同國家的語言字符, 編寫完成后需要轉(zhuǎn)換稱 Unicode 編碼。二、 選擇題1. 【基礎(chǔ)題】資源文件通常放置在WEB工程的(A)中。A. classes 目錄B. WEB根目錄C. tomcat根目錄D. WEB-INF目錄三、 名詞解釋1. 【基礎(chǔ)題】I18N:國際化(internationalization)的簡稱。指的是在軟件設(shè)計(jì)階段,就應(yīng)該使軟件具有支持多種語言和地區(qū)的功能。四、 問答題第三十三章 上傳與下載筆試題一、 填空題1. 【中等題】如果tomcat的安裝路徑是c:/tomcat5, 已經(jīng)將一個(gè)名稱為test的WE

49、B應(yīng)用程序發(fā)布到tomcat中, 在一個(gè)servlet中使用 this.getServletContext().getRealPath(/)方法得到的路徑是 c:/tomcat5/webapps/test/ 。2. 【基礎(chǔ)題】文件上傳功能中, 頁面表單的請求方式應(yīng)設(shè)成 POST 表單類型應(yīng)設(shè)成 multipart/form-data, 使用表單元素二、 選擇題3. 【中等題】如果需要在url中傳遞中文參數(shù), 需要對(duì)中文進(jìn)行編碼, 應(yīng)該采取以下哪個(gè)方法(A)。A. URLEncode.encode()B. URLDecoder.decode()C. request.setCharacterEnc

50、oding()D. response.setCharacterEncoding()三、 名詞解釋四、 問答題第三十四章 Struts筆試題一、 填空題1. 【基礎(chǔ)題】 Struts的核心配置文件名稱是 struts-config.xml 。2. 【基礎(chǔ)題】 Struts的標(biāo)記庫有 struts-html標(biāo)記庫, struts-bean標(biāo)記庫, struts-logic 標(biāo)記庫, struts-nested標(biāo)記庫, struts-tiles標(biāo)記庫。3. 【基礎(chǔ)題】 Struts中使用 標(biāo)記顯示錯(cuò)誤消息,使用 標(biāo)記顯示資源文件中的數(shù)據(jù), 使用 struts-logic 標(biāo)記庫執(zhí)行頁面邏輯處理。4.

51、 【基礎(chǔ)題】在ActionForm中定義 FormFile 類型的屬性可以方便的處理上傳。5. 【基礎(chǔ)題】一個(gè)Action通??梢耘渲靡粋€(gè)或多個(gè)ActionForard, ActionForward必須配置 name 和 path 兩個(gè)屬性。二、 選擇題三、 名詞解釋1. 【基礎(chǔ)題】 Strtus: Struts是一個(gè)非常流行的MVC框架, 是Apache軟件基金會(huì)Jakarta項(xiàng)目中的一個(gè)子項(xiàng)目Struts采用JSP作為MVC的視圖, 采用JavaBean充當(dāng)模型部分, 由ActionServlet具體指定的Action動(dòng)作類作為控制器,負(fù)責(zé)視圖與模型之間的交互。四、 問答題1. 【中等題】

52、簡述Struts的工作流程。1) 控制器讀取配置文件進(jìn)行初始化工作。2) 控制器接收Http請求,并從ActionConfig中找出對(duì)應(yīng)于該請求的Action子類,如果沒有對(duì)應(yīng)的Action,控制器直接將請求轉(zhuǎn)發(fā)給JSP或者靜態(tài)頁面。3) 在控制器調(diào)用具體的Action的execute方法之前,ActionForm對(duì)象將利用Http請求中的參數(shù)來填充自已。還可以在ActionForm類中調(diào)用validate方法來檢查請求參數(shù)的合法性,并且可以返回一個(gè)包含所有錯(cuò)誤信息的ActionErrors對(duì)象。4) 執(zhí)行具體的的Execute的方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。執(zhí)行完后,返回一個(gè)ActionForward對(duì)象,控制器通過該ActionForward對(duì)象來進(jìn)行轉(zhuǎn)發(fā)工作。第三十五章 Hibernate筆試題一、 填空題1. 【基礎(chǔ)題】Hibernate關(guān)注應(yīng)用程序的 持久 層。2. 【基礎(chǔ)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論