【文章內(nèi)容簡(jiǎn)介】
象的getServletContext()方法獲得,在Servlet中提供的getServletContext()方法也可是直接獲得ServletContext對(duì)象。l getServletContext: public ServletContext getServletContext()。 返回這個(gè)Servlet的ServletContext對(duì)象。關(guān)于HttpSession的getAttibute()和setAttribute()方法,正確的說(shuō)法是_____(多選)A、getAttributer()方法返回類型是StringB、getAttributer()方法返回類型是ObjectC、setAttributer()方法保存數(shù)據(jù)時(shí)如果名字重復(fù)會(huì)拋出異常D、setAttributer()方法保存數(shù)據(jù)時(shí)如果名字重復(fù)會(huì)覆蓋以前的數(shù)據(jù)參考答案:B、DServlet API解釋如下:getAttribute(name)Returns the object bound with the specified name in this session, or null if no object is bound under the name.可以運(yùn)行以下代碼測(cè)試:HttpSession session=()。 (name, limei)。 (name, liyan)。 (ppp:+(name))。使得HttpSession失效的三種方式是______、_______、和_________參考答案:關(guān)閉瀏覽器、調(diào)用session的invalidate方法和等待session超時(shí)測(cè)試在其他瀏覽器下Session的生命周期,如:Firefox、Chrome等。略。第三章 JSP基礎(chǔ)下列關(guān)于JSP執(zhí)行過(guò)程的說(shuō)法正確的是____ (多選)A、JSP在容器啟動(dòng)時(shí)會(huì)被翻譯成Servlet,并編譯為字節(jié)碼文件。B、JSP在第一次被請(qǐng)求時(shí)會(huì)被翻譯成Servlet,并編譯成字節(jié)碼文件。C、在第二次請(qǐng)求時(shí),將不再執(zhí)行翻譯步驟D、如果JSP頁(yè)面有錯(cuò)誤將不再執(zhí)行翻譯步驟。參考答案:B、C、DJSP是一種Servlet,但是與HttpServlet的工作方式不太一樣。HttpServlet是先由源代碼編譯為class文件后部署到服務(wù)器下,先編譯后部署。而JSP則是先部署源代碼后編譯為class文件的。先部署后編譯。JSP會(huì)在客戶端第一次請(qǐng)求JSP文件時(shí)被編譯為HttpJspPage(接口Servlet的一個(gè)子類),該類被服務(wù)器臨時(shí)存放在服務(wù)器的工作目錄里面。舉例說(shuō)明JSP編譯過(guò)程:。Tomcat首先將jsp文件轉(zhuǎn)化為標(biāo)準(zhǔn)的Java源代碼,存放在Tomcat工作目錄下,編譯完后再運(yùn)行class文件來(lái)響應(yīng)客戶端請(qǐng)求。以后訪問(wèn)jsp時(shí),服務(wù)器將不再重新編譯JSP文件而是直接調(diào)用class文件來(lái)響應(yīng)客戶端請(qǐng)求。下列不屬于JSP構(gòu)成元素的是_____A、腳本B、聲明C、表達(dá)式D、JavaScript 參考答案:D下列注釋方式可以再JSP中使用并且客戶端無(wú)法查看的是____A、!—注釋B、%注釋%C、%注釋%D、%!注釋%參考答案:C 在JSP頁(yè)面中可以使用% %的方式來(lái)注釋,服務(wù)器編譯JSP時(shí)會(huì)會(huì)忽略% %之間的內(nèi)容,所以生成的注釋在客戶端是看不到的。下列JSP表達(dá)式的寫法正確的是_____(多選)A、%=”abcdefg”.length()%B、%=”abcedfg”+123%C、%=new ()%D、%=this%參考答案:A、B、C、D都是表達(dá)式,abcdefg是字符串,length()是求該字符串的長(zhǎng)度,123是數(shù)字,會(huì)自動(dòng)轉(zhuǎn)為字符,new ()是一個(gè)匿名對(duì)象,顯示當(dāng)前的系統(tǒng)時(shí)間。This代表本類對(duì)象的引用變量。@171194d。 在JSP頁(yè)面中有下述代碼,第二次訪問(wèn)此頁(yè)面的輸出是______ %! Int x=0。 % % Int y=0。%%=x++,%=y++A、0,0B、0,1C、1,0D、1,1參考答案:C聲明中定義的是全局變量,可以在整個(gè)應(yīng)用中使用。所以第二次訪問(wèn)時(shí)變量x為1,以后每次訪問(wèn)會(huì)自增,而在腳本中定義的變量只在本頁(yè)面內(nèi)有效。第二次訪問(wèn)和第一次訪問(wèn)一樣沒有變化都是0. 找出下述代碼中的錯(cuò)誤%! int x。 int method(){ return x++)。}%% int x=method()。 int y。%%=method()。%參考答案:%=method()。%修改為%=method()%.表達(dá)式后面不允許有分號(hào)。 編寫JSP頁(yè)面,輸出100以內(nèi)的素?cái)?shù)核心參考代碼% int m,i,j。 boolean f。for(i=2。i=100。i++){f=true。m=(int)(i)。 for(j=2。j=m。j++)if(i%j==0) {f=false。break。}}if (f) (i+ )。%第四章 JSP指令和動(dòng)作下列page指令的使用正確的是______(多選)A、%@ page import=.* .* %B、%@ page import=.*, .* %C、%@ page import=.*;.* %D、%@page import=.* %%@page import=.* %參考答案:B、DImport屬性可以在當(dāng)前頁(yè)中引入JSP腳本代碼中需要用到的其他類,需要引入多個(gè)類或包時(shí),可以在中間使用逗號(hào)隔開:%@ page import=.*, .* %或使用多個(gè)page指令:%@page import=.* %%@page import=.* %下列useBean標(biāo)準(zhǔn)動(dòng)作使用正確的是_____A、jsp:useBean id=a class= scope=request/jsp:useBeanB、jsp:useBe