J2EEWeb模擬考試題及答案

J2EE是一套全然不同於傳統應用開發的技術架構,包含許多組件,主要可簡化且規範應用系統的開發與部署,進而提高可移植性、安全與再用價值。那麼J2EE Web考試題你會做嗎?下面跟yjbys小編一起來試試看咯!

J2EEWeb模擬考試題及答案

  1、JSP的內置對象及方法。

(1)request表示HttpServletRequest對象。它包含了有關瀏覽器請求的信息,並且提供了幾個用於獲取cookie, header, 和session數據的有用的方法。

(2)response表示HttpServletResponse對象,並提供了幾個用於設置送回 瀏覽器的響應的方法(如cookies,頭信息等)

(3)out對象是riter的一個實例,並提供了幾個方法使你能用於向瀏覽器回送輸出結果。

(4)pageContext表示一個Context對象。它是用於方便存取各種範圍的名字空間、servlet相關的對象的API,並且包裝了通用的servlet相關功能的方法。

(5)session表示一個請求的Session對象。Session可以存貯用戶的狀態信息

(6)applicaton 表示一個letContext對象。這有助於查找有關servlet引擎和servlet環境的信息

(7)config表示一個letConfig對象。該對象用於存取servlet實例的初始化參數。

(8)page表示從該頁面產生的一個servlet實例

  2、JSP的常用指令  <%@page %>

<%@include %>(注意與的不同)

<%@taglib %> 引用標籤庫使得能夠正確地編譯非標準的服務器標籤

  3、說出Servlet的生命週期,並說出Servlet和CGI的區別。

Servlet被服務器實例化後,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX方法(doGet、doPost)等,當服務器決定將實例銷燬的時候調用其destroy方法。

與CGI(Common Gateway Interface)的區別在於servlet處於服務器進程中,它通過多線程方式運行其service方法,一個實例可以服務於多個請求,並且其實例一般不會銷燬,而CGI對每個請求都產生新的進程,服務完成後就銷燬,所以效率上低於servlet。

  4、什麼情況下調用doGet()和doPost()?

Jsp頁面中的form標籤裏的method屬性爲get時調用doGet(),爲post時調用doPost()。

  5、forward(同一個請求過程中中產生“轉發”) 和redirect(二次請求中產生“重定向”)的區別

(1)forward是服務器請求資源

(或者forward()方法)服務器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然後把這些內容再發給瀏覽器,瀏覽器根本不知道服務器發送的內容是從哪兒來的,所以它的地址欄中還是原來的地址。

RequestDispatcher oneRequestDispatcher=equestDispatcher("/userManage/");

ard(request, response);

(2)redirect就是服務端根據邏輯

發送一個狀態碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛纔請求的所有參數重新請求,所以session,request參數都可以獲取。

Redirect("");

  6、JSP中動態INCLUDE與靜態INCLUDE的區別?

(1)動態INCLUDE用動作實現

它總是會檢查所含文件中的變化,適合用於包含動態頁面,並且可以帶參數。

(2)靜態INCLUDE用include指令實現

定不會檢查所含文件的變化,適用於包含靜態頁面<%@ include file="" %>

  7、如何實現Servlet的單線程模式

(1)JSP和Servlet在默認的方式下爲:單對象多線程。

但“單對象多線程”會導致“多線程安全(資源爭奪)”問題出現,如何解決?——同步、少用全局變量定義而多用局部變量定義。

(2)如果希望採用“多對象多進程”的工作方式

對JSP頁面而言,則應該採用<%@ page isThreadSafe="false"%>

對Servlet而言,則應該採用implements leThreadModel接口

public class MyServlet extends HttpServlet implements SingleThreadModel {

}

  8、頁面之間間(或者 頁面與Sevlet之間等形式)對象(數據)傳遞的'方法

(1)採用request:只能在同一個用戶的同一個請求過程中(轉發形式)

(2)採用session:只能適用同一個用戶的不同請求中(在同一個會話中,也就是“在線訪問過程”中的)

(3)採用application:適用同一個Web應用系統中的不同用戶的不同請求中(不同的用戶之間可以共享數據)。

