一、 填空題(每空2分,共30分)
1、在tomcat上發(fā)布javaweb應(yīng)用時(shí)的默認(rèn)目錄是__webapps___目錄。
2、javaweb應(yīng)用的部署描述符是指 web.xml__ 文件。
3、在tomcat中訪問(wèn)helloapp應(yīng)用的login.html文件時(shí),在瀏覽器地址欄應(yīng)寫的url為:__http://localhost:8080/helloapp/login.html___。
4、Servlet容器啟動(dòng)每一個(gè)web應(yīng)用時(shí),都會(huì)為它創(chuàng)建一個(gè)唯一的___ServletContext__對(duì)象,該對(duì)象和web應(yīng)用有相同的生命周期。
5、請(qǐng)求轉(zhuǎn)發(fā)源組件的響應(yīng)結(jié)果___不會(huì)__發(fā)送到客戶端,包含__會(huì)__發(fā)送到客戶端。(填“會(huì)”或“不會(huì)”)
6、jsp中實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)的標(biāo)記為:_________。
7、在JSP中, request 內(nèi)置對(duì)象代表請(qǐng)求消息, response 內(nèi)置對(duì)象代表響應(yīng)消息,___session_內(nèi)置對(duì)象代表會(huì)話。
8、如果使用第四類jdbc驅(qū)動(dòng)器連接數(shù)據(jù)庫(kù),jar文件的存放位置為“web應(yīng)用/_WEB-INF /lib_______”。
9、Servlet容器為每一個(gè)HttpSession對(duì)象分配一個(gè)唯一標(biāo)識(shí)符,叫做___SessionID___。
10、javaweb在mvc設(shè)計(jì)模式下,___javabean___是模型,___jsp是視圖,__servlet__是控制器。
二、 選擇題(每題2分,共30分)
1、下面哪一個(gè)選項(xiàng)不是http響應(yīng)的一部分?( c )
a) 響應(yīng)頭
b) 響應(yīng)正文
c) 協(xié)議版本號(hào)
d) 狀態(tài)行
2、http請(qǐng)求及響應(yīng)的正文部分可以是任意格式的數(shù)據(jù),要保證接收方能看得
懂發(fā)送方發(fā)送的數(shù)據(jù),http協(xié)議采用( d )協(xié)議來(lái)規(guī)范正文的數(shù)據(jù)格式 ?
a) FTP
b) TCP
c) HTTP
d) MIME
3、Servlet API 由哪兩個(gè)包組成?(兩個(gè)答案)( ac )
a) javax.servlet
b) javax.servlet.jsp
c) javax.servlet.http
d) java.servlet
4、一個(gè)servlet的生命周期不包括( b )方法?
a) init()方法
b) invalidate()方法
c) service()方法
d) destroy()方法
5、HttpServletRequest對(duì)象的( c )方法能夠獲取一個(gè)表單參數(shù)的值:
a) getQuaryString()
b) getPathInfo()
c) getParameter()
d) getAttribute()
6、下面對(duì)servlet中重定向說(shuō)法描述錯(cuò)誤的是( d )
a) 使用的是HttpServletResponse接口的sendRedirect()方法
b) 源組件的響應(yīng)結(jié)果不會(huì)發(fā)送給客戶端
c) sendRedirect()方法后的代碼仍會(huì)執(zhí)行
d) 源組件和目標(biāo)組件共享ServletRequest對(duì)象
7、jsp指令不包括( c )
a) page指令
b) taglib指令
c) import指令
d) include指令
8、可以執(zhí)行請(qǐng)求轉(zhuǎn)發(fā)的操作是(d )。
a) jsp中response內(nèi)置對(duì)象的sendRedirect()方法
b) 標(biāo)記
c) RequestDispatcher對(duì)象的include()方法
d) RequestDispatcher對(duì)象的forward()方法
9、( d )內(nèi)置對(duì)象可以處理jsp頁(yè)面運(yùn)行中的錯(cuò)誤或者異常
a) pageContext
b) page
c) session
d) exception
10、下面對(duì)jdbc api描述錯(cuò)誤的是( d )
a) DriverManager接口的getConnection()方法可以建立和數(shù)據(jù)庫(kù)的連接
b) Connection接口的createStatement()方法可以創(chuàng)建一個(gè)Statement對(duì)象
c) Statement接口的executeQuery()方法可以發(fā)送select語(yǔ)句給數(shù)據(jù)庫(kù)
d) ResultSet接口表示執(zhí)行insert語(yǔ)句后得到的結(jié)果集
12、JavaBean的scope取什么值可使該javabean被多個(gè)用戶共享,即和web
11、應(yīng)用有相同的生命周期?( d )
a) page
b) request
c) session
d) application
12、以下關(guān)于EL和JSTL說(shuō)法錯(cuò)誤的是?( d )
a) EL是一種簡(jiǎn)潔的數(shù)據(jù)訪問(wèn)語(yǔ)言
b) EL表達(dá)式基本形式:${var}
c) JSTL的全稱是JavaServer Pages Standard Tag Library
d) JSTL只有一個(gè)Core核心標(biāo)簽庫(kù)
13、所有的servlet過(guò)濾器類都必須實(shí)現(xiàn)( a )接口。
a) javax.servlet.Filter
b) javax.servlet.ServletConfig
c) javax.servlet.ServletContext
d) javax.servlet.Servlet
三、 編程題(共40分)
1、第一個(gè)Servlet1文件,讀取兩個(gè)請(qǐng)求參數(shù)first和second,將其轉(zhuǎn)換為int值后相加,和存放在請(qǐng)求范圍內(nèi),然后把請(qǐng)求轉(zhuǎn)發(fā)第二個(gè)Servlet2.。第二個(gè)Servlet2文件(url為output),向客戶輸出Servlet1計(jì)算的結(jié)果。根據(jù)注釋補(bǔ)充下列代碼。(23分)
public class Servlet1 extends HttpServlet {
public void service(ServletRequest request,ServletResponse response)
throws ServletException, IOException {
//讀取兩個(gè)請(qǐng)求參數(shù),并將其轉(zhuǎn)換為int值
int first = Integer.valueOf(request.getParameter(“first”)).intValue();________(3分)
int second=Integer.valueOf(request.getParameter(“second”)).intValue();___(3分)
//將兩個(gè)數(shù)字相加
int sum=first+second;_____(3分)
//在request對(duì)象中添加sum屬性
_ request.setAttribute(“sum”, String.valueOf(sum));______(3分)
_ ServletContext context = getServletContext();
RequestDispatcher dispatcher =context.getRequestDispatcher(“/output”);
dispatcher.forward(request, response);_____(5分)
}
}
public class Servlet2 extends HttpServlet {
public void service(ServletRequest request,ServletResponse response)
throws ServletException, IOException {
//讀取請(qǐng)求范圍內(nèi)Servlet1計(jì)算出的和
_ String sum=(String)request.getAttribute(“sum”);_________(3分)
//向客戶端輸出和
PrintWriter out=response.getWriter();
out.print(“the sum is “+sum);_________(3分)
}
}
2、寫一個(gè)JSP訪問(wèn)Access數(shù)據(jù)庫(kù)的user表,將所有的記錄顯示出來(lái);ODBC數(shù)據(jù)源名為test,驅(qū)動(dòng)類名為:”sun.jdbc.odbc.JdbcOdbcDriver”,連接數(shù)據(jù)庫(kù)的url為:”jdbc:odbc:test”。user表中name字段為文本類型,password為數(shù)字類型。連接數(shù)據(jù)庫(kù)代碼(6分),發(fā)送查詢語(yǔ)句代碼(4分),處理結(jié)果集代碼(7分)(共17分)
name password
張三 123
李四 456
王五 789