java面試題,java筆試題50道及答案



1、在Java EE中,Servlet是在服務(wù)器端運(yùn)行,以處理客戶端請(qǐng)求而做出的響應(yīng)的程序,下列選項(xiàng)中屬于Servlet生命周期階段的是( )

A、加載和實(shí)例化

B、初始化

C、服務(wù)

D、銷(xiāo)毀

E、以上全部

答案:E 

2、在Java EE中的MVC設(shè)計(jì)模式中,( )負(fù)責(zé)接受客戶端的請(qǐng)求數(shù)據(jù)

A、JavaBean

B、JSP

C、Servlet

D、HTML

答案:C

3、過(guò)濾器應(yīng)實(shí)現(xiàn)的接口是( )。

A、HttpServlet          

B、HttpFilter         

C、ServletFilter        

D、Filter

答案:D 

4、開(kāi)發(fā)Java Web應(yīng)用程序的時(shí)候,創(chuàng)建一個(gè)Servlet,該Servlet重寫(xiě)了父類(lèi)的doGet()和doPost()方法,那么其父類(lèi)可能是( )

A、RequestDispatcher

B、HttpServletResponse

C、HttpServletRequest

D、HttpServlet

答案:D 

5、在Java Web開(kāi)發(fā)中,如果某個(gè)數(shù)據(jù)需要跨多個(gè)請(qǐng)求存在,則數(shù)據(jù)應(yīng)該存儲(chǔ)在( )中

A、session

B、page

C、request

D、Response

答案:A

6、在開(kāi)發(fā)Java Web應(yīng)用程序的時(shí)候,HTTP請(qǐng)求消息使用Get或POET方法以便在WEB上傳輸數(shù)據(jù),下列關(guān)于GET和POST 方法描述正確的是( )

A、POST請(qǐng)求的數(shù)據(jù)在地址欄不可見(jiàn)

B、GET請(qǐng)求提交的數(shù)據(jù)在理論上沒(méi)有長(zhǎng)度限制

C、POST請(qǐng)求對(duì)發(fā)送的數(shù)據(jù)的長(zhǎng)度限制在240——255個(gè)字符

D、GET請(qǐng)求提交數(shù)據(jù)更加安全

答案:A 

7、在JSP中有EL表達(dá)式${10*10 ne 10},結(jié)果是( )

A、100

B、true

C、fasle

D、以上都不對(duì)

答案:B 

8、JSTL標(biāo)簽的分類(lèi)以下說(shuō)法正確的是( )

A、通用標(biāo)簽與迭代標(biāo)簽        

B、核心標(biāo)簽與迭代標(biāo)簽            

C、核心標(biāo)簽與sql標(biāo)簽        

D、以上都不是

答案:C 

9、在Java Servlet API中,HttpServletRequest接口的( )方法用于返回當(dāng)前請(qǐng)求相關(guān)聯(lián)的會(huì)話,如果沒(méi)有,返回null

A、getSession() //=gerSession(true)默認(rèn)為:getSession(true)

B、getSession(true)

C、getSession(false)

D、getSession(null)

答案:C 

10、在Java Web開(kāi)發(fā)中,不同的客戶端需要共享數(shù)據(jù),則數(shù)據(jù)應(yīng)該存儲(chǔ)在( )中

A、session

B、application

C、request

D、response

答案:B

11、利用三層結(jié)構(gòu)搭建某網(wǎng)上書(shū)店系統(tǒng),設(shè)計(jì)用戶登陸界面,如果你是設(shè)計(jì)人員,你將在三層結(jié)構(gòu)的( )中實(shí)現(xiàn)

A、模型層

B、表示層

C、數(shù)據(jù)訪問(wèn)層

D、業(yè)務(wù)邏輯層

答案:B 

12、在Java EE中,( )接口定義了getSession()方法

A、httpServlet

B、HttpSession

C、HttpServletRequest

D、HttpServletResponse

答案:C 

13、JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL)提供的主要標(biāo)簽庫(kù)中,其中( )可用于操作數(shù)據(jù)庫(kù)。

A、核心標(biāo)簽庫(kù)        

