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