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