B、I18N與格式化標(biāo)簽庫(kù)    

C、XML標(biāo)簽庫(kù)        

D、SQL標(biāo)簽庫(kù)

答案:D 

14、JSP表達(dá)式語(yǔ)言可用于在網(wǎng)頁(yè)上生成動(dòng)態(tài)的內(nèi)容并代替JSP元素,JSP表達(dá)式語(yǔ)言的語(yǔ)法是( )

A、{EL expresion}

B、${EL expresion}

C、@{EL expresion}

D、#{EL expresion}

答案:B 

15、在J2EE的體系結(jié)構(gòu)中,系統(tǒng)的業(yè)務(wù)和功能代碼組成了三層結(jié)構(gòu)中的( )層

A、表示層

B、中間層

C、數(shù)據(jù)層

D、客戶端層

答案:B

16、在JSTL的達(dá)代標(biāo)簽<forEach>的屬性中,用于指定要遍歷的對(duì)象集合( )

A、var

B、items            

C、value    

D、varStatus

答案:B 

17、如果不希望JSP網(wǎng)頁(yè)支持Session,應(yīng)該( )。

A、調(diào)用HttpSession的invalidate()方法

B、<%@ page session= “false”>

C、在jsp頁(yè)面中寫(xiě)入如下代碼HttpSession session=request.getSession(false);

D、調(diào)用HttpSession的setMaxInactiveInterval(),將時(shí)間設(shè)置為0

答案:B 

18、Servlet是一個(gè)在服務(wù)器上運(yùn)行、處理請(qǐng)求信息并將其發(fā)送到客戶端的Java程序()接受服務(wù)請(qǐng)求、找到Servlet類(lèi)、加載Servlet類(lèi)并創(chuàng)建Servlet對(duì)象。

A、客戶端

B、IE瀏覽器

C、Servlet容器

D、Servlet本身

答案:C 

19、MVC設(shè)計(jì)模式包含模型層、視圖層和控制層,在下列組件扮演控制器角色的是( )    

A、Servlet

B、JSP

C、javaBean

D、HTML

答案:A 

20、JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL)的標(biāo)簽庫(kù)描述符文件的后綴是( )

A、.tld

B、.jar

C、.properties

D、.xml

答案:A

21、在J2EE中,以下不是JSP隱式對(duì)象的是( )

A、pageContext            

B、context            

C、application            

D、out

答案:B 

22、在Java Web應(yīng)用程序中,給定servlet A的代碼片段如下所示:        

    Public void doPost(HttpServletRequest request,HttpServletResponse response)

        throws ServletException,IOException{

        String id=”kingdom”;

        _________________

}    

Servlet B與servlet A同在一個(gè)有效的會(huì)話范圍內(nèi),當(dāng)把請(qǐng)求轉(zhuǎn)發(fā)給servlet B后,要

使B能夠獲得”kingdom”值,下劃線處應(yīng)填入( )

A、request.getSession().setAttribute(“ID”,id);

B、request.getSession().getAttribute(“ID”,id);

C、request.getSession().setParameter(“ID”,id);

D、request.getSession().getParameter(“ID”,id);

答案:A 

23、在Java Web應(yīng)用程序中,包含兩個(gè)名為Servlet1和Servlet2的HttpServlet,在web.xml中指定Servlet2的訪問(wèn)路徑為”/servlet2″,Servlet1的doGet方法中的代碼為:

PrintWriter out=response.getWriter();

out.print(“Servlet1″);

RequestDispatcher dispatcher=request.getRequestDispatcher(“/servlet2″);

dispatcher.forword(request,response);

out.close();

Servlet2的doGet方法中的代碼為:

PrintWriter out=response.getWriter();

out.print(“Servlet2″);

out.close();

如果用戶在瀏覽器中訪問(wèn)Servlet1,則瀏覽器將( )                    

A、顯示”Servlet1″

B、顯示”Servlet2″

C、顯示”Servlet1Servlet2″

D、什么也不顯示

答案:B 