(4)cookie:只能適用同一個客戶主機的不同請求中(可以爲離線)

  9、JSP和Servlet有哪些相同點和不同點?

(1)相同點

JSP是Servlet技術的擴展,本質上是Servlet的簡易方式,更強調應用的外表表達。JSP編譯後是“類Servlet”。

(2)不同點在於

用途:Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML裏分離開來。

程序結構:JSP爲 *,而Servlet爲*

而JSP的情況是Java和HTML可以組合成一個擴展名爲的文件。JSP側重於視圖,Servlet主要用於控制邏輯。

  10、我們在web應用開發過程中經常遇到輸出某種特定編碼的字符,如ISO8859-1或者GB2312等,如何輸出一個某種編碼的字符串?

(1)程序中的編碼

l 以C/C++等爲代表的程序中的編碼:ASCII 編碼

ASCII 編碼是由美國國家標準局(ANSI)制定的ASCII碼(American Standard Code for Information Interchange,美國標準信息交換碼),它已被國際標準化組織(ISO)定爲國際標準,稱爲ISO 646標準。適用於所有拉丁文字字母,ASCII碼有7位碼和8位碼兩種形式。

l 以Java等爲代表的程序中的編碼:UniCode編碼

Unicode 是基於通用字符集(Universal Character Set)的標準來發展,並且同時也以書本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)對外發表。

2006年6月的最新版本的 Unicode 是 2005年3月31日推出的Unicode 4.1.0 。另外,5.0 Beta於2005年12月12日推出,5.2版本(unicode standard)於2009年10月1日正式推出,以供各會員評價。

l 本地編碼:如gb2312

GB2312:《信息交換用漢字編碼字符集》是由我國國家標準總局1980年發佈,1981年5月1日開始實施的一套國家標準,標準號是GB 2312—1980。它是計算機可以識別的編碼,適用於漢字處理、漢字通信等系統之間的信息交換。基本集共收入漢字6763個和非漢字圖形字符682個(共7809個漢字)。

GBK:漢字國標擴展碼,基本上採用了原來GB2312-80所有的漢字及碼位,並涵蓋了原Unicode中所有的漢字20902,總共收錄了883個符號, 21003個漢字及提供了1894個造字碼位。 Microsoft簡體版中文Windows 95就是以GBK爲內碼,又由於GBK同時也涵蓋了Unicode所有CJK漢字,所以也可以和Unicode做一一對應。

GB18030:國家標準GB18030-2000《信息交換用漢字編碼字符集基本集的擴充》是我國繼GB2312-1980和GB13000-1993之後最重要的漢字編碼標準,是我國計算機系統必須遵循的基礎性標準之一。

GB18030目前的最新版本是GB18030-2005。GB18030-2005與GB18030-2000的編碼體系結構是完全相同的。GB18030-2005相對於GB18030-2000主要有以下變化:

1、在四字節字符表中增加CJK統一漢字擴充B和已經在GB13000中編碼的我國少數民族文字字符的字形。其實GB18030-2000已經映射了這些碼位,但GB18030-2000沒有給出這些字符的字形。

2、調整字符?的編碼。

3、去掉了單字節編碼的歐元符號(0x80)。

(2)爲什麼要進行不同編碼之間的轉換工作

信息來源於多種不同的渠道。

(3)如何進行轉換

public String translate (String str){

String tempStr = "ewrqt2rewt"; UTF-8

try{

tempStr = new String(ytes("ISO-8859-1"), "GBK");

tempStr = ();

}

catch (Exception e)

{

tln(essage());

}

return tempStr;

}

  11、JSP有哪些動作?作用分別是什麼?

JSP共有以下6種基本動作

(1)jsp:include:在頁面被請求的時候引入一個文件。

(2)jsp:useBean:尋找或者實例化一個JavaBean。

(3)jsp:setProperty:設置JavaBean的屬性。

(4)jsp:getProperty:輸出某個JavaBean的屬性。

(5)jsp:forward:把請求轉到一個新的頁面。

(6)jsp:plugin:根據瀏覽器類型爲Java插件生成OBJECT或EMBED標記