JavaWeb應用開發期末試卷及答案AB卷2套_第1頁
JavaWeb應用開發期末試卷及答案AB卷2套_第2頁
JavaWeb應用開發期末試卷及答案AB卷2套_第3頁
JavaWeb應用開發期末試卷及答案AB卷2套_第4頁
JavaWeb應用開發期末試卷及答案AB卷2套_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第9頁共9頁JavaWeb應用開發期末試卷及答案AB卷2套一、選擇題(共20題,總計40分,每小題2分)1.在jsp中,要使用一個表達式,需要用到以下()元素。A、<%=%>B、<%%>C、<%!%>D、<%@%>2.在客戶端瀏覽器的源代碼中可以看到()A、JSP注釋B、HTML注釋C、JSP注釋和HTML注釋D、JAVA注釋3.以下哪個包是page指令默認導入的()A、java.lang.*B、java.util.*C、javax.servlet.*D、javax.servlet.jsp.*4.page指令用于定義JSP文件中的全局屬性,下列關于該指令用法的描述不正確的是()A、<%@page%>作用于整個JSP頁面。B、可以在一個頁面中使用多個<%@page%>指令。C、為增強程序的可讀性,建議將<%@page%>指令放在JSP文件的開頭,但不是必須的。D、<%@page%>指令中的屬性只能出現一次。5.在JSP中調用JavaBean時不會用到的標記是()A、<java:bean>B、<jsp:useBean>C、<jsp:setProperty>D、<jsp:getProperty>6.Tomcat服務默認情況下使用的端口號是()A、8000B、8080C、8888D、807.使用request對象的getParameter()方法可以讀取一個輸入控件的哪個屬性值()A、typeB、valueC、sizeD、name8.page指令的import屬性的作用是()A、定義JSP頁面響應的MIME類型B、定義JSP頁面使用的腳本語言C、為JSP頁面引入JAVA包中的類D、定義JSP頁面字符的編碼9.如果某個類要成為Servlet,則它應該繼承如下哪個類()A、HttpServletRequest B、HttpServletC、HttpServletResponseD、GenericServlet10.表單標記中的action屬性的作用是()A、為表單命名 B、調用客戶端驗證方法C、指明表單信息發送的目的地址D、聲明表單的提交方式11.MVC中V指的是()。A、視圖層B、控制層C、模型層D、持久化層12.以下對象中的()不是JSP的內置對象。A、requestB、sessionC、applicationD、bean13.下述選項中不屬于JDBC基本功能的是()A、與數據庫建立連接 B、提交SQL語句C、處理查詢結果D、數據庫維護管理14.在JSP中,內置對象()封裝了用戶提交的信息,使用該對象可以獲取用戶提交的信息。A、sessionB、request C、response D、out15.要在session對象中保存屬性,可以使用以下哪個語句?()A、session.getAttribute("key","value");B、session.setAttribute("key","value");C、session.setAtrribute("key");D、session.getAttribute("key");16.以下關于JavaBean的描述錯誤的是()A、JavaBean是一個公有java類B、JavaBean提供給外界使用的方法是公有類型的C、JavaBean必須有一個帶參構造方法D、在JSP中使用的JavaBean必須放在一個有名包中17.關于get和post兩種請求,下列說法正確的是()A、get請求是默認的。B、get請求處理的數據量大小不受到限制。C、post請求地址欄里是能看到數據的。D、post請求可以由doGet方法處理。18.下列哪個不是Servlet接口的方法()A、doGet方法B、doPost方法C、init方法D、forward方法19.Servlet使用()接口的forward和include方法進行通信。A、ServletContextB、ServletConfigC、RequestDispatcherD、HttpSession20.使用response對象進行重定向時,使用的是()方法。A、getAttributeB、setContentTypeC、sendRedirectD、setAttribute二、簡答題(4題,每題10分,共40分)1.include指令標簽和include動作標簽有什么區別?2.請寫出JSP中5個內置對象。3.<jsp:setProperty>動作標簽有哪四種格式?4.請寫出ServletAPI包中5個類或接口。三、編程程題(共1題,總計20分)1.請編寫猜數字功能程序。要求:(1)編寫猜數字界面:guess.jsp(3分)功能:1)在頁面中設置一個10以內的隨機數,并保存到session中。2)編寫輸入猜數的表單(action提交給guessControl)。(2)編寫猜數的JavaBean:NumberBean.java(5分)功能:1)一個屬性num:int類型;2)一個構造方法(無參數);3)一個set屬性方法與一個get屬性方法;4)一個比較方法:intcompare(intdigit)如果輸入的digit大于num則返回1;如果輸入的digit小于num則返回-1;如果輸入的digit等于num則返回0;(3)編寫一個控制端Servlet:GuessControl.java(10分)功能:1)獲取輸入的數字;2)獲取session的數字;3)創建NumberBean對象;4)調用nuberBean對象方法比較;5)保存比較結果到會話中;6)轉到猜數字結果頁面;(4)編寫猜數字結果頁面:guessResult.jsp(2分)功能:1)取出會話中的比較結果信息;2)打印出猜數字結果。猜數字運行界面如下圖所示:圖1猜數字頁面圖2輸入數字大的結果頁面圖3輸入數字小的結果頁面圖4猜中的結果頁面閱卷人得分答題卡一、選擇題(共20題,總計40分,每小題2分)題號12345678910答案ABADABDCBC題號11121314151617181920答案ADDBBCADCC閱卷人得分二、簡答題(4題,每題10分,共40分)1.include指令標簽和include動作標簽有什么區別?(1).形式不同:include靜態標簽語法格式為:<%@includefile=“文件的名字”%><jsp:includepage=“文件的名字”></jsp:include>(2).作用不同:如果一個Jsp頁面使用include指令插入另一個Jsp文件,被插入的這個Jsp頁面中有一個設置頁面ContentType屬性的page指令。include動作標簽告訴jsp頁面包含一個文件。當Jsp引擎把Jsp頁面轉譯成Java文件時候,告訴Java解釋器,這個文件在Jsp運行時候才能包含進來。2.請寫出JSP中5個內置對象。request、response、session、application、out、page、pageContext、exception3.<jsp:setProperty>動作標簽有哪四種格式?<jsp:setPropertyname=”myBean”property=”*”/>由窗體表單傳來的參數值,通過自省機制,設定所有的屬性值;<jsp:setPropertyname=”myBean”property=”myProperty”/>也是通過自省機制,不過只設定一個myProperty的屬性值;<jsp:setPropertyname=”myBean”property=”myProperty”param=”ParamName”/>由窗體傳來的參數名稱為ParamName的值,傳給屬性名稱為myProperty;<jsp:setPropertyname=”myBean”property=”myProperty”value=”MyValue”>它彈性最大,它可以通過value,動態設定JavaBean的屬性。4.請寫出ServletAPI包中5個類或接口。Servlet、ServletContext、RequestDispatcher、ServletConfig、ServeletRequest、ServletResponse、HttpServlet、HttpSession、HttpServletRequest、HttpServletResponse閱卷人得分三、編程題(共1題,總計20分)1.請編寫猜數字功能程序。要求:(1)編寫猜數字界面:guess.jsp(3分)<body><%!intnum=0;%><%StringnumStr=(String)session.getAttribute("num");if(numStr==null){//第一次產生一個隨機數num=(int)(Math.random()*10);session.setAttribute("num",""+num);}%><h3>請輸入數字</h3><formaction="guessControl"><inputtype="text"name="num"/><inputtype="submit"value="提交"/></form></body>(2)編寫猜數的JavaBean:NumberBean.java(5分)packagecom.my.test;publicclassNumberBean{ privateintnum; publicNumberBean(){ } publicintgetNum(){ returnnum; } publicvoidsetNum(intnum){ this.num=num; } publicintcompare(intinput){ intresult=0; if(input>this.getNum()){ result=1; }elseif(input<this.getNum()){ result=-1; }else{ result=0; } returnresult; }}(3)編寫一個控制端Servlet:GuessControl.java(10分)publicclassGuessControlextendsHttpServlet{ privateNumberBeannumberBean; publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=gb2312"); PrintWriterout=response.getWriter(); //獲取數據 StringnumStr=request.getParameter("num"); if(numStr==null){ numStr="0"; } intnum=Integer.parseInt(numStr); System.out.println("num="+num); //創建numberBean對象 numberBean=newNumberBean(); //獲取Session中的num HttpSessionsession=request.getSession(); StringsnumStr=(String)session.getAttribute("num"); if(snumStr==null){ snumStr="0"; } intsnum=Integer.parseInt(snumStr); //設置numberBean的屬性num numberBean.setNum(snum); //輸入的值與session中的值進行比較 intresult=numberBpare(num); StringresultStr=""; if(result>0){ session.setAttribute("result","輸入的數大了,請重新輸入"); } if(result<0){ session.setAttribute("result","輸入的數小了,請重新輸入"); } if(result==0){ session.setAttribute("result","恭喜你猜中啦!"); } //轉到結果頁面 RequestDispatcherrd=request.getRequestDispatcher("guessResult.jsp"); rd.forward(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doGet(request,response); }}(4)編寫猜數字結果頁面:guessResult.jsp(2分)<h3>猜數結果是:</h3><%StringresultStr=(String)session.getAttribute("result");if(resultStr==null){resultStr="出錯啦";}out.println(resultStr);%><br><ahref="guess.jsp">返回</a>一、選擇題(共20題,總計40分,每小題2分)1.下列哪一個不是JSP靜態指令()。A、pageB、forwardC、includeD、taglib2.一個JSP網頁可以使用exception對象,但是必須使用isErrorPage設為()。A、null B、none C、false D、true3.在當前頁面中包含a.htm的正確語句是()。A、<%@include=“a.htm”%>B、<jsp:includefile=”a.htm”/>C、<%@includepage=“a.htm”%>D、<%@includefile=“a.htm”%>4.下列動作標簽中哪一個是用于重定向一個HTML文件()。A、<jsp:useBean>B、<jsp:include>C、<jsp:forword>D、<jsp:plugin>5.useBean標簽中scope有四中不同取值,下列哪一個scope取值是JSP引擎為每一個客戶分配一個共享的beans()。A、requestB、applicationC、sessionD、page6.page指令中的哪一個屬性用來定義JSP頁面的MIME類型和JSP字符的編碼()。A、contnetTypeB、importC、languageD、session7.使用request對象的getParameter()方法可以讀取一個輸入控件的哪個屬性值()A、typeB、valueC、sizeD、name8.以下腳本元素中有語法錯誤的是()。A、<%!inti=0;%>B、<%inti=0;%>C、<%=i;%>D、<%i++;%>9.以下哪個方法不是Servlet的生命周期接口定義的?()A、init()B、service()C、destroy()D、create()10.JDBCAPI中,可通過( )對象執行SQL語句。A、java.sql.ResultSet B、java.sql.ConnectionC、java.sql.Statement D、java.sql.DriverManager11.MVC中C指的是()。A、視圖層B、控制層C、模型層D、持久化層12.MVC架構中使用HTML界面、JSP界面實現用戶界面,使用()實現控制邏輯,使用JavaBean實現模型層。A、JSPB、ServletC.、JavaScriptD.、EJB13、JSP頁面組成包括:HTML標記符、腳本元素、()、動作標簽、注釋。A、聲明元素B、指令標簽C、表達式元素D、Java程序片14、給定程序片段:<%--在此處插入代碼--%><html><body>Todayis:<%=newDate()%></body></html>為了能夠讓程序正確運行需要在第一行添加以下那條語句?A、<%@pageimport=“java.util.Date”%>B、<%@importclass=“java.util.Date”%>C、<%@includefile=“java.util.Date”%>D、<%@includeclass=“java.util.Date”%>15、以下哪一個是HttpSession的方法、并能實現在session中存放數據()A、get(Stringname,Objectvalue)B、set(Stringname,Objectvalue)C、setAttribute(Stringname,Objectvalue)D、getAttribute(Stringname,Objectvalue)16、以下關于JavaBean的描述錯誤的是()A、JavaBean是一個公有java類B、JavaBean提供給外界使用的方法是公有類型的C、JavaBean必須有一個帶參構造方法D、在JSP中使用的JavaBean必須放在一個有名包中17、下列注釋當中為JSP注釋的是()A、(!--注釋內容--)B、<%--注釋內容--%>C、/*注釋內容*/D、/**注釋內容*/18、session對象中invalidate方法的含義是()A、使用session無效B、獲得session對象的生存時間C、獲得當前session對象最后一次被操作時間D、以上都不對19、在JSP中調用JavaBean時不會用到的標記是()A、<javabean>B、<jsp:useBean>C、<jsp:setProperty>D、<jsp:getProperty>20、用HttpServlet類的方法時,必須帶兩個參數,它們是()A、HttpServletRequest,HttpServletResponseB、ServletRequest,ServletResponseC、ServletIntputStream,ServletOutputStreamD、Request,Response二、填空題(共5空,總計10分,每空2分)1.客戶端向服務器端提交數據的方式通常有兩種:一種是post方式;另一種是___________提交方式。2.JSP和___________相結合,可以實現表現層和業務邏輯層的分離。3.Tomcat服務器的默認端口是___________。4.Servlet接口的______________________方法在服務器裝入Servlet時執行,在Servlet的生命周期中僅僅執行一次。5.在數據庫編程中,需求通過Statement的___________方法來執行insert語句。三、簡單題(2題,每題10分,共20分)1.請說出常用的JSP內置對象,并簡述它們的功能。(列舉4個以上)2.使用forward和sendRedirect進行重定向有什么區別?四、編程題(共1題,總計30分)1.運用JSPModel2設計用戶登錄的功能模塊,如果用戶名和密碼都正確則在success.jsp中打印出用戶登錄成功、并打印出用戶名和密碼。如果登錄失敗則返回登錄界面要求重新登錄。已知:用戶信息表為:tb_user連接數據庫的類DBCon.java已經提供,可以通過下列語句得到數據庫連接:DBCondb=newDBCon();Connectioncon=db.getConnection();序號說明文件名1用戶登錄頁面login.jsp2用戶實體類User.java3用戶信息模型接口UserDAO.java4用戶信息模型類(實現接口3)UserDAOImpl.java5用戶登錄控制ServletLoginServlet.java6成功頁面success.jsp(3)應用程序的目錄及文件名的說明為:要求:設計用戶登錄頁面:login.jsp。(4分)設計用戶實體類:User.java。(4分)設計用戶信息模型接口:UserDAO和模型類:UserDAOImpl.java,該接口和類中包含一個用戶登錄的方法: publicbooleanuserLogin(Useruser);。(8分)設計用戶登錄控制Servlet:LoginServlet.java,使用Servlet實現。(8分)實現步驟:=1\*GB3①首先獲取用戶登錄的信息,如用戶名和密碼;=2\*GB3②創建用戶對象。=3\*GB3③創建用戶信息模型類(UserDAOImpl.java)對象,調用用戶登錄方法。=4\*GB3④根據結果判斷,如果用戶名和密碼匹配則到success.jsp,如果失敗,則返回到用戶登錄頁面。(5)

設計成功頁面:success.jsp,打印用戶登錄成功信息,并打印出用戶名和密碼信息(6分)(1)設計用戶登錄頁面:login.jsp<%@pagelanguage="java"pageEncoding="gb2312"%><html><head><title>用戶登錄頁面</title></head><body><h5align="center">用戶登錄</h5><--表單遞交--></body></html>(2)設計用戶實體類:User.java。publicclassUser{//實體類}(3)設計用戶信息模型類:UserDAOImpl.java,該接口和類中包含一個用戶登錄的方法: publicbooleanuserLogin(Useruser)

;//導入相應的Java包publicclassUserDAOImplimplementsUserDAO{privateConnectioncon;privatePreparedStatementpstmt;privateDBCondb;publicUserDAOImpl(){db=newDBCon();} //判斷用戶登錄是否成功 publicbooleanuserLogin(Useruser){ booleanresult=false; try{ }catch(SQLExceptione){ e.printStackTrace(); } returnresult; } }}(4)設計用戶登錄控制類:LoginServlet.java,使用Servlet實現。//導入相應的Java包publicclassLoginServletextendsHttpServlet{ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ response.setContentType("text/html;charset=gb2312"); PrintWriterout=response.getWriter();//1)首先獲取用戶登錄的信息;//2)創建用戶類對象。//3)創建用戶模型類(UserDAOImpl.java)對象,調用用戶登錄的方法。//4)根據結果判斷,如果正確就到success.jsp,如果失敗就返回到login.jsp。 } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doGet(request,response); }}(5)成功頁面:success.jsp,打印用戶登錄成功信息,并打印出用戶名和密碼信息。success.jsp:<%@pagelanguage="java"pageEncoding="gb2312"%><html><body>//顯示用戶登錄成功信息//顯示用戶的用戶名和密碼</body></html>答題卡閱卷人得分一、選擇題(共20題,總計40分,每小題2分)題號12345678910答案BDDCBADCDC題號11121314151617181920答案BBBACCBAAA閱卷人得分二、填空題(共5空,總計10分,每空2分)1.get2.JavaBean3.8080閱卷人得分4.init()5.executeUpdate()三、簡單題(2題,每題10分,共20分)1.請說出常用的JSP內置對象,并簡述它們的功能。(列舉4個以上)答:(1)request表示HttpServletRequest對象。它包含了有關瀏覽器請求的信息;(2)

response表示HttpServletResponse對象,并提供了幾個用于設置送回瀏覽器的響應的方法(如cookies,頭信息等);(3)out對象提供了幾個方法使你能用于向瀏覽器回送輸出結果;(4)pageContext提供了用于方便存取各種范圍的名字空間、servlet相關的對象的API;(5)session表示一個請求的javax.servlet.http.HttpSession對象,存貯用戶的狀態信息;(6)application

表示一個javax.servle.ServletContext對象,提供查找有關servlet引擎和servlet環境的信息的方法;(7)

config表示一個javax.servlet.ServletConfig對象。該對象用于存取servlet實例的初始化參數。(8)page表示從該頁面產生的一個servlet實例;(9)exception異常對象2.使用forward和sendRedirect進行重定向有什么區別?答:(1)sendRedirect()ServletResqonse接口中的方法,用于響應重定向跳轉后瀏覽器地址欄變化

可以請求其他服務器資源參數可以指定為相對路徑(沒有以”/”開始)、絕對路徑(以“/”開始)或其它Web應用傳值只能在url中帶parameter或者放在session中,無法使用request.setAttribute來傳遞。(2)forward()RequestDispatcher接口中的方法,用于請求跳轉跳轉后瀏覽器地址欄不會變化只能在應用程序內部轉發參數ServletRequest獲取的,參數可以指定為相對路徑(沒有以”/”開始)、絕對路徑(以“/”開始)ServletContext獲取的,參數只能指定為絕對路徑傳值可以使用三種方法:url中帶parameter,session,request.setAttribut閱卷人得分四、編程題(共1題,總計30分)設計用戶登錄頁面:login.jsp。(4分)<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%><html><head><title>用戶登錄頁面</title></head><body><formaction="LoginServlet"method="post"> 用戶登錄<br> 姓名:<inputtype="text"name="username"><br> 密碼:<inputtype="password"name="password"><br> <inputtype="submit"value="登錄"></form></body></html>設計用戶實體類:User.java。(4分)ClassUser{ privateintid; privateStringusername; privateStringpassword; setter和getter}設計用戶信息模型接口:UserDAO和模型類:UserDAOImpl.java,該接口和類中包含一個用戶登錄的方法: publicbooleanuserLogin(Useruser);。(8分)//導入相應的Java包publicclassUserDAOImplimplementsUserDAO{privateConnectioncon;privatePreparedStatementpstmt;privateDBCondb;publicUserDAOImpl(){db=newDBCon();} //判斷用戶登錄是否成功 publicbooleanuserLogin(Useruser){ booleanresult=false; try{ con=db.getContection(); pstmt=con.PreparedStatement(“select*fromtb_us

溫馨提示

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

評論

0/150

提交評論