24、在Java Web應(yīng)用程序中,使用數(shù)據(jù)源與JNDI獲得數(shù)據(jù)庫(kù)連接時(shí),應(yīng)把JDBC驅(qū)動(dòng)程序jar文件放在( )下:                                                

A、應(yīng)用程序的src目錄

B、應(yīng)用程序的/WEB-INF/lib目錄

C、Tomcat的根目錄

D、Tomcat的common/lib目錄

答案:D 

25、在Java Web 應(yīng)用中,下面關(guān)于HttpSession的說(shuō)法正確的是( )(選擇二項(xiàng))

A、Servlet容器負(fù)責(zé)創(chuàng)建HttpSession對(duì)象

B、每個(gè)HttpSession對(duì)象都有唯一的ID

C、客戶端瀏覽器負(fù)責(zé)為HttpSession分配唯一的ID

D、HttpSession 對(duì)象的ID值,由程序員進(jìn)行分配

答案:AB

26、在HTTP協(xié)議中,請(qǐng)求消息使用( )方法用于通過(guò)Internet發(fā)送大量數(shù)據(jù),沒(méi)有長(zhǎng)度的限制。    

A、get

B、post

C、put

D、head

答案:B 

27、在Java Web應(yīng)用程序中,JSP EL 表達(dá)式可用于訪問(wèn)( )中存儲(chǔ)的數(shù)據(jù)

A、Web.xml

B、Servlet

C、Applet

D、JavaBean

答案:D 

29、在JSP中,使用<jsp:useBean>動(dòng)作可以將javaBean嵌入JSP頁(yè)面,對(duì)JavaBean的訪問(wèn)范圍不能是( )。    

A、page                

B、request            

C、response            

D、application

答案:C 

30、在Java Web應(yīng)用程序中,包含jsp1.jsp和jsp2.jsp,以及封裝在user包下的名為User的Javabean,user中包含loginName屬性以及相應(yīng)的setter和getter方法,如果用戶A在瀏覽器中訪問(wèn)jsp1.jsp后,用戶B在瀏覽器中訪問(wèn)jsp2.jsp,則用戶B的瀏覽器將( )

Jsp1.jsp代碼:

<html>

<jsp:useBean id=”user” class=”user.User” scope=”session”/>

<jsp:setProperty name=”user” property=”loginName” value=”Mart”/>

</html>

Jsp2.jsp代碼:

<html>

<jsp:useBean id=”user” class=”user.User” scope=”session”/>

<jsp:getProperty name=”user” property=”loginName”/>

</html>

A、什么也不顯示

B、顯示”null”

C、顯示”Mart”

D、報(bào)錯(cuò),提示無(wú)法顯示網(wǎng)頁(yè)

答案:A

31、在servlet的服務(wù)方法(如doPost() )中,如何從請(qǐng)求獲得”userID”值 ( )

A、String userID = request.getParameter(“userID”);

B、String userID = request.getHeader(“userID”);

C、String userID = request.getRequestHeader(“userID”);

D、String userID = getServletContext().getInitParameter(“userID”);

答案:A 

32、HttpServletResponse的哪些方法用于將一個(gè)HTTP請(qǐng)求重定向到另一個(gè)URL( )

A、sednURL()

B、redirectURL()

C、redirectHttp()

D、sendRedirect()

E、getRequestDispatcher()

答案:D 

33、以下哪個(gè)代碼段會(huì)得到一個(gè)輸出流,用于向HttpServletResponse輸出字符文本 ( )

A、java.io.PrintWriter out = response.getWriter();

B、ServletOutputStream out = response.getOutputStream(); //輸出為字節(jié)文本

C、java.io.PrintWriter out = new PrintWriter(response.getReader());

D、Servlet OutputStream out = response.getBinaryStream();

答案:A 

34、servlet開(kāi)發(fā)人員在擴(kuò)展HttpServlet時(shí)如何處理HttpServlet的service()方法( )(選擇二項(xiàng))

A、大多數(shù)情況下都應(yīng)該覆蓋service()方法

B、應(yīng)當(dāng)從doGet()或doPost()調(diào)用service()方法

C、應(yīng)當(dāng)從init()調(diào)用service()方法

