1、在Java EE中,Servlet是在服務(wù)器端運行,以處理客戶端請求而做出的響應(yīng)的程序,下列選項中屬于Servlet生命周期階段的是( )
A、加載和實例化
B、初始化
C、服務(wù)
D、銷毀
E、以上全部
答案:E
2、在Java EE中的MVC設(shè)計模式中,( )負(fù)責(zé)接受客戶端的請求數(shù)據(jù)
A、JavaBean
B、JSP
C、Servlet
D、HTML
答案:C
3、過濾器應(yīng)實現(xiàn)的接口是( )。
A、HttpServlet
B、HttpFilter
C、ServletFilter
D、Filter
答案:D
4、開發(fā)Java Web應(yīng)用程序的時候,創(chuàng)建一個Servlet,該Servlet重寫了父類的doGet()和doPost()方法,那么其父類可能是( )
A、RequestDispatcher
B、HttpServletResponse
C、HttpServletRequest
D、HttpServlet
答案:D
5、在Java Web開發(fā)中,如果某個數(shù)據(jù)需要跨多個請求存在,則數(shù)據(jù)應(yīng)該存儲在( )中
A、session
B、page
C、request
D、Response
答案:A
6、在開發(fā)Java Web應(yīng)用程序的時候,HTTP請求消息使用Get或POET方法以便在WEB上傳輸數(shù)據(jù),下列關(guān)于GET和POST 方法描述正確的是( )
A、POST請求的數(shù)據(jù)在地址欄不可見
B、GET請求提交的數(shù)據(jù)在理論上沒有長度限制
C、POST請求對發(fā)送的數(shù)據(jù)的長度限制在240——255個字符
D、GET請求提交數(shù)據(jù)更加安全
答案:A
7、在JSP中有EL表達式${10*10 ne 10},結(jié)果是( )
A、100
B、true
C、fasle
D、以上都不對
答案:B
8、JSTL標(biāo)簽的分類以下說法正確的是( )
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)前請求相關(guān)聯(lián)的會話,如果沒有,返回null
A、getSession() //=gerSession(true)默認(rèn)為:getSession(true)
B、getSession(true)
C、getSession(false)
D、getSession(null)
答案:C
10、在Java Web開發(fā)中,不同的客戶端需要共享數(shù)據(jù),則數(shù)據(jù)應(yīng)該存儲在( )中
A、session
B、application
C、request
D、response
答案:B
11、利用三層結(jié)構(gòu)搭建某網(wǎng)上書店系統(tǒng),設(shè)計用戶登陸界面,如果你是設(shè)計人員,你將在三層結(jié)構(gòu)的( )中實現(xiàn)
A、模型層
B、表示層
C、數(shù)據(jù)訪問層
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)簽庫(JSTL)提供的主要標(biāo)簽庫中,其中( )可用于操作數(shù)據(jù)庫。
A、核心標(biāo)簽庫
B、I18N與格式化標(biāo)簽庫
C、XML標(biāo)簽庫
D、SQL標(biāo)簽庫
答案:D
14、JSP表達式語言可用于在網(wǎng)頁上生成動態(tài)的內(nèi)容并代替JSP元素,JSP表達式語言的語法是( )
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的達代標(biāo)簽<forEach>的屬性中,用于指定要遍歷的對象集合( )
A、var
B、items
C、value
D、varStatus
答案:B
17、如果不希望JSP網(wǎng)頁支持Session,應(yīng)該( )。
A、調(diào)用HttpSession的invalidate()方法
B、<%@ page session= “false”>
C、在jsp頁面中寫入如下代碼HttpSession session=request.getSession(false);
D、調(diào)用HttpSession的setMaxInactiveInterval(),將時間設(shè)置為0
答案:B
18、Servlet是一個在服務(wù)器上運行、處理請求信息并將其發(fā)送到客戶端的Java程序()接受服務(wù)請求、找到Servlet類、加載Servlet類并創(chuàng)建Servlet對象。
A、客戶端
B、IE瀏覽器
C、Servlet容器
D、Servlet本身
答案:C
19、MVC設(shè)計模式包含模型層、視圖層和控制層,在下列組件扮演控制器角色的是( )
A、Servlet
B、JSP
C、javaBean
D、HTML
答案:A
20、JSP標(biāo)準(zhǔn)標(biāo)簽庫(JSTL)的標(biāo)簽庫描述符文件的后綴是( )
A、.tld
B、.jar
C、.properties
D、.xml
答案:A
21、在J2EE中,以下不是JSP隱式對象的是( )
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同在一個有效的會話范圍內(nèi),當(dā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)用程序中,包含兩個名為Servlet1和Servlet2的HttpServlet,在web.xml中指定Servlet2的訪問路徑為”/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();
如果用戶在瀏覽器中訪問Servlet1,則瀏覽器將( )
A、顯示”Servlet1″
B、顯示”Servlet2″
C、顯示”Servlet1Servlet2″
D、什么也不顯示
答案:B
24、在Java Web應(yīng)用程序中,使用數(shù)據(jù)源與JNDI獲得數(shù)據(jù)庫連接時,應(yīng)把JDBC驅(qū)動程序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的說法正確的是( )(選擇二項)
A、Servlet容器負(fù)責(zé)創(chuàng)建HttpSession對象
B、每個HttpSession對象都有唯一的ID
C、客戶端瀏覽器負(fù)責(zé)為HttpSession分配唯一的ID
D、HttpSession 對象的ID值,由程序員進行分配
答案:AB
26、在HTTP協(xié)議中,請求消息使用( )方法用于通過Internet發(fā)送大量數(shù)據(jù),沒有長度的限制。
A、get
B、post
C、put
D、head
答案:B
27、在Java Web應(yīng)用程序中,JSP EL 表達式可用于訪問( )中存儲的數(shù)據(jù)
A、Web.xml
B、Servlet
C、Applet
D、JavaBean
答案:D
29、在JSP中,使用<jsp:useBean>動作可以將javaBean嵌入JSP頁面,對JavaBean的訪問范圍不能是( )。
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在瀏覽器中訪問jsp1.jsp后,用戶B在瀏覽器中訪問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、報錯,提示無法顯示網(wǎng)頁
答案:A
31、在servlet的服務(wù)方法(如doPost() )中,如何從請求獲得”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的哪些方法用于將一個HTTP請求重定向到另一個URL( )
A、sednURL()
B、redirectURL()
C、redirectHttp()
D、sendRedirect()
E、getRequestDispatcher()
答案:D
33、以下哪個代碼段會得到一個輸出流,用于向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開發(fā)人員在擴展HttpServlet時如何處理HttpServlet的service()方法( )(選擇二項)
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)至少覆蓋一個doXXX( )方法(如doPost())
答案:AD
35、關(guān)于會話屬性,以下哪些說法是正確( )(選擇兩項)
A、HttpSession.getAttribute(String)的返回類型是Object
B、HttpSession.getAttribute(String)的返回類型是String
C、在HttpSession上調(diào)用setAttribute(“keyA”, “valueB”)時,如果這個會話中對應(yīng)鍵keyA已經(jīng)有了一個值,就會導(dǎo)致拋出一個異常
D、在HttpSession上調(diào)用setAttribute(“keyA”, “valueB”)時,如果這個會話中對應(yīng)鍵keyA已經(jīng)有一個值,則會導(dǎo)致這個屬性原先的值被String valueB替換
答案:AD
36、給定req是一個HttpServletRequest,哪個代碼會在不存在會話的情況下創(chuà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類,假設(shè)還沒有創(chuàng)建TheBean類的實例,以下哪些JSP標(biāo)準(zhǔn)動作語句能創(chuàng)建這個bean的一個新實例,并把它存儲在請求作用域 ( )
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、給定一個Model1體系結(jié)構(gòu),其中有一個JSP頁面處理所有控制器函數(shù),這個JSP控制器要把請求分派給另一個JSP頁面 ( )
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)動作,以下哪些說法是正確的 ( ) (選擇兩項)
A、id屬性表示對象的名稱
B、scope屬性是必要的 //是比不可少的,雖說可省略不寫,但默認(rèn)仍存在
C、scope屬性是可選的,默認(rèn)為page
D、class屬性是可選的 //class 屬性與 type屬性一樣,二者(必須)任選一
答案:CD
41、在JSP頁面上使用JSTL標(biāo)簽時,應(yīng)使用taglib指令導(dǎo)入標(biāo)簽庫描述文件,并設(shè)置taglib指令的( )屬性指定標(biāo)簽的前綴。
A、prefix
B、name
C、tag
D、uri
答案:A
42、JavaBean是在Java中開發(fā)的可以跨平臺的重用組件,JavaBean必須滿足的要求中不包括( )
A、是一個共有類
B、實現(xiàn)java.io.Serializable接口
C、具有不帶任何參數(shù)的共有構(gòu)造函數(shù)
D、具有訪問屬性的共有的getter和setter方法
答案:C
43、在JSP頁面中使用<c:froEach>標(biāo)簽,對session中集合對象arr進行迭代時,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、下列選項中不屬于JSP標(biāo)準(zhǔn)動作的是( )
A、<jsp:forward/>
B、<c:out/> //這個是屬于標(biāo)簽
C、<jsp:useBean/>
D、<jsp:setProperty/>
答案:B
45、在JavaEE中,初始化Servlet實例的時候,init()方法是由( )執(zhí)行
A、程序員編寫代碼來調(diào)用執(zhí)行
B、每次執(zhí)行當(dāng)前的Servlet時,由系統(tǒng)自動執(zhí)行
C、當(dāng)?shù)谝淮螆?zhí)行當(dāng)前的Servlet時,由系統(tǒng)自動執(zhí)行
D、以上說法都不對
答案:C
46、在Java Web應(yīng)用程序中,要完成將用戶會話中的”counter”計數(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頁面中,( )可以取得名為boxes的復(fù)選框第一個值。(選兩項)
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文件如下。試圖運行時,將發(fā)生( )。
<html>
<% String str=null ;%>
str is <% =”str”%>
</html>
A、轉(zhuǎn)譯期錯誤
B、編譯期錯誤
C、運行后,瀏覽器上顯示:str is null
D、運行后,瀏覽器上顯示:str is str
答案:D
50、對于以下代碼,說法正確的是( )。
session.setAttribute(“count”,new Integer(0));
Integer count = session.getAttribute(“count”);
A、不能通過編譯
B、能通過編譯,并且能正常運行
C、編譯通過,但運行時拋出ClassCastException
D、以上說法都不正確
答案:A