幫助題目java面試題試題集共分為以下十部分_第1頁
幫助題目java面試題試題集共分為以下十部分_第2頁
幫助題目java面試題試題集共分為以下十部分_第3頁
幫助題目java面試題試題集共分為以下十部分_第4頁
幫助題目java面試題試題集共分為以下十部分_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、Core1—題1—頁1—題1—頁—題—頁—題—頁—題—頁IO&—題—頁二、OOAD&—題—頁三、—題—頁四、—題—頁五、JDBC&—題—頁六、—題—頁七、EJB&—題—頁&&—題—頁九、—題—頁十、Weblogic1—1355—57基礎及語法部分:(61題:基60道、11、面向對象的特征有哪些方面?【基礎】 封裝封裝是把過程和數(shù)據(jù)包圍起來數(shù)據(jù)的只能通過已定義的界面。面√√√√√√√×√√××√×××4、floatfloatf=3.4答:不正確精度確,應該用強制類型轉換如下所示floatf=(float)3.4答:不能;應該用強制類型轉換,如下所示:floatf=(float)1.3;6、shorts1=1;s1=s1+1;有什么錯?shorts11;s11;答:shorts11;s1s11;s1+1intshorts1=1;s1+=1;8、intIntegerintjava的原始數(shù)據(jù)類型,Integerjavaint提供的封裝類。Java為每個原始類型提供了封裝類:BooleanharacterByteShotIntegeLonFlatDouble值。對象實例變量的缺省值為null,而原始類型實例變量的缺省值與答:&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)布爾型,而且可以操作數(shù)值型b.邏輯操作不會產(chǎn)生短路。12、Math.round(11.5)Math.round(-11.5)接近的長整數(shù),參數(shù)加1/2后求其floor。13、swtichbytelong答:switch(expr1)中,expr1是一個整數(shù)表達式。因此傳遞給switch和caseintshort、charbyte。long,string都不能作用swtich。答:2<<3。15length()Stringlength()這個方法?【基礎】Overloading。18、兩個對象值相同(x.equals(y)truehashcode,這句話對不對?【基礎】hashcode答:AB并可返回變化后的結果,那么這里到底是值傳遞還是傳遞?【基礎】答:是值傳遞。Java編程語言只有值傳遞參數(shù)。當一個對象實例作為一個參數(shù)方法中改變,但對象的是不會改變的。答:publicStringtranslate(Stringstr){StringtempStr="";tempStr=newString(str.getBytes("ISO-8859-1"),"GBK");tempStr=tempStr.trim();}catche){}return}24、StringStringBufferStringBuilder區(qū)別答:StringStringBuffer,String,那么使用StringBuffer的toString()方法;線程安全;程使用的等價類;通常應該優(yōu)先使用StringBuilder類,因為它支持所有相同25、OverloadOverride的區(qū)別。Overloaded的方法是否可以改變返回值的類型?【基礎】(Overriding)。子類的對象使用這個方法時,將調用法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。26ABclassA{inta=1;doubled=2.0;voidshow(){System.out.println("ClassA:a="+a}}classBextendsfloatStringd="Javaprogram.";voidshow(){super.show(System.out.println("ClassB:a="+a}}Aa=newA(); Ab=newB();ClassA:a=1d=2.0ClassA:a=1ClassB:a=3.0d=Javaprogram29 答:方法的存在而不去實現(xiàn)它的類被叫做抽象類( 這樣的接口而獲得。接口中的所有方法都是抽象的,所有成員變量都是public對象上調用接口的方法由于有抽象類允許使用接口名作為變量的類型。通常的動態(tài)聯(lián)編將生效??梢赞D換到接口類型或從接口類型轉換,instanceof運算符可以用來決定某對象的類是否實現(xiàn)了接口。30、StaticNestedClassInnerClass 時是synchronized?【基礎】答:不可以,如果其中包含對象的method(),不能保證對象初始化。答:GC是收集的意思(GabageCollection),內存處理是編程人員容易出JavaGC心內存管理,因為收集器會自動進行管理。要請求收集,可以調用下面的方法之一:System.gc()或Runtime.getRuntime().gc()。答:Java語言中一個顯著的特點就是引入了回收機制,使c++程序員最頭疼的內存管理。由于有個回收機制,Java中的對象不再有“作用域”的概念,只有 制有分代回收和標記回收,增量回收。主動通知虛擬機進行回收?【基礎】答:對于GC來說,當程序員創(chuàng)建對象時,GC就開始這個對象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是"可達的",哪些對象是"不可達的"。當GC些對象為"不可達"時,GCSystem.gc(),通知GC運行,但是Java語言規(guī)范并不保GC一定會執(zhí)行。39、Strings=newString(“xyz”);StringObject?答:兩個對象,一個是"xyx",一個是指向"xyx"的對象s。繼承實體類(concreteclass)?【基礎】publicstatic,所有方法默認情況下是public.一個類可以實現(xiàn)多個接口。答:常用的類:BufferedReaderBufferedWriterFileReaderFileWirterStringInteger;常用的包:java.langjava.awtjava.iojava.utiljava.sql;常用的接口:RemoteListMapNodeList44、AnonymousInnerClass(內部類)是否可以extends(繼承)其它類?是否可以implements(實現(xiàn))interface(接口)?【基礎】OverridingOverloadingjava多態(tài)性的不同表現(xiàn);覆OverridingOverloading是一個類java.lang.Threadjava.lang.Number(T)3)java.lang.Double(F)4) (F)5) (F)6) (F7)java.lang.ClassLoader(T)答:1、2、7可以被繼承。class}public}}classBextendsA{static{}public}}publicclasspublicstaticvoidmain(String[]AabnewB();1a2babnewB();1a2b2b}}50packagepublicclass{public{System.out.println("FatherClass}}packagetest;importpublicclassChildClassextends{publicChildClass(){System.out.println("ChildClassCreate");}publicstaticvoidmain(String[]{FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}}ChildClassCreatepackagepublicclass{privateclass{public{System.out.println("InterClass}}publicOuterClass()InterClassic=newInterClass();}publicstaticvoidmain(String[]{OuterClassoc=new}}InterClassCreateOuterClasspublicclassOuterClass{privatedoubled1=1.0;//insertcode}Youneedtoinsertaninnerclassdeclarationatline3,Whichinnerclassdeclarationsarevalid?(Chooseclasspublicstaticdoublemethoda(){return}publicclassstaticdoublemethoda(){return}privateclassdoublemethoda(){return}staticclassprotecteddoublemethoda(){return}class double}的非靜態(tài)變量;故D錯;非靜態(tài)內部類的非靜態(tài)成員可以外部類的非靜態(tài)變量;故C正確數(shù)字還可調用StringvalueOf(…)方法返回相應字符串,而對于包裝類型數(shù)字則可調用其toString()方法獲得相應字符串;方法即可實現(xiàn)字符串的反轉,調用rece方法即可實現(xiàn)字符串的替換。Strings1Strings2=newString(s1.getBytes("GB2312"),"ISO-8859-隔?!净A】publicString[]split(Stringstr,intchars){intn=(str.length()+chars-/chars;Stringret[]=newString[n];for(inti=0;i<n;i++){if(i<n-ret[i]=str.substring(i*chars,ret[i]=}}return}57、寫一個函數(shù),2個參數(shù),1個字符串,1個字節(jié)數(shù),返回截取的字符串,要求字符串中的中文不能出現(xiàn)亂碼:如ABC”,4)應該截為“我AB”,輸入(ABCDEF”,6)ABC”ABC+漢的半個”。【基礎】答:publicStringsubString(Stringstr,int{intbytes=0;//用來字符串的總字節(jié)for(inti=0;i<str.length();{if(bytes==subBytes){returnstr.substring(0,}charc=str.charAt(i);if(c<256){bytes1;}elsebytes22if(bytes-subBytes==1){returnstr.substring(0,}}}return}答:1java.util.CalendarCalendar.getInstanceget()方Calendartime=Calendar.getInstance();答:publicclassYesterdayCurrent{publicstaticvoidmain(String[]args){Calendarcal=cal.add(Calendar.DATE,-1);}}答:JavaScriptJava是兩個公司開發(fā)的不同的兩個產(chǎn)品。JavaSUN公司推JavaScriptNetscapeNetscapeNavigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和驅動的解釋性語言,JavaScript是種語言,它可以用來制作與網(wǎng)絡無關的,與用戶交互作用的復雜軟件。它是一種基于對象(ObjectBased)和驅動(EventDriver)的支持這種機制。一般來說,assertion用于保證程序最基本、關鍵的正確性。assertion檢查通常在開發(fā)和測試時開啟。為了提高性能,在軟件發(fā)布后,true;false,那么系統(tǒng)會報告一個Assertionerror。assert(a>0);//throwsanAssertionerrorifa<=assertExpression1assertExpression1Expression2Expression1信息的String消息。source1.4javac-source1.4enableassertionsea要在運行時選擇禁用斷言,可使用-da或者-disableassertions標記。異常部分:(共8題8答:當JAVA程序了JAVA的語義規(guī)則時,JAVA虛擬機就會將發(fā)生的錯誤表示為一個異常。語義規(guī)則包括2種情況。一種是JAVA類庫內置的語義檢查。例如數(shù)組下標越界,會IndexOutOfBoundception;null的對象時會NullPointerExceptionJAVA查,程序員可以創(chuàng)建自己的異常,并在何時用throw關鍵字異常。所有的異常都是java.lang.Thowable的子類。exception64、tryreturntry后的finally答:會執(zhí)行,在return前執(zhí)行。分別代表什么意義?在try塊中可以拋出異常嗎?【基礎】異常信息,調用這個對象的方法可以捕獲到這個異常并進行處理。Java可以在一個成員函數(shù)調用的外面寫一個try語句,在這個成員函數(shù)內部寫另一個trytry語句,“異常”的框架就放到堆棧上面,理,堆棧就會展開,直到遇到有處理這種“異常”的try語句。ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IndexOutOfBoundception,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException68、final,finally,finalize答:final:修飾符(關鍵字);如果一個類被為final,意味著它不能再派生出新的子類,不能作為父類被繼承,因此一個類不能既被為的,又被為final的;將變量或方法為final,可以保證它們在使用中不被改變;被為final的變量必須在時給定初值,而在以后的中只能讀取,不可修改;被為final的方法也同樣只能使用,不能重載。finalize:方法名;Java技術允許使用finalize()方法在收集器將理工作。finalize()方法是在收集器刪除對象之前對這個對象調用的。thrownew}catch(ExampleA{}catch(Exception{} 答:輸出為A。集合部分:(共11題1170JAVACollectionFrameWork(及如何寫自己的數(shù)據(jù)結構)【基礎】答:CollectionFrameWork如下:│Collection(Elements);Mapkeyvalue答:List,Set是;Map不是。答:最常用的集合類是List和Map。List的具體實現(xiàn)包括ArrayList和素列表。List適用于按數(shù)值索 元素的情形。Map提供了一個更通用元素方法。Map集合類用于元素對(稱作“鍵”和“值”),其中每73ArrayList,Vector,LinkedList的性能和特性?【基礎】答:ArrayListVector都是使用數(shù)組方式數(shù)據(jù),此數(shù)組元素數(shù)大于實際素要涉及數(shù)組元素移動等內存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vectorsynchronized(線程安全),ArrayListLinkedList使向鏈表實現(xiàn),按序號索引數(shù)據(jù)需要進行前向或后向遍歷,但74、CollectionCollections答:Collectionjava.utilSetList;Collectionsjava.util4)HashtableSynchronizeHashMap不是,在多個線程排序。Map保存key-value值,value可多值。equals()?答:Set里的元素是不能重復的,用equals()方法來區(qū)分重復與否。覆蓋決定值是否指向同一對象。79101-10,按從小到大順序輸出,并輸出packageimportjava.util.ArrayList;importjava.util.I importjava.util.List;importjava.util.Random;publicclassRandomSort{publicstaticvoidprintRandomBySort()RandomrandomnewRandom();Listlist=newfor(inti=0;i<10;i++){} torit=list.i intcount=0;while(it.hasNext())System.out.println(++count+":"+}}publicstaticvoidmain(String[]{}}packagetest;classInsertSort{ArrayListpublicInsertSort(intnum,int{al=newArrayList(num);Randomrand=newSystem.out.println("TheArrayListSortBefore:");for(inti=0;i<num;i++){al.add(newInteger(Math.abs(rand.nextInt())%mod

}}publicSortIt(){tempInt;intMaxSize=1;i=1;i<al.size();i++){tempInt=if(tempIValue()>=for(intj=0;j<MaxSize;j++if}}}}System.out.println("TheArrayListSortAfter:");for(inti=0;i<al.size();i++){}}publicstaticvoidmain(String[]args){InsertSortis=newInsertSort(10,100);is.SortIt();}}JAVAjava.io.SerializableCollectionComparable接口和Comparator接口。線程部分:(共10題7道381、sleep()wait()notify方法(入此對象的其它方法?【基礎】答:wait():使一個線程處于等待狀態(tài),并且釋放所持有的對象的lock;JVM確定喚醒哪個線程,而且不現(xiàn)方面有兩種,分別是synchronized,wait與notify。JVM88synchronizedjava.util.concurrent.locks.Lock的異同?【中等主要不同點:Lock有比synchronized更精確的線程語義和更好的性能。synchronized會自動釋放鎖,而Lock一定要求程序員手工釋放,并且必須在finally從句中釋放。stop()suspend()方法為何不推薦使用?【中等難度】線程應該掛起,便用wait()命其進入等待狀態(tài)。若標志線程應當恢復,則用一個notify()重新啟動線程。publicclassTestThread{privateintj;publicTestThread(intj){this.j=j;}privatesynchronizedvoidinc(){System.out.println(j+"--Inc--"}privatesynchronizedvoiddec(){j--;System.out.println(j+"--Dec--"}publicvoid{(newnewThread(newInc()).start();(newDec()).start();newThread(new}classDecextends{publicvoidrun(){for(inti=0;i<100;i++){}}}classIncimplements{publicvoidrun(){for(inti=0;i<100;i++){}}}publicstaticvoidmain(String[]{(new}}間。序列化是為了解決在對對象流進行讀寫操作時所的問題;后使用一個輸出流(如FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStreamwriteObject(Objectobj)93、文件 Filefile=newFile("e:\\總結");File[]files=file.listFiles();for(inti=0;i<files.length;i++){if(files[i].isFile())}Filefile=newFile("e:\\總結");File[]files=file.listFiles();for(inti=0;i<files.length;i++){if(files[i].isDirectory())}FileInputStreamfin=newFileInputStream("e:\\tt.txt");byte[]bs=newbyte[100];intlen=fin.read(bs);if(len<=0)break;System.out.print(new}FileWriterfw=newfw.write("oworld!"+94publicintcountWords(Stringfile,Stringfind)throws{intcount=Readerin=newFileReader(file);intc;while((c=in.read())!=-{while(c=={for(inti=1;i<find.length();{c=if(c!=find.charAt(i))if(i==find.length()-1)}}}return}答:Server端程序:packagetest;importjava.io.*;publicclassprivateServerSocketss;privateSocketsocket;privateBufferedReaderin;privatePrintWriterout;publicServer(){trysocket=ss.accept();StringRemoteIP=StringRemotePort=":"+socket.getLocalPort();System.out.println("Acomein!IP:"+RemoteIP+RemotePort);in=newBufferedReader(newStringline=in.readLine();System.out.println("Cleintsendis:"+line);out=newout.println("YourMessageReceived!");}}catch}}publicstaticvoidmain(String[]args){newServer();}}packagetest;importjava.io.*;import.*;publicclass{Socketsocket;PrintWriterout;public(){trySystem.out.println("TrytoConnecttosocket=newSocket("",10000);System.out.println("TheServerConnected!");System.out.println("PleaseentersomeCharacter:");BufferedReaderline=newBufferedReader(newout=newPrintWriter(socket.getOutputStream(),true);in=newnew}}publicstaticvoidmain(String[]{new}}方法獲取對它的,繼而調用其中的方法。publicclass{privateprivatestaticSingletoninstance=newSingleton();publicstaticSingletongetInstance(){return}}publicclassSingletonprivatestaticSingletoninstance=null;publicstaticsynchronizedSingletongetInstance(){if(instance==null)instance=newSingleton();return}}其他形式:privatestatic一般認為第一種形式要更加安全些。答:SessionFacadePattern:使用SessionBeanEntityBean;MessageFacadePattern:實現(xiàn)異步調用; Facade(門面模式),Adapter(適配器模式),Bridge(橋梁模式),Composite問者模式),Itor(迭代子模式),Mediator(調停者模式),無需在重復相同的工作。主要用到了MVC的設計模式,用來開發(fā)JSP/Servlet或者J2EE的相關應用;及簡單工廠模式等。三、XML部分:(共411道2DTDschemaDOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構DOM必須在解析文件之前把整個文檔裝入內存,適合對XML的隨機;頭與結束時,它會觸發(fā)一個,用戶通過在其回調中寫入處理代碼來XMLXML的順序;STAX:StreamingAPIforXML(StAX)XMLXMLpackagetest;publicclassprivateStringinFile="c:\people.xml";privateStringoutFile="c:\people.xml";publicstaticvoidmain(Stringargs[]){new}DOMTest(){trjavax.xml.parsers.Builderbuilder=org.w3c.dom.doc=builder.new org.w3c.dom.Elementrootdoc.createElement("老師");org.w3c.dom.Elementwang=doc.createElement("王");org.w3c.dom.Elementliu=doc.createElement("劉");wang.appendChild(doc.createTextNode("我是"));javax.xml.transform.Transformertransformer=utKeys.INDENT,"yes");new}catch(Exceptione){}}}答:用SAX方式解析XML,XML文件如下:<?xmlversion="1.0" <name><college>< </ SAXHandler.javaimportimportorg.xml.sax.*;publicclassSAXHandlerHandlerBase{privateHashtabletable=newHashtable();privateStringcurren=null;privateStringcurrentValue=publicvoidsetTable(Hashtabletable){this.table=table;}publicgetTable(){return}publicvoidstarement(Stringtag,Attribuistthrowscurrenement=}publicvoidcharacters(char[]ch,intstart,intSAXException{currentValue=newString(ch,start,}publicvoidendElement(Stringname)throwsSAXException{if(currenement.equals(name))table.put(currenement,}}<%@pageerrorPage="ErrPage.jsp"<%@pageimport="java.io.*"<%@pageimport="java.util.Hashtable"<%@pageimport="org.w3c.dom.*"<%@pageimport="org.xml.sax.*"<%@pageimport="javax.xml.parsers.SAXParserFactory"<%@pageimport="javax.xml.parsers.SAXParser"<%@pageimport="SAXHandler"Filefile=newFile("c:\people.xml");FileReaderreader=newFileReader(file);Parserparser;SAXParserFactoryspf=SAXParserFactory.newInstance();SAXParsersp=spf.newSAXParser();SAXHandlerhandler=newSAXHandler();sp.parse(newInputSource(reader),handler);HashtablehashTable=handler.getTable();out.println("<TABLEBORDER=2><CAPTION>"+out.println("<TR><TD></TD>"+"<TD>"+(String)hashTable.get(newString("name"))+out.println("<TR><TD>學院</TD>"+"<TD>"+ </TD>"+"<TD>"+(String)hashTable.get(newString("ephone"))+out.println("<TR><TD>備注</TD>"+"<TD>"++Course課程表(編號,課程名稱)答:1)SQL語句如下:selectstu.sno,stu.snamefromStudentwhere(selectcount(*)fromscwheresno=stu.snoandcno=(selectcnofromCoursewherecname='0;selectcnamefromwherecnoin(selectcnofromscwheresno(selectsnofromStudentwhere '));selectstu.sno,stu.snamefromstudentwhere(selectcount(*)fromscwheresno=stu.sno)=程可以被多個學生選修,通過SC表關聯(lián)。【基礎】答:1)建表語句如下(mysql數(shù)據(jù)庫):createtables(idintegerprimarykey,namevarchar(20));createtablec(idintegerprimarykey,namevarchar(20));createtablesc(sidintegerreferencess(id),cidintegerreferencesc(id),primarykey(sid,cid)selectstu.id,fromswhere(selectcount(*)fromscwhere(selectcount(*)fromc);3)SQL語句如下:selectstu.id,fromswhere(selectcount(*)fromscwhereIDNAME AGEMANAGER(所屬主管人ID)ABCDEF答:SQL語句如下:selectfromtestwhereemployee.age>(selectmanager.agefromtestwhere表 表內到如下結果 NoCityNameStateNoState (Null)(Null) 大 遼 廣 SH(Null)(Null) 寫相應的SQL語句。SELECTC.CITYNO,C.CITYNAME,C.STATENO,S.STATENAMEFROMCITYC,STATESORDERBY(C.CITYNO);答:對象關系映射(Object—RelationalMap,簡稱ORM)是一種為了解決SessionFactory對象;SessionFactory接口:初始化Hibernate,充當數(shù)據(jù)源的,創(chuàng)建session對象,sessionFactory是線程安全的,意味著它的同一個實例可以被應用避免多個線程共享同一個session,是輕量級、一級緩存;答:1)一對多的為<one-to-many>;多對多的為<many-to-many>;2)sessionFactory的緩存為hibernate的二級緩存;Transaction的封裝;默認情況下使用JDBCTransaction。答://首先獲得SessionFactory的對象SessionFactorysessionFactory=newSessionsession=Transactiontx=session.delete(user);//刪除session.update(user);//更新Queryquerysession.createQuery(“fromUser”);Listlist=query.list();session的對象;重量級意味不能隨意的創(chuàng)建和銷毀它的實例,會占答:MSSQLServerconn=DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:sid”,uid,conn=DriverManager.getConnection(“jdbc:mysql 提交事務,即為true,通過設置false自動提交事務;118、Java中數(shù)據(jù)庫的步驟?Statement和PreparedStatement之間的區(qū)別1)驅動4)sql語句;同的SQL語句。publicvoidtestJdbc(){Connectioncon=null;PreparedStatementps=null;ResultSetrs=null;

//step2:獲取數(shù)據(jù)庫連接;/************************//step3:Stringsql="SELECTid,fname,lname,age,ps=rs=while(rs.next()){System.out.print("id="+rs.getLong("id"));System.out.print(",fname="+System.out.print(",lname="+System.out.print(",age="+}/************************JDBC*********************/sql="UPDATE_TblSETage=23WHEREid=?";ps=con.prepareStatement(sql);ps.setLong(1,88);introws=ps.executeUpdate();System.out.println(rows+"rowsaffected.");}catche){}con.close();}catch(Exceptione1)}}}Queryquery=session.createQuery("fromStudent");Collectionstudents=query.list();Oracle中的sqlSELECT*FROM(SELECTa.*,rownumrFROMTB_STUDENT)WHERErbetween2and10"210嵌套方法?!局械入y度】intintStringpages=request.getParameter("page");intcurrentPage=1;currentPage=(pages==null)?(1):{Integer.parseInt(pages)}sql="selectcount(*)fromtables";ResultSetrs=DBLink.executeQuery(sql)while(rs.next())i=rs.getInt(1);intintPageCount=1;intnextPage;intnextPage=if(nextPage>=intPageCount)nextPage=intPageCount;upPage=current1;if(upPage<=1)upPage=1;sql="select*fromtables";while((i<numPages*(current合計:<%=currentPage%>/<%=intPageCount%><ahref="List.jsp?page=1">第一頁<ahref="List.jsp?page=<%=upPage%>">上一頁j=1;j<=intPageCount;j++){if(c<a}}<ahref="List.jsp?page=<%=nextPage%>">下一頁<ahref="List.jsp?page=<%=intPageCount%>">六、Web部分:(共題:基礎40道,基37道3銷毀,所以效率上低于servlet。答:publicclassServletNameextends{publicvoiddoPost(HttpServletRequestHttpServletResponsethrowsServletException,IOException}publicvoiddoGet(HttpServletRequestHttpServletResponsethrowsServletException,IOException}}接地址。前者更加高效,者可以滿足需要時,盡量使用forward()方法,并服務器上的資源,則必須使用sendRedirect()方法。INCLUDE用jsp:include動作實現(xiàn)<jsp:includepage="included.jsp"flush="true"INCLUDE用include偽碼實現(xiàn),它不會檢查所含文件的變化,適用于包含靜態(tài)頁面<%@includefile="included.htm"%>并且提供了幾個用于獲取,header和session數(shù)據(jù)的有用的方法。覽器的響應的方法(如s,頭信息等)。便存取各種范圍的名字空間、servlet相關的對象的API,并且包裝了通用的有關servlet引擎和servlet環(huán)境的信息。答:<%@pagelanguage=”java”contenType=”text/html;charset=gb2312”session=”true”buffer=”64kb”autoFlush=”true”isThreadSafe=”true”info=”text”errorPage=”error.jsp”isErrorPage=”true”isELIgnored=”true”pageEncoding=”gb2312”import=”java.sql.*”%><%@include<%@taglib答:JSP共有以下6種基本動作:jsp:useBean:尋找或者實例化一個JavaBean。;jsp:setProperty:設置JavaBean的屬性。; request:用戶端請求,此請求會包含來自GET/POST請求的參數(shù);out:用來傳送回應的輸出;config:servletpage:JSPGETPOST2)Getvariable=valueaction大量的數(shù)據(jù),所以在上傳文件只能使用Post;getParamter(“name”)checkbox134、頁面中有一個命名為bankNo的下拉列表,寫獲取當前選項的索引值Java:request.getParameter(“bankNo”);varselectItems=.geementsByName(“bank136web開發(fā)工具有:eclipse,jbuilder137、請畫出Servlet2.2以上WebApplication的基本 | JSP頁 WEB-||||138、JSP和Servlet有哪些相同點和不同點,他們之間的聯(lián)系是什么?【基礎】ServletJavaHTML。JSPJavaHTML可以組合成一個擴展名為.jspJSP側重于視圖,Servlet主要用于控制邏輯。答:a.pageJavaservlet(includeinclude動作)表示。這既包括servlet又包括被編譯成servlet的JSP頁面b.requestWeb性。一個Web會話可以也經(jīng)常會多個客戶機請求是整個Web應用程序,包括多個頁面、請求和會話的一個全局作用域。答:setAttribute(Stringname,Object):設置名字為name的屬性值getAttribute(Stringname):返回由name指定的屬性值getAttributeNames():返回request對象所有屬性的名字集合(枚舉)getContentLength():返回請求的Body的長度getHeader(Stringname):獲得HTTP協(xié)議定義的文件頭信息getHeaderNames():返回所有requestHeader的名字(枚舉)getRemoteAddr():獲取客戶端的 地址getServerPort():獲取服務器的端答:<%@pageisThreadSafe=”false”%>答:request,session,application,等果的數(shù)據(jù)傳遞給VIEW顯示。生),"Controller"(Servlet),通答:BEAWebLogicServer,IBMWebSphereApplicationServer,Oracle9iApplicationServer,JBoss,Tomcat。答:publicvoidinit(ServletConfigconfig)publicServletConfiggetServletConfig()publicStringgetServletInfo()publicvoidservice(ServletRequestrequest,ServletResponsepublicvoid開放源碼的frameworkStrutsMVC(Model-View-Controller)設計模式的應用構架。Struts有如下的主要功能:controllerservletActionPCOracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b的客戶端軟件。B/S是Brower/ServerWeb應用程序,客戶機上只要安裝一個瀏覽器(Browser)NetscapeNavigatorInternetExplorer,Oracle、Sybase、InformixSQLServer等數(shù)據(jù)庫。在這種結構下用戶界面完全通過WWW瀏覽器實現(xiàn)一部分事務邏輯端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn)。瀏覽器通過WebServerC/SB/SB/S覽器就行;的信息系統(tǒng)采用C/S結構適宜.可以通過B/S發(fā)布部分可;BizTalk2000Exchange2000SUN和IBMJavaBean構件技術等,使B/S更加成熟;級難.可能是再做一個全新的系統(tǒng);減到最小.用戶從網(wǎng)上自己安裝就可以實現(xiàn)升級;作系統(tǒng)相關.應該都是相同的系統(tǒng);的.與操作系統(tǒng)平臺關系最??;B/SC/S程序一般是典型的的機械式處理,交互性相對低B/S信息流向可變化,B-BB-CB-G等信息、流向的變化,更像中心152對客戶端的請求統(tǒng)一編碼和對客戶端進行認證】(implementsFlterFilter法:init(FilterConfigconfig)FilterConfigdoFilter(ServletRequestrequest,ServletResponsedestroy()//銷毀Filter。153、簡述HttpSession的作用、使用方法,可用代碼說明。(3分鐘)【基礎】答:HttpSession中可以并用戶信息,把值設置到屬性中,有2個方法:例如:在一個方法中用session.setAttribute(“student”,student);在sessionstudentstudent的對象。而后可在答:在JSP中使用JavaBean常用的動作有:答:JSPforward:<jsp:forwardSerlvet中實現(xiàn)請求轉發(fā)的方式為:weblistener、filterservlet答:<c:if>、<c:choose>、<c:when>、<c:otherwise>、<c:forEach>、<c:set答:<bean:message <html:errors<bean:include <html:messages<bean:define <bean:write <bean:resource <bean:cokkie <bean:heder <logic:present<bean:parameter <logic:equal<bean:size答:作用:分離jsp頁面的內容和邏輯;可重用并且易寫tld文件;把jsp頁面和 importjavax.servlet.jsp.*;importjava.io.*;publicclassTimeTagSimpleTagSupport{privatebooleanisServer=publicvoidisServer){this.isServer=}publicvoiddoTag()throwsJspException,IOException{JspWriterout=getJspContext().getOut();if(isServer){out.println(newout.println(".write(newDate());");}}}變量,而且內置大量現(xiàn)成對象,編寫少量程序可以完成目標;3)Javascript有11種內置對象:所創(chuàng)建(如Tomcat)的,所以JavaBean應具有一個無參的構造器,另外,通實際上相當于微軟COM模型中的本地進程內COM組件是不能被跨進程 的。EnterpriseJavaBean相當于DCOM,即分布式組件。它是基于Java的 必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接由容器所創(chuàng)建和管理。客戶通過容器來真正的EJB組件。(Session)Bean(Entity)Bean(MessageDriven)Bean;會話Bean又可分為有狀態(tài)(Stateful)和無狀態(tài)(Staess)兩種;實體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種。CreateRemoteRemote不同的開發(fā)商提供,每個角色所作的工作必須遵循Sun公司提供的EJB規(guī)范,以Provider)、應用組合者(ApplicationAssembler)、部署者(Deployer)、EJB(EJBServerProvider)、EJB(EJBContainer據(jù)庫的連接等等重要的工作;三個對象是Remote(Local)接口、Home(LocalHome)接口,Bean167、EJBSessionBeanEntityBean的區(qū)別,StatefulBean和StaessBean的區(qū)別。【中等難度答:EJBSessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JTA等技術實現(xiàn)。SessionBean在J2EE應用程序中被用來完成一些服務器端的業(yè)務操作,例如數(shù)據(jù)庫、調用其他EJB組件。EntityBean被用來代表應用系統(tǒng)中用到的數(shù)據(jù)。SessionBean還可以再細分為StatefulSessionBean與Staess一個使用者會有一個相對應的StatefulSessionBean的實體。StaessSessionBean當使用者呼叫StaessSessionBean的時候,EJBContainer并不會找尋特定的StaessSessionBean的實體來執(zhí)行這個method。換言之,很可能數(shù)個使用者在執(zhí)行某個StaessSessionBean的methods時,會是同一個Bean的Instance在執(zhí)行。從內存方面來看,StatefulSessionBean與StaessSessionBean比較,StatefulSessionBean會消耗J2EEServerStatefulSessionBean168、bean答:對于StaessSessionBean、EntityBean、MessageDrivenBean一般EntityBeanStatefullSessionBeanCacheEJBObject(create)、業(yè)務方StatefulSessionBeanCache實例)回復(激活)此實例。狀態(tài)變遷前會調用對應的ejbActive和答:SessionBean:StaessSessionBean的生命周期是由容器決定的,當客StatefulSessionBean時,容器必須立即在服務器中創(chuàng)建一個新方法時容器會把調用分派到與此客戶機相關聯(lián)的BeanEntityBean:Entity容器了,Entitybeans也是存活的。EntityBeans生命周期能夠被容器或BeansEJB(OMG)的對象實務服務(OTS),SunMicrosystemsTransactionService(JTS)、JavaTransactionAPI(JTA),開發(fā)組(X/Open)的XA接口。答:是通過使用容器或Bean自身管理事務的;173、EJB需直接實現(xiàn)它的業(yè)務接口或Home接口嗎?請簡述理由。【中等難度】答:接口和Home接口不需要直接實現(xiàn),他們的實現(xiàn)代碼是由服務器產(chǎn)生的,J2EEWEB容器;EJBEnterprisejavabeanEJBJ2EEEJB放入該容器,JNDI:(JavaNaming&DirectoryInterface)JAVA命名服務。主要提供的功能是:提供一個系統(tǒng),讓其它各地的應用程序在其上面留下自己的JMS:(JavaMessageService)JAVAJTA:(JavaTransactionAPI)JAVAJAF:(JavaActionFrameWork)JAVARMI/IIOP:(RemoteMethodInvocation/internet)他一定的規(guī)范才能在異構的系統(tǒng)之間進行通信。RMI是JAVA特有的。答:J2EE是Sun公司多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級應用模型(enterprieseapplicationmodel).在這機上,并且處于相應的層次(tier)中。所屬層次包括客戶層(clietntier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。Hibernate主要用于數(shù)據(jù)持久化;Struts主要用于流程控制。答:1APIAPI答:lspwdmkdirrmcpmvcdpsftpnetenvmoreA / / 答:順序為:DJGEBKNIFCAa[0:n1a[0:n1middle,而right中的元素都大于等于支點;left所得結果為left+middle+right。voidswap(int&a,b){intc=a;a=b;b=}voidbubble(int*p,intlen){booldobSwapped=false;for(inti=1;i<len;i++){if(1]>p[i]swap(p[i-1],p[i]);bSwapped=true;}}}while(bSwapped}boolprime(intn){if(n<=0)exit(0);for(inti=2;i<=n;i++)for(intj=2;j<=sqrt(i);j++)if((n%j==0)&&(j!=n))returntrue;}有的人全部出列為止。設n個人的編號分別為1,2,…,n,打印出出列的順序;要求用java實現(xiàn)?!局械入y度】答:代碼如下:packagepublicclassCountGameprivatestaticbooleansame(int[]p,intl,intn){for(inti=0;i<l;i++){return}}return}publicstaticvoidy(intyerNum,intstep){int[]p=newint[yerNum];intcounter=1;if(counteryerNum*step){}i=1;i<yerNum+1;i++){while(true){if(same(p,yerNum,i)==false)break;elsei=i+1;}if(i>yerNum)break;System.out.print(i+"");}}}}publicstaticvoidmain(String[] y(10,}}#include<iostream>#include<iomanip>#include<vector>usingnamespacestd;classlongint{longint(void){iv.push_back(1);}longint&multiply(constint&);friendostream&operator<<(ostream&,constlongintostream&operator<<(ostream&os,constlongint{vector<int>::const_reverse_itoriv_iter=v.iv.rbegin();os<<*iv_iter++;for(;iv_iter<v.iv.rend();++iv_iter){os<<setfill('0')<<setw(4)<<*iv_iter;}return}longint&longint::multiply(constint{vector<int>::i toriv_iter=iv.begin();intoverflow=0,product=0;for(;iv_iter<iv.end();++iv_iter){product=(*iv_iter)*rv;product+=overflow;overflow=0;if(product>10000)overflow=product/10000;product-=overflow*10000;}iv_iter=}if(0!={}return}intmain(intargc,char{longintresult;intl=0;cout<<"like:multiply1000"<<endl;}sscanf(argv[1],"%d",&l);for(inti=2;i<=l;++i){}cout<<result<<endl;return0;}charstr1[]="abc";charstr2[]="abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5=

溫馨提示

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

評論

0/150

提交評論