一、 填空題(每空2分,共30分)
1、在tomcat上發佈javaweb應用時的默認目錄是webapps_目錄。 2、javaweb應用的部署描述符是指 web.xml__ 文件。
3、在tomcat中訪問helloapp應用的login.html文件時,在瀏覽器地址欄應寫的url爲:http://localhost:8080/helloapp/login.html_。
4、Servlet容器啓動每一個web應用時,都會爲它創建一個唯一的_ServletContext對象,該對象和web應用有相同的生命週期。
5、請求轉發源組件的響應結果_不會發送到客戶端,包含會發送到客戶端。(填“會”或“不會”)
6、jsp中實現請求轉發的標記爲:___。
7、在JSP中, request 內置對象代表請求消息, response 內置對象代表響應消息,__session內置對象代表會話。
8、如果使用第四類jdbc驅動器連接數據庫,jar文件的存放位置爲“web應用/WEB-INF /lib______”。
9、Servlet容器爲每一個HttpSession對象分配一個唯一標識符,叫做SessionID。
10、javaweb在mvc設計模式下,javabean是模型,_jsp是視圖,__servlet是控制器。
二、 選擇題(每題2分,共30分)
1、下面哪一個選項不是http響應的一部分?( c ) a) 響應頭 b) 響應正文 c) 協議版本號 d) 狀態行
2、http請求及響應的正文部分可以是任意格式的數據,要保證接收方能看得 懂發送方發送的數據,http協議採用( d )協議來規範正文的數據格式 ? a) FTP b) TCP c) HTTP d) MIME
3、Servlet API 由哪兩個包組成?(兩個答案)( ac ) a) javax.servlet b) javax.servlet.jsp c) javax.servlet.http d) java.servlet
4、一個servlet的生命週期不包括( b )方法? a) init()方法
b) invalidate()方法 c) service()方法 d) destroy()方法
5、HttpServletRequest對象的( c )方法能夠獲取一個表單參數的值: a) getQuaryString() b) getPathInfo() c) getParameter()
d) getAttribute()
6、下面對servlet中重定向說法描述錯誤的是( d )
a) 使用的是HttpServletResponse接口的sendRedirect()方法 b) 源組件的響應結果不會發送給客戶端 c) sendRedirect()方法後的代碼仍會執行
d) 源組件和目標組件共享ServletRequest對象 7、jsp指令不包括( c ) a) page指令 b) taglib指令 c) import指令 d) include指令
8、jsp中java表達式的語法格式爲:(a ) a) <%= %> b) <%! %> c) <%@ %> d) <% %>
9、可以執行請求轉發的操作是(d )。 a) jsp中response內置對象的sendRedirect()方法 b) 標記
c) RequestDispatcher對象的include()方法 d) RequestDispatcher對象的forward()方法
10、( d )內置對象可以處理jsp頁面運行中的錯誤或者異常 a) pageContext b) page c) session d) exception
11、下面對jdbc api描述錯誤的是( d )
a) DriverManager接口的getConnection()方法可以建立和數據庫的連接 b) Connection接口的createStatement()方法可以創建一個Statement對象 c) Statement接口的executeQuery()方法可以發送select語句給數據庫 d) ResultSet接口表示執行insert語句後得到的結果集
12、JavaBean的scope取什麼值可使該javabean被多個用戶共享,即和web 應用有相同的生命週期?( d ) a) page b) request c) session d) application
13、下面哪個不是JSP中和javabean相關的標記?( b ) a) b) c) d)
14、以下關於EL和JSTL說法錯誤的是?( d ) a) EL是一種簡潔的數據訪問語言
b) EL表達式基本形式:${var}
c) JSTL的全稱是JavaServer Pages Standard Tag Library d) JSTL只有一個Core核心標籤庫
15、所有的servlet過濾器類都必須實現( a )接口。 a) javax.servlet.Filter
b) javax.servlet.ServletConfig c) javax.servlet.ServletContext d) javax.servlet.Servlet 三、 編程題(共40分)
1、第一個Servlet1文件,讀取兩個請求參數first和second,將其轉換爲int值後相加,和存放在請求範圍內,然後把請求轉發第二個Servlet2.。第二個Servlet2文件(url爲output),向客戶輸出Servlet1計算的結果。根據註釋補充下列代碼。(23分)
public class Servlet1 extends HttpServlet {
public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException { //讀取兩個請求參數,並將其轉換爲int值 int first =
Integer.valueOf(request.getParameter(“first”)).intValue();__(3分) int
second=Integer.valueOf(request.getParameter(“second”)).intValue();_(3分) //將兩個數字相加
int sum=first+second;_(3分) //在request對象中添加sum屬性
_ request.setAttribute(“sum”, String.valueOf(sum));__(3分) /把請求轉發給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分) //向客戶端輸出和
PrintWriter out=response.getWriter();
out.print(“the sum is “+sum);___(3分) } }
2、寫一個JSP訪問Access數據庫的user表,將所有的記錄顯示出來;ODBC數據源名爲test,驅動類名爲:”sun.jdbc.odbc.JdbcOdbcDriver”,連接數據庫的url爲:”jdbc:odbc:test”。user表中name字段爲文本類型,password爲數字類型。連接數據庫代碼(6分),發送查詢語句代碼(4分),處理結果集代碼(7分)(共17分) name password 張三 123 李四 456 王五 789