D、應(yīng)當(dāng)至少覆蓋一個(gè)doXXX( )方法(如doPost())

答案:AD 

35、關(guān)于會(huì)話屬性,以下哪些說(shuō)法是正確( )(選擇兩項(xiàng))

A、HttpSession.getAttribute(String)的返回類(lèi)型是Object

B、HttpSession.getAttribute(String)的返回類(lèi)型是String

C、在HttpSession上調(diào)用setAttribute(“keyA”, “valueB”)時(shí),如果這個(gè)會(huì)話中對(duì)應(yīng)鍵keyA已經(jīng)有了一個(gè)值,就會(huì)導(dǎo)致拋出一個(gè)異常

D、在HttpSession上調(diào)用setAttribute(“keyA”, “valueB”)時(shí),如果這個(gè)會(huì)話中對(duì)應(yīng)鍵keyA已經(jīng)有一個(gè)值,則會(huì)導(dǎo)致這個(gè)屬性原先的值被String valueB替換

答案:AD

36、給定req是一個(gè)HttpServletRequest,哪個(gè)代碼會(huì)在不存在會(huì)話的情況下創(chuàng)建一個(gè)會(huì)話( ) (選擇兩項(xiàng))

A、req.getSession()

B、req.getSession(true)

C、req.getSession(false)

D、req.createSession()

E、req.getNewSession()

F、req.createSession(true)

G、req.createSession(false)

答案:AB 

38、給定TheBean類(lèi),假設(shè)還沒(méi)有創(chuàng)建TheBean類(lèi)的實(shí)例,以下哪些JSP標(biāo)準(zhǔn)動(dòng)作語(yǔ)句能創(chuàng)建這個(gè)bean的一個(gè)新實(shí)例,并把它存儲(chǔ)在請(qǐng)求作用域 ( )

A、<jsp :useBean name=”myBean” type=”com.example.TheBean”/>

B、<jsp :takeBean name=”myBean” type=”com.example.TheBean”/>

C、<jsp :useBean id=”myBean” class=”com.example.TheBean” scope=”request”/>

D、<jsp :takeBean id=”myBean” class=”com.example.TheBean” scope=”request”/>

答案:C 

39、給定一個(gè)Model1體系結(jié)構(gòu),其中有一個(gè)JSP頁(yè)面處理所有控制器函數(shù),這個(gè)JSP控制器要把請(qǐng)求分派給另一個(gè)JSP頁(yè)面 ( )

A、<jsp:forward page=”view.jsp”/>

B、<jsp:forward file=”view.jsp”/>

C、<jsp:dispatch page=”view.jsp”/>

D、<jsp:dispatch file=”view.jsp”/>

答案:A 

40、有關(guān)<jsp:useBean>標(biāo)準(zhǔn)動(dòng)作,以下哪些說(shuō)法是正確的 ( ) (選擇兩項(xiàng))

A、id屬性表示對(duì)象的名稱

B、scope屬性是必要的 //是比不可少的,雖說(shuō)可省略不寫(xiě),但默認(rèn)仍存在

C、scope屬性是可選的,默認(rèn)為page

D、class屬性是可選的 //class 屬性與 type屬性一樣,二者(必須)任選一

答案:CD 

41、在JSP頁(yè)面上使用JSTL標(biāo)簽時(shí),應(yīng)使用taglib指令導(dǎo)入標(biāo)簽庫(kù)描述文件,并設(shè)置taglib指令的( )屬性指定標(biāo)簽的前綴。

A、prefix 

B、name 

C、tag 

D、uri

答案:A 

42、JavaBean是在Java中開(kāi)發(fā)的可以跨平臺(tái)的重用組件,JavaBean必須滿足的要求中不包括( )

A、是一個(gè)共有類(lèi)

B、實(shí)現(xiàn)java.io.Serializable接口

C、具有不帶任何參數(shù)的共有構(gòu)造函數(shù)

D、具有訪問(wèn)屬性的共有的getter和setter方法

答案:C 

43、在JSP頁(yè)面中使用<c:froEach>標(biāo)簽,對(duì)session中集合對(duì)象arr進(jìn)行迭代時(shí),items屬性賦值正確的是( )。

