計算機學院學期期末考試試卷《Web 開發(fā)基礎》試卷_第1頁
計算機學院學期期末考試試卷《Web 開發(fā)基礎》試卷_第2頁
計算機學院學期期末考試試卷《Web 開發(fā)基礎》試卷_第3頁
計算機學院學期期末考試試卷《Web 開發(fā)基礎》試卷_第4頁
計算機學院學期期末考試試卷《Web 開發(fā)基礎》試卷_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機學院學期期末考試試卷《Web開發(fā)基礎》試卷(答案請寫在答卷上)一、填空題(每空1分,共20分)1.JSP的英文全稱是(1)。2.Tomcat服務器的默認端口是(2)。3.安裝JDK后,需要配置JDK的環(huán)境變量,假定JDK的安裝路徑是C:\JDK1.7,那么環(huán)境變量JAVA_HOME的內容是(3)。4.假定d:\MyJsp是部署后Web應用實際的存放目錄,其Web服務目錄為/hello?,F(xiàn)修改Tomcat服務器安裝目錄下conf目錄中的主配置文件(文件名:(4))來設置新的Web服務目錄。請補充完整以下的該文件片段:<Hostname="localhost"appBase="webapps"unpackWARs="true"autoDeploy="true"xmlValidation="false"xmlNamespaceAware="false"><Contextpath="(5)"docBase="(6)"debug="0"reloadable="true"></Host>如果Tomcat運行在本機的8080端口,若要訪問d:\MyJsp\hello.jsp頁面,那么訪問的URL是:(7)。5.當服務器上的一個JSP頁面被第一次請求執(zhí)行時,服務器上的JSP引擎首先將JSP頁面文件(8)成一個java文件,并(9)這個java文件生成字節(jié)碼文件,然后執(zhí)行字節(jié)碼文件響應客戶的請求。6.JSP指令標記包括(10)指令標記、(11)指令標記和taglib指令標記三種類型。7.JSP的內置對象中用于輸入/輸出處理的有(12)、(13)和(14)對象。8.若要在jsp頁面中導入包java.io.*,那么完整的page指令標記是(15)。9.對某Web應用而言,所有客戶都可以共同使用的作用域通信對象是(16)對象。10.JavaBean是一種Java(17)模型。通過使用JavaBean,可以減少在JSP中腳本代碼的使用,這使得JSP易于維護。11.Servlet對象被創(chuàng)建后將首先調用(18)生命周期方法。12.如果繼承HttpServlet類時不重寫service方法,那么應當重寫(19)和(20)方法。二、選擇題(每小題2分,共20分)1.假設Tomcat中名為helloapp的Web應用有一hello.jsp文件,它的文件路徑如下:%TOMCAT_HOME%/webapps/helloapp/hello/hello.jsp那么在瀏覽器端訪問hello.jsp的URL是什么()(A)http://localhost:8080/hello.jsp(B)http://localhost:8080/helloapp/hello.jsp(C)http://localhost:8080/helloapp/hello/hello.jsp(D)http://localhost:8080/webapps/helloapp/hello/hello.jsp2.假設Tomcat中名為helloapp的Web應用有一HelloServlet類,它屬于.scnu包,那么這個類的class文件應該放在什么目錄下()(A)%TOMCAT_HOME%/webapps/helloapp/cn/edu/scnu/HelloServlet.class(B)%TOMCAT_HOME%/webapps/helloapp/WEB-INF/HelloServlet.class(C)%TOMCAT_HOME%/webapps/helloapp/WEB-INF/classes/HelloServlet.class(D)%TOMCAT_HOME%/webapps/helloapp/WEB-INF/classes/cn/edu/scnu/HelloServlet.class3.假設創(chuàng)建bean的類有一個int類型的屬性number,以下哪個方法是設置該屬性值的正確方法()(A)publicvoidsetNumber(intn){number=n;}(B)voidsetNumber(intn){number=n;}(C)publicvoidSetNumber(intn){number=n;}(D)voidSetNumber(intn){number=n;}4.對于聲明<%!預定義%>的說法錯誤的是()(A)一次可聲明多個變量和方法,只要以“;”結尾就行(B)一個聲明僅在一個頁面中有效(C)聲明的變量將作為局部變量(D)在預定義中聲明的變量將在JSP頁面初始化時初始化5.Page指令用于定義JSP文件中的全局屬性,下列關于該指令用法的描述不正確的是()(A)<%@page%>作用于整個JSP頁面。(B)可以在一個頁面中使用多個<%@page%>指令。(C)為增強程序的可讀性,建議將<%@page%>指令放在JSP文件的開頭,但不是必須的。(D)<%@page%>指令在JSP頁面中只能出現(xiàn)一次。6.在訪問JSP文件時可以在瀏覽器源文件窗口中可以看到的注釋類型是:(A)HTML注釋(B)JSP注釋(C)隱藏注釋(D)Java注釋7.以下關于session對象的說法中,不正確的是()(A)session對象被分配了一個String類型的ID,該ID在客戶端存放在Cookie里。(B)同一用戶在訪問同一Web服務目錄中各個頁面時的session是相同的。(C)不同用戶的session對象互不相同,具有不同的ID。(D)用戶在同一個瀏覽器里訪問http://localhost:8080/ch3/session1.jsp與http://localhost:8080/ch3/abc/session2.jsp時的sessionID是不同的。8.假設JSP使用的表單中有如下的GUI(復選框):<inputtype="checkbox"name="item"value="bird">鳥<inputtype="checkbox"name="item"value="cat">貓<inputtype="checkbox"name="item"value="dog">狗通過request內置對象來獲取該值的正確語句是()(A)Stringa=request.getParameter("item");(B)Stringa=request.getParameter("checkbox");(C)Stringa[]=request.getParameterValues("item");(D)Stringa[]=request.getParameterValues("checkbox");9.com.sun.Circle是創(chuàng)建bean的類,以下哪個標記是正確創(chuàng)建session周期bean的標記()(A)<jsp:useBeanid="circle"class="com.sun.Circle"scope="page"/>(B)<jsp:useBeanid="circle"class="com.sun.Circle"scope="request"/>(C)<jsp:useBeanid="circle"class="com.sun.Circle"scope="session"/>(D)<jsp:useBeanid="circle"type="com.sun.Circle"scope="session"/>10.使用JSP+Servlet+Javabean組合實現(xiàn)MVC模式時,實現(xiàn)業(yè)務邏輯的模型通常由()來完成:(A)JSP(B)Servlet(C)Javabean(D)html三、簡答題(共15分)1.“<%!”和“%>”之間聲明的變量與“<%”和“%>”之間聲明的變量有何不同?(5分)2.請簡單敘述include指令標記和include動作標記的不同。(4分)3.通過JDBC訪問數(shù)據庫時,使用預編譯語句的好處是什么?(4分)4.通常只要在頁面中給出文件鏈接,就可以直接下載文件了,為什么還需要在后端提供文件下載功能?(2分)四、簡單應用題(共30分)1.假定有兩個用戶訪問下列JSP頁面hello.jsp,請回答以下問題:(4分)hello.jsp:<%@pagecontentType=”text/html;charset=GB2312”%><%@pageisThreadSafe=”false”%><HTML><BODY><%!intsum=1;voidadd(intm){sum=sum+m;}%><%intn=100;add(n);out.println(“sum=”+sum);%></BODY></HTML>請分別寫出第一個用戶和第二個用戶訪問該頁面時輸出sum的值。2.假定要求在form.jsp中接受用戶的輸入(以POST方式提交表單數(shù)據),由receive.jsp接收這些輸入信息并顯示。(10分)form.jsp:<%@pagecontentType="text/html;charset=GB2312"%><HTML><BODYbgcolor=cyan><Fontsize=2><FORMaction="①"method=②name=form><BR>輸入您的姓名:<INPUTtype="text"name="name"value="張三"></BR><BR>選擇性別:<INPUTtype="radio"name="Sex"value="男"checked="default">男<INPUTtype="radio"name="Sex"value="女">女</BR><BR>選擇您喜歡的球隊:<inputtype="checkbox"name="item"value="國際米蘭隊">國際米蘭隊<inputtype="checkbox"name="item"value="AC米蘭隊">AC米蘭隊<inputtype="checkbox"name="item"value="羅馬隊">羅馬隊<inputtype="checkbox"name="item"value="慕尼黑隊">慕尼黑隊</BR><INPUTTYPE="submit"value="提交"name="submit"><INPUTTYPE="reset"value="重置"></FORM></FONT></BODY></HTML>receive.jsp:<%@pagecontentType="text/html;Charset=GB2312"%><HTML><BODYbgcolor=cyan><Fontsize=2><%StringyourName=request.getParameter("name");//獲取text提交的值StringyourSex=③;//獲取radio提交的值StringitemName[]=④;//獲取checkbox提交的值out.println("<P>您的姓名:"+yourName+"</P>");out.println("<P>您的性別:"+yourSex+"</P>");out.println("<P>您喜歡的球隊:");if(itemName==null){out.print("一個都不喜歡");}else{for(intk=0;k<itemName.length;k++){out.println(""+itemName[k]);}}%></FONT></BODY></HTML>(1)補充完整代碼中的①~④(8分)(2)在表單form中,復選框圖形元素的名稱是什么?(2分)3.采用MVC模式開發(fā)一個簡單的計算器web應用,其中視圖是inputNumber.jsp,接收用戶輸入并顯示計算結果,計算器模型是MVC.bean.CalculatorBean類,控制器是MVC.CalculatorServlet類。(16分)(1)inputNumber.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="MVC.bean.*"%><HTML><BODY><jsp:useBeanid="①"class="②"scope="session"/>運算結果:<jsp:getPropertyname="cc"property="numberOne"/><jsp:getPropertyname="cc"property="operator"/><jsp:getPropertyname="cc"property="numberTwo"/>=<jsp:getPropertyname="cc"property="result"/><FORMaction="③"method="post"name="cal"><table><tr><td>輸入兩個數(shù):</td><td><Inputtype=textname="numberOne"value="<jsp:getPropertyname='cc'property='result'/>"size=10></td><td><Inputtype=textname="numberTwo"value=0size=10></td></tr><tr><td>選擇運算符號:</td><td><Selectname="operator"><Optionvalue="+">+(加)<Optionvalue="-">-(減)<Optionvalue="*">*(乘)<Optionvalue="/">/(除)</Select></td><td><INPUTTYPE="submit"value="計算"name="submit"></td></tr></table></FORM></body></html>(2)CalculatorServlet.java:packageMVC;importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;importMVC.bean.CalculatorBean;publicclassCalculatorServletextendsHttpServlet{publicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{CalculatorBeandataBean=null;HttpSessionsession=request.getSession(true);try{dataBean=(CalculatorBean)session.getAttribute("cc");if(dataBean==null){dataBean=newCalculatorBean();//創(chuàng)建Javabean對象session.setAttribute("cc",dataBean);//將dataBean存儲到session對象中}}catch(Exceptionexp){}doublenumberOne=Double.parseDouble(request.getParameter("numberOne"));doublenumberTwo=Double.parseDouble(request.getParameter("numberTwo"));Stringoperator=request.getParameter("operator");doubleresult=0;if(operator.equals("+")){result=numberOne+numberTwo;}elseif(operator.equals("-")){result=numberOne-numberTwo;}elseif(operator.equals("*")){result=numberOne*numberTwo;}elseif(operator.equals("/")){result=numberOne/numberTwo;}dataBean.setNumberOne(numberOne);//將數(shù)據存儲在dataBean中dataBean.setNumberTwo(numberTwo);dataBean.setOperator(operator);dataBean.setResult(result);RequestDispatcherdispatcher=request.getRequestDispatcher("④");dispatcher.forward(request,response);//請求inputNumber.jsp顯示dataBean中的數(shù)據}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}}(3)CalculatorBean.java:packageMVC.bean;publicclassCalculatorBean{doublenumberOne,numberTwo,result;Stringoperator="+";publicvoidsetNumberOne(doublen){numberOne=n;}publicdoublegetNumberOne(){returnnumberOne;}//省略屬性NumberTwo,Result,Operator的setter/getter方法的定義}(4)web.xml:<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0"><display-name>servletMVC</display-name><servlet><servlet-name>CalculatorServlet</servlet-name><servlet-class>⑤</servlet-class></servlet><servlet-mapping><servlet-name>CalculatorServlet</servlet-name><url-pattern>/Calculator</url-pattern></servlet-mapping></web-app>(1)請補充完整①~⑤(10分)(2)假定該Web應用部署后的實際存放目錄是:C:\CalculatorWeb,請分別寫出部署后的三個文件web.xml、inputNumber.jsp與CalculatorBean.class的完整路徑。(6分)五、綜合應用題(共15分)運用MVC模式,設計一個Web應用的用戶注冊模塊。已知以下信息:(1)使用mysql數(shù)據庫(userdb)保存用戶注冊數(shù)據,創(chuàng)建用戶數(shù)據表的DDL是:createtableusers(idintauto_incrementprimarykey,userNamechar(10)unique,passwordvarchar(20))defaultcharset=gbk;連接mysql的驅動是:com.mysql.jdbc.Driver連接數(shù)據庫userdb的uri是:jdbc:mysql:///userdb?user=root&password=&characterEncoding=gb2312(2)register.jsp代碼(部分)如下:<jsp:useBeanid="userBean"class="bean.UserBean"scope="request"/><jsp:getPropertyname="userBean"property="message"/><br><formaction="RegisterServlet"method="post">用戶名:<inputtype="text"name="userName"value=""><br>密碼:<inputtype

溫馨提示

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

評論

0/150

提交評論