《太原理工大學_WEB系統(tǒng)與技術試卷_0_2.doc》由會員分享,可在線閱讀,更多相關《太原理工大學_WEB系統(tǒng)與技術試卷_0_2.doc(15頁珍藏版)》請在裝配圖網上搜索。
說明:本試卷為A、B兩卷綜合,小編未整理。
一、選擇題
1、HTTP哪個請求方式,請求參數會出現在網址列上?
(A) GET (B) POST
2、Web容器在收到瀏覽器請求時,會如何處理請求?
(A) 使用單一執(zhí)行緒處理所有請求
(B) 一個請求就建立一個執(zhí)行緒來處理請求
(C) 一個請求就建立一個行程來處理請求
(D) 一個請求就執(zhí)行一個容器來處理請求
3、Java EE中各技術標準最后將由什么文件明訂規(guī)范?
(A) JCP (B) JSR (C) JDK
4、在JSP中,要定義一個方法,需要用到以下( )寫法。
A. <%= %> B. <% %> C. <%! %> D. <%@ %>
4、在J2EE中,在web.xml中,有如下代碼:
30
上述代碼定義了默認的會話超時時長,時長為30( )。
A. 毫秒 B. 秒 C. 分鐘 D. 小時
6、JavaWeb 中( )類的( )方法用于創(chuàng)建對話。
A. HttpServletRequest、getSession
B. HttpServletResponse、newSession
C. HtttpSession、newInstance
D. HttpSession、getSession
7、給定一個 Servlet 的doGet方法中的代碼片段,如下:
request.setAttribute(“name”,”zhang”);
response.sendRedirect(“http://localhost:8080/servlet/MyServlt”);
那么在Servlet 中可以使用( )方法把屬性 name的值取出來。
A. String str=request.getAttribute(“name”);
B. String str=(String)request.getAttribute(“name”);
C. Object str=request.getAttribute(“name”);
D. 無法取出來
8、下邊哪個不是JSP的內置對象?( )
A. session B. request C. cookie D. out
9、關于get和post兩種請求,下列說法正確的是?( )
A. Form表單默認請求是get請求。
B. get請求處理的數據量大小不受到限制。
C. post請求地址欄里是能看到數據的,所以傳送用戶信息盡量避免使用。
D. post請求可以由doGet方法處理。
10、下面哪一個是正確使用JavaBean的方式?( )
A.
B.
C.
D.
11、在Java Web開發(fā)中,不同的客戶端需要共享數據,則數據應該存儲在( )中。
A. session B. application C. request D. response
12、在WEB應用程序的目錄結構中,在WEB-INF文件夾外的文件為( )。
A. jsp文件 B. class文件 C. jar文件 D. web.xml文件
13、以下( )可用于檢索session屬性userid的值。
A. session. getAttribute (“userid”);
B. session. setAttribute (“userid”);
C. request. getParameter (“userid”);
D. request. getAttribute (“userid”);
14、在JSP中,有EL表達式${10*10 ne 10},結果是( )。
A. 100 B. true C. fasle D. 以上都不對
15、有關會話跟蹤技術描述不正確的是( )。
A. Cookie是Web服務器發(fā)送給客戶端的一小段信息,客戶端請求時,可以讀取該信息發(fā)送到服務
器端
B. 關閉瀏覽器意味著會話ID丟失,但所有與原會話關聯(lián)的會話數據仍保留在服務器上,直至會話過期
C. 在禁用Cookie時可以使用URL重寫技術跟蹤會話
D. 隱藏表單域將字段添加到HTML表單并在客戶端瀏覽器中顯示
16、在JSP頁面中使用
標簽,對session中集合對象arr進行迭代時,items屬性賦值正確的是( )。
A.
B.
C.
D.
17、在Servlet過濾器的生命周期方法中,每當傳遞請求或響應時,web容器會調用( )方法。
A.init B.service C.doFilter D.destroy
18、利用MVC結構搭建某網上書店系統(tǒng),設計用戶登陸界面,如果你是設計人員,你將在三層結構的( )中實現。
A.模型層 B.視圖層 C.數據訪問層 D.控制層
19、Servlet/JSP主要是屬于哪個Java平臺的規(guī)范之中?
(A) Java SE (B) Java ME (C) Java EE (D)其他
20、在JSP中,要直接輸出一個值,需要用到以下( )寫法。
A. <%= %> B. <% %> C. <%! %> D. <%@ %>
21、Servlet/JSP必須基于哪一類型的容器才能提供服務?
(A)Applet容器 (B)應用程序客戶端容器
(c)web容器 (D)其他
22、關于get和post兩種請求,下列說法正確的是?( )
A. get請求處理的數據量大小不受到限制。
B. post請求可以由doGet方法處理。
C. Form表單默認請求是get請求。
D. post請求地址欄里是能看到數據的,所以傳送用戶信息盡量避免使用。
23、在Web應用程序的檔案與目錄結構中,web.xml是直接放置在哪個目錄之中?
(A) WEB-INF目錄 (B) conf目錄
(C) lib目錄 (D) classes目錄
24、何者可以實作使用者的自動登入機制?
(A) HttpSession (B) Cookie
(C) HttpServletRequest (D) URL重寫
25、關于JSP的描述,哪個正確?
(A) JSP是直譯式的網頁,與Servlet無關
(B) JSP會先轉譯為.java,然后編譯為.class載入容器
(C) JSP會直接由容器動態(tài)生成Servlet實例,無需轉譯
(D) JSP是丟到瀏覽器端,由瀏覽器進行直譯
26、使用Statement的executeQuery()方法,會傳回哪個型態(tài)?
(A) int (B) boolean
(C) ResultSet (D) Table
27、若要針對HTTP請求撰寫Servlet類別,以下何者是正確的作法?
(A) 實作Servlet界面
(B) 繼承GenericServlet
(C) 繼承HttpServlet
(D) 直接定義一個結尾名稱為Servlet的類別
28、續(xù)上題,如何針對HTTP的GET請求進行處理與響應?
(A) 重新定義service()方法
(B) 重新定義doGet()方法
(C) 定義一個方法名稱為doService()
(D) 定義一個方法名稱為get()
29、HttpServlet是定義在哪個套件之中?
(A) javax.servlet
(B) javax.servlet.http
(C) java.http
(D) javax.http
30、你在web.xml中定義了以下的內容:
Goodbye
cc.openhome.LogutServlet
GoodBye
/goodbye
哪個URL可以正確的要求Servlet進行請求處理?
(A) /GoodBye
(B) /goodbye.do
(C) /LoguotServlet
(D) /goodbye
31、在Web應用程序中,何者負責將HTTP請求轉換為HttpServletRequest物件?
(A) Servlet物件
(B) HTTP服務器
(C) Web容器
(D) JSP網頁
32、在Web應用程序的檔案與目錄結構中,web.xml是直接放置在哪個目錄之中?
(A) WEB-INF目錄
(B) conf目錄
(C) lib目錄
(D) classes目錄
33、在MVC架構中,誰負責通知應用程序客戶端,應用程序本身有狀態(tài)改變?
(A) 模型(Model)
(B) 視圖(View)
(C) 控制器(Controller)
34、MVC與Model 2架構最大的差別在于?
(A) Model 2架構的視圖是由HTML組成
(B) Model 2架構中的模型無法通知視圖狀態(tài)已更新
(C) MVC架構是基于請求/響應模型
(D) MVC架構只能用于單機應用程序
二、填空題
1、JSP有三種類型的元素,分別為:腳本元素 、 指令元素 、 動作元素
2、 get請求的數據會附在URL之后,以 ? 分割URL和傳輸數據,參數之間以 & 相連。
3、Servlet生命周期可分為四個階段:加載和實例化、初始化、 處理請求 、銷毀。
4、JDBC的主要任務是:與數據庫建立連接 、執(zhí)行SQL語句、 處理結果 。
5、PreparedStatement接口中 executeUpdate() 方法用于執(zhí)行INSERT等更新語句,并且返回一個整數。
6、 JSP中,常用的會話跟蹤技術有Cookie技術、Session技術、隱藏表單域技術、URL重寫技術。
7、JSTL中,標簽用于遍歷集合或迭代指定的次數。
8、JSTL中, 標簽用于進行條件判斷。
完善以下登錄后臺代碼
ResultSet rs = null;
PreparedStatement psmt = null;
boolean isLogin = false;
String sql="SELECT * FROM user WHERE u_name = ? AND u_password = ?";
Connection conn = JDBCUtil. getConnection() ;
try {
psmt = conn.prepareStatement( sql );
psmt.setString( 1 , user.getUname());
psmt.setString( 2 , user.getUpassword());
rs = psmt. executeQuery() ;
isLogin = rs. next() ;
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.close(conn, psmt, rs);
}
判斷題
JSP 從本質上講可以看成是一個servlet 對象?!?
表單提交數據時,用name屬性標記傳送名稱,value屬性承載傳送值?!?
Include動作和Include指令執(zhí)行的過程是相同的。
HTTP協(xié)議是一種無狀態(tài)協(xié)議?!?
JDBC用于實現Java與數據庫的交互,但是不可以在jsp中使用。
forward動作可以把當前網頁重新導向另外的一個服務器。
超鏈接不可以傳遞參數。
HTTP協(xié)議是一種有狀態(tài)協(xié)議。
Include動作和Include指令執(zhí)行的過程是不同的。√
JSP 從本質上講可以看成是一個servlet 對象?!?
超鏈接也可以用來傳遞參數?!?
JDBC用于實現Java與數據庫的交互,但是不可以在jsp中使用。
sendRedirect()可以把當前網頁重新導向另外的一個服務器。√
表單提交數據時,用id屬性標記傳送名稱,value屬性承載傳送值。
簡答題
簡述JSP四種作用域的生命周期和可訪問性?
頁面域(pageContex),頁面域的生命周期是指頁面執(zhí)行期間。存儲在頁面域的對象只對于它所在頁面是可訪問的。
請求域(request),請求域的生命周期是指一次請求過程。存儲在請求域中的對象只有在此次請求過程中才可以被訪問。
會話域(session),會話域的生命周期是指某個客戶端與服務器所連接的時間;客戶端在第一次訪問服務器時創(chuàng)建會話,在關閉瀏覽器或主動退出后,會話結束。存儲在會話域中的對象在整個會話期間(可能包含多次請求)都可以被訪問。
應用域(application),應用域的生命周期是指從服務器開始執(zhí)行服務到服務器關閉為止,是四個作用域中時間最長的。存儲在應用域中的對象在整個應用程序運行期間可以被所有JSP和Servlet共享訪問。
簡述轉發(fā)與重定向的區(qū)別?
1) 轉發(fā)只能將請求轉發(fā)給同一個Web應用中的組件;而重定向不僅可以重定向到當前應用程序中的其他資源,還可以重定向到其他站點的資源;
2) 重定向的訪問過程結束后,瀏覽器地址欄中顯示的URL會發(fā)生改變;而轉發(fā)過程結束后,瀏覽器地址欄保持初始的URL地址不變;
3) 重定向對瀏覽器的請求直接作出響應,響應的結果就是告訴瀏覽器去重新發(fā)出對另外一個URL的訪問請求;轉發(fā)在服務器端內部將請求轉發(fā)給另外一個資源,瀏覽器并不知道在服務器程序內部發(fā)生了轉發(fā)行為;
4) 轉發(fā)調用者與被調用者之間共享相同的request對象和response對象,它們屬于同一個訪問請求和響應過程;而重定向調用者與被調用者使用各自的request對象和response對象,它們屬于兩個獨立的訪問請求和響應過程。
談談你對MVC分層開發(fā)模式的理解?
MVC模式包含:模型層(Model)、視圖層(View)、控制層(Controller)三個層級。
1) 模型層主要負責封裝數據和業(yè)務操作。包括對用戶請求的數據和數據庫查詢的數據進行封裝,以及對業(yè)務處理邏輯進行封裝。
2) 視圖層主要指與用戶交互的界面,如:html,jsp等。這層主要用于讓用戶輸入數據和顯示數據處理后的結果。
3) 控制層主要的工作就是控制整個系統(tǒng)處理的流程,其角色通常是介于視圖層和模型層之間,進行數據傳遞和流程轉向。
4) 控制層將用戶請求數據和業(yè)務處理邏輯交給相應的模型,視圖層從模型中獲取數據,并跟隨模型層數據的更新而更新。開發(fā)人員在后期對項目的業(yè)務邏輯維護時,只需要對模型層做更新、變動,而不需要牽扯到視圖層,這樣一來,即可將網頁設計和程序處理完整的分離,又可使日后的維護更具彈性。
簡述JSP的運行原理(也可畫圖說明)。
答案一:(畫圖說明)
答案二:(文字說明)
JSP引擎首先查找該請求的jsp文件是否存在,若存在,則判斷該文件是否修改或首次調用;若不存在,則返回報錯信息,
被修改過的或首次調用的JSP文件,JSP引擎先將該JSP文件轉換成一個Java源文件(Servlet),然后再把該Java源文件編譯成相應的class字節(jié)碼文件。
執(zhí)行class字節(jié)碼文件,并將處理的結果返回給Web服務器,再返回給客戶端瀏覽器進行顯示。
簡述include指令元素與include動作元素的相同點與不同點?
答:
共同點:兩者的作用都是在一個JSP中引入其他的頁面,實現頁面的復用。
不同點:對包含文件的處理方式和處理時間不同。
include指令元素(靜態(tài)引入),是在翻譯階段就引入所包含的文件,被處理的文件在邏輯和語法上依賴于當前JSP頁面,其優(yōu)點是頁面的執(zhí)行速度快。
include動作元素(動態(tài)引入),是在JSP頁面運行時才會引入該文件,被包含的文件在邏輯和語法上獨立于當前JSP頁面,其優(yōu)點是可以使用子元素更加靈活地處理所需要的文件,缺點是執(zhí)行速度要慢一些。
完善代碼
ResultSet rs = null;
PreparedStatement psmt = null;
boolean isLogin = false;
String sql="SELECT * FROM user WHERE u_name = ? AND u_password = ?";
Connection conn = JDBCUtil. getConnection() ;
try {
psmt = conn .prepareStatement(sql);
psmt. setString (1, user.getUname());
psmt. setString (2 , user.getUpassword());
rs = psmt. executeQuery() ;
isLogin = rs. next() ;
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.close(conn, psmt, rs);
}
編寫一個動態(tài)顯示用戶列表的頁面。
參考內容如下:
用戶ID
用戶名
狀態(tài)
操作
1
admin
正常
修改|刪除
2
zhangsan
正常
修改|刪除
3
lisi
不可用
修改|刪除
已知的信息為:后臺已通過request對象將用戶(User.java)列表信息傳至前臺,傳值的參數名稱為“userList”,其中User對象的屬性包含:id、name、status;且page指令已導入相關包和類。
要求:
1)使用table布局實現截圖中所有內容(無需寫css樣式、js腳本);
2)列表內容必須使用JSP腳本形式實現。
3)列表內容必須使用JSTL標簽+EL表達式實現。
答:<%List userList = (List)request.getAttribute("userList"); %>
用戶ID |
用戶名 |
狀態(tài) |
操作 |
<%for(User u:userList){%>
<%=u.getId() %> |
<%=u.getName() %> |
<%=u.getStatus()==1?"正常":"不可用" %> |
修改
刪除
|
<%} %>
答:
用戶ID |
用戶名 |
狀態(tài) |
操作 |
${user.id} |
${user.name} |
${user.status==0?"正常":"不可用"} |
修改刪除 |
.jsp有哪些內置對象?作用分別是什么?
application對象代表應用程序上下文,它允許JSP頁面與包括在同一應用程序中的任何Web組件共享信息。
Config對象允許將初始化數據傳遞給一個JSP頁面
Exception對象含有只能由指定的JSP“錯誤處理頁面”訪問的異常數據。
Out對象代表提供輸出流的訪問
Page對象代表JSP頁面對應的Servlet類實例
PageContext對象是Jsp頁面本身的上下文,它提供唯一一組方法來管理具有不同作用域的屬性
Request對象提供對Http請求數據的訪問,同時還提供用于加入特定請求數據的上下文
Response對象允許直接訪問HttpServletResponse對象
Session對象可能是狀態(tài)管理上下文中使用最多的對話
jsp有哪些動作?作用分別是什么?
操作被用來以“名—值”隊的形式為其他標簽提供附加信息
操作允許在請求是在現成的JSP頁面里包含靜態(tài)或者動態(tài)資源
操作允許將請求轉發(fā)到另一個JSP、servlet或靜態(tài)資源文件
標簽用來在JSP頁面中創(chuàng)建一個JavaBean實例并指定他的名字以及作用范圍
此操作和setBean一起協(xié)作,用來設置JavaBean的屬性
操作是對操作的補充,用來訪問一個Bean的屬性
用來產生客戶端瀏覽器的特別標簽,可以使用它來插入Applet和JavaBean
JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?
如果文件僅僅是靜態(tài)文件,那么這種包含僅僅是把包含文件的內容加到JSP文件中去,但這個被包含文件不會被JSP編譯器執(zhí)行。相反,如果這個被包含文件是動態(tài)的文件,那么他將被JSP編譯器執(zhí)行。如果是動態(tài)文件還可以用傳遞參數
兩種跳轉方式分別是什么?有什么區(qū)別?
操作允許在請求是在現成的JSP頁面里包含靜態(tài)或者動態(tài)資源
操作允許將請求轉發(fā)到另一個JSP、servlet或靜態(tài)資源文件
5.servlet運行的生命周期圖.
裝載ServletServlet類 Servlet初始化(調用init方法)實例對象被回收 提供服務(調用Service方法) 銷毀Servlet實例(調用destroy方法)
8.在程序里怎樣注冊servlet
displayChart
org.jfree.chart.servlet.DisplayChart
displayChart
/displayChart
[此文檔可自行編輯修改,如有侵權請告知刪除,感謝您的支持,我們會努力把內容做得更好]
最新可編輯word文檔
鏈接地址:http://m.appdesigncorp.com/p-5392508.html