A、<c:forEach var=”bean” items=”session.arr”/>

B、<c:forEach var=”bean” items=”${session.arr}”/>

C、<c:forEach var=”bean” items=”sessionScope.arr”/>

D、<c:forEach var=”bean” items=”${sessionScope.arr}”/>

答案:D 

44、下列選項(xiàng)中不屬于JSP標(biāo)準(zhǔn)動(dòng)作的是( )

A、<jsp:forward/>

B、<c:out/> //這個(gè)是屬于標(biāo)簽

C、<jsp:useBean/>

D、<jsp:setProperty/>    

答案:B 

45、在JavaEE中,初始化Servlet實(shí)例的時(shí)候,init()方法是由( )執(zhí)行    

A、程序員編寫(xiě)代碼來(lái)調(diào)用執(zhí)行

B、每次執(zhí)行當(dāng)前的Servlet時(shí),由系統(tǒng)自動(dòng)執(zhí)行

C、當(dāng)?shù)谝淮螆?zhí)行當(dāng)前的Servlet時(shí),由系統(tǒng)自動(dòng)執(zhí)行

D、以上說(shuō)法都不對(duì)

答案:C

46、在Java Web應(yīng)用程序中,要完成將用戶會(huì)話中的”counter”計(jì)數(shù)器的值增加1,下列( )是正確的Servlet代碼片段。

A、HttpSession session=request.getSession(true);

    int ival=session.getAttribute(“counter”);

    if(ival==null){

        ival=1;    

    }else{

        Ival=ival+1;

        session.setAttribute(“counter”,ival);

    }

B、HttpSession session=request.getSession(true);

   Integer ival=(Integer)session.getAttribute(“counter”);

   session.setAttribute(“counter”,ival+1);

C、HttpSession session =request.getAttribute(“counter”);

   if(ival==null){

       ival=new Integer(1);

   }else{

       ival=new Integer(ival.intValue()+1);

   }

   session.setAttribute(“counter”,ival);

D、HttpSession session=request.getSession();

Integer ival=(Integer)session.getAttribute(“counter”);

If(ival==null){

            ival=1;

}else{

            ival=ival+1;

}

session.setAttribute(“counter”,new Integer(ival));

答案:D 

47、在JSP頁(yè)面中,( )可以取得名為boxes的復(fù)選框第一個(gè)值。(選兩項(xiàng))

A、${param.boxes}

B、${paramValues.boxes}

C、${paramValues.boxes[0]}

D、${paramValue.boxes[1]}

答案:AC 

48、下面這一段JSP代碼片斷的輸出結(jié)果是( )。

<%! int i=1;%> //<%! Int i=1;%>代表聲明的是全局變量或方法

<%!int getNumber(){ //<% int i=1;%> 代表聲明的是局部變量或方法

return i;

}

%>

<% int i=10;

out.println(“first i=”+i);

%>

<% out.println(“second i=”+i); %>

<% out.println(“third i=”+getNumber()) ; %>

A、first 1=10 second i=1 third i=1

B、first i=10 second i=10 third i=1

C、first 1=10 second i=1 third i=10

D、first 1=1 second i=1 third i=1

答案:B 

49、在J2EE中,test.jsp文件如下。試圖運(yùn)行時(shí),將發(fā)生( )。

<html>

<% String str=null ;%>

str is <% =”str”%>

</html>

A、轉(zhuǎn)譯期錯(cuò)誤                            

B、編譯期錯(cuò)誤

C、運(yùn)行后,瀏覽器上顯示:str is null    

D、運(yùn)行后,瀏覽器上顯示:str is str

答案:D 

50、對(duì)于以下代碼,說(shuō)法正確的是( )。

session.setAttribute(“count”,new Integer(0));

Integer count = session.getAttribute(“count”);

A、不能通過(guò)編譯                                 

B、能通過(guò)編譯,并且能正常運(yùn)行

C、編譯通過(guò),但運(yùn)行時(shí)拋出ClassCastException            

D、以上說(shuō)法都不正確

答案:A

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章