Java基礎知識題集(2)

AND_YOU_with_ME發表於2017-04-07

101java中會存在記憶體洩漏嗎,請簡單描述。
會。如:int i,i2;  return (i-i2);   //when i為足夠大的正數,i2為足夠大的負數。結果會造成溢位,導致錯誤。
102java中實現多型的機制是什麼?
方法的重寫Overriding和過載OverloadingJava多型性的不同表現。重寫Overriding是父類與子類之間多型性的一種表現,過載Overloading是一個類中多型性的一種表現。
103、垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收記憶體嗎?有什麼辦法主動通知虛擬機器進行垃圾回收?
對於GC來說,當程式設計師建立物件時,GC就開始監控這個物件的地址、大小以及使用情況。通常,GC採用有向圖的方式記錄和管理堆(heap)中的所有物件。通過這種方式確定哪些物件是"可達的",哪些物件是"不可達的"。當GC確定一些物件為"不可達"時,GC就有責任回收這些記憶體空間。可以。程式設計師可以手動執行System.gc(),通知GC執行,但是Java語言規範並不保證GC一定會執行。
104、靜態變數和例項變數的區別?
static i = 10; //常量
   class A a;  a.i =10;//可變
105、什麼是java序列化,如何實現java序列化?
序列化就是一種用來處理物件流的機制,所謂物件流也就是將物件的內容進行流化。可以對流化後的物件進行讀寫操作,也可將流化後的物件傳輸於網路之間。序列化是為了解決在對物件流進行讀寫操作時所引發的問題。
序列化的實現:將需要被序列化的類實現Serializable介面,該介面沒有需要實現的方法,implements Serializable只是為了標註該物件是可被序列化的,然後使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(物件流)物件,接著,使用ObjectOutputStream物件的writeObject(Object obj)方法就可以將引數為obj的物件寫出(即儲存其狀態),要恢復的話則用輸入流。
106、是否可以從一個static方法內部發出對非static方法的呼叫?
不可以,如果其中包含物件的method();不能保證物件初始化.
107、寫clone()方法時,通常都有一行程式碼,是什麼?
Clone 有預設行為,super.clone();他負責產生正確大小的空間,並逐位複製。
108、在JAVA中,如何跳出當前的多重巢狀迴圈?
break; return 方法。
109ListMapSet三個介面,存取元素時,各有什麼特點?
List 以特定次序來持有元素,可有重複元素。Set 無法擁有重複元素,內部排序。Map 儲存key-value值,value可多值。
110J2EE是什麼?
J2EE是Sun公司提出的多層(multi-diered),分散式(distributed),基於元件(component-base)的企業級應用模型(enterpriese application model).在這樣的一個應用系統中,可按照功能劃分為不同的元件,這些元件又可在不同計算機上,並且處於相應的層次(tier)中。所屬層次包括客戶層(clietn tier)元件,web層和元件,Business層和元件,企業資訊系統(EIS)層。
111UML方面 
標準建模語言UML。用例圖,靜態圖(包括類圖、物件圖和包圖),行為圖,互動圖(順序圖,合作圖),實現圖。
112、說出一些常用的類,包,介面,請各舉5
常用的類:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer
常用的包:java.lang  java.awt  java.io  java.util  java.sql
常用的介面:Remote  List  Map  Document  NodeList 
113、開發中都用到了那些設計模式?用在什麼場合
每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重複相同的工作。主要用到了MVC的設計模式。用來開發JSP/Servlet或者J2EE的相關應用。簡單工廠模式等。
114jsp有哪些動作?作用分別是什麼
JSP共有以下6種基本動作 jsp:include:在頁面被請求的時候引入一個檔案。 jsp:useBean:尋找或者例項化一個JavaBean jsp:setProperty:設定JavaBean的屬性。 jsp:getProperty:輸出某個JavaBean的屬性。 jsp:forward:把請求轉到一個新的頁面。 jsp:plugin:根據瀏覽器型別為Java外掛生成OBJECTEMBED標記。
115Anonymous Inner Class (匿名內部類是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)? 
可以繼承其他類或完成其他介面,在swing程式設計中常用此方式。
116、應用伺服器與WEB SERVER的區別?
應用伺服器:WeblogicTomcat、Jboss
WEB SERVERIIS、 Apache
117BSCS的聯絡與區別。
C/S是Client/Server的縮寫。伺服器通常採用高效能的PC、工作站或小型機,並採用大型資料庫系統,如OracleSybaseInformix SQL Server。客戶端需要安裝專用的客戶端軟體。
B/S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如Netscape NavigatorInternet Explorer,伺服器安裝OracleSybaseInformix SQL Server等資料庫。在這種結構下,使用者介面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在伺服器端實現。瀏覽器通過Web Server 同資料庫進行資料互動。
C/S 與 B/S 區別: 
1.硬體環境不同
C/S 一般建立在專用的網路上小範圍裡的網路環境, 區域網之間再通過專門伺服器提供連線和資料交換服務.
B/S 建立在廣域網之上的不必是專門的網路硬體環境,例與電話上網租用裝置資訊自己管理有比C/S更強的適應範圍, 一般只要有作業系統和瀏覽器就行 
2.對安全要求不同 
C/S 一般面向相對固定的使用者群對資訊保安的控制能力很強一般高度機密的資訊系統採用C/S 結構適宜可以通過B/S釋出部分可公開資訊.
B/S 建立在廣域網之上對安全的控制能力相對弱, 可能面向不可知的使用者。
3.對程式架構不同 
C/S 程式可以更加註重流程可以對許可權多層次校驗, 對系統執行速度可以較少考慮.
B/S 對安全以及訪問速度的多重的考慮建立在需要更加優化的基礎之上C/S有更高的要求 B/S結構的程式架構是發展的趨勢MS.Net系列的BizTalk 2000 Exchange 2000全面支援網路的構件搭建的系統. SUN IBM推的JavaBean 構件技術等,使 B/S更加成熟. 
4.軟體重用不同 
C/S 程式可以不可避免的整體性考慮構件的重用性不如在B/S要求下的構件的重用性好.
B/S 對的多重結構,要求構件相對獨立的功能能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在牆上的石頭桌子 
5.系統維護不同  
C/S 程式由於整體性必須整體考察處理出現的問題以及系統升級升級難. 可能是再做一個全新的系統
B/S 構件組成,方面構件個別的更換,實現系統的無縫升級系統維護開銷減到最小.使用者從網上自己下載安裝就可以實現升級. 
6.處理問題不同 
C/S 程式可以處理使用者面固定並且在相同區域安全要求高需求與作業系統相關. 應該都是相同的系統
B/S 建立在廣域網上面向不同的使用者群分散地域這是C/S無法作到的. 與作業系統平臺關係最小. 
7.使用者介面不同 
C/S 多是建立的Window平臺上,表現方法有限,對程式設計師普遍要求較高
B/S 建立在瀏覽器上有更加豐富和生動的表現方式與使用者交流並且大部分難度減低,減低開發成本. 
8.資訊流不同 
C/S 程式一般是典型的中央集權的機械式處理, 互動性相對低
B/S 資訊流向可變化, B-B B-C B-G等資訊、流向的變化, 更像交易中心。
118LINUX下執行緒,GDI類的解釋。
LINUX實現的就是基於核心輕量級程式的"一對一"執行緒模型,一個執行緒實體對應一個核心輕量級程式,而執行緒之間的管理在核外函式庫中實現。 
GDI類為影象裝置程式設計介面類庫。
119STRUTS的應用(STRUTS架構
Struts是採用Java Servlet/JavaServer Pages技術,開發Web應用程式的開放原始碼的framework 採用Struts能開發出基於MVC(Model-View-Controller)設計模式的應用構架。 Struts有如下的主要功能: .包含一個controller servlet,能將使用者的請求傳送到相應的Action物件。 .JSP自由tag庫,並且在controller servlet中提供關聯支援,幫助開發員建立互動式表單應用。 .提供了一系列實用物件:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和訊息。
120、Jdo是什麼? 
JDOJava物件持久化的新的規範,為java data object的簡稱,也是一個用於存取某種資料倉儲中的物件的標準化APIJDO提供了透明的物件儲存,因此對開發人員來說,儲存資料物件完全不需要額外的程式碼(如JDBC API的使用)。這些繁瑣的例行工作已經轉移到JDO產品提供商身上,使開發人員解脫出來,從而集中時間和精力在業務邏輯上。另外,JDO很靈活,因為它可以在任何資料底層上執行。JDBC只是面向關聯式資料庫(RDBMSJDO更通用,提供到任何資料底層的儲存功能,比如關聯式資料庫、檔案、XML以及物件資料庫(ODBMS)等等,使得應用可移植性更強。
121、內部類可以引用他包含類的成員嗎?有沒有什麼限制?
一個內部類物件可以訪問建立它的外部類物件的內容
122WEB SERVICE名詞解釋。JSWDL開發包的介紹。JAXPJAXM的解釋。SOAPUDDI,WSDL解釋。 
Web ServiceWeb Service是基於網路的、分散式的模組化元件,它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其他相容的元件進行互操作。
JAXP(Java API for XML Parsing) 定義了在Java中使用DOM, SAX, XSLT的通用的介面。這樣在你的程式中你只要使用這些通用的介面,當你需要改變具體的實現時候也不需要修改程式碼。
JAXM(Java API for XML Messaging) 是為SOAP通訊提供訪問方法和傳輸機制的API。
WSDL是一種 XML 格式,用於將網路服務描述為一組端點,這些端點對包含面向文件資訊或程式導向資訊的訊息進行操作。這種格式首先對操作和訊息進行抽象描述,然後將其繫結到具體的網路協議和訊息格式上以定義端點。相關的具體端點即組合成為抽象端點(服務)。
SOAP即簡單物件訪問協議(Simple Object Access Protocol),它是用於交換XML編碼資訊的輕量級協議。 
UDDI 的目的是為電子商務建立標準;UDDI是一套基於Web的、分散式的、為Web Service提供的、資訊註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service註冊,以使別的企業能夠發現的訪問協議的實現標準。

123JSP頁面是如何被執行的?JSP執行效率比Servlet低嗎?

當客戶端向一個JSP頁面發出請求時,Web Container將JSP轉化成Servlet的原始碼(只在第一次請求時),然後編譯轉化後的Servlet並載入到記憶體中執行,執行的結果Response到客戶端。
JSP只在第一次執行的時候會轉化為Servlet,以後每次執行Web容器都是直接執行編譯後的Servlet,所以JSP和Servlet只是在第一次執行的時候不一樣,JSP慢一點,以後的執行都是相同的。

124JSP如何處理執行時異常(run-time)exceptions?

可以使用頁面的errorPage屬性捕獲沒有處理的執行時異常,然後自動轉向到一個錯誤處理頁面,程式碼如下:
<%@ page errorPage=”error.jsp” %>
如果在頁面請求時出現執行時異常是,以上程式碼會把頁面轉向到JSP頁面error.jsp,在error.jsp裡面,可以通過以下程式碼定義這個頁面是錯誤處理頁:

<%@ page isErrorPage=”true” %>

這樣描述錯誤資訊的Throwable物件就可以在error.jsp頁面裡面訪問到。

125、如果jsp表單元素的值為空,如何避免null出現在頁面上?

可以寫一個簡單的函式對空值進行處理,判斷值是否為空,如果是空就返回空字串。例項程式碼如下:
<%!
String blanknull(String s){
return (s == null) ? “” : s;
}
%>
在你的JSP裡面,可以使用以上函式輸出文字框或者其他頁面元素的值,例項程式碼如下:
<input type=”text” name=”shoesize” value=”<%=blanknull(shoesize)% >” >

126、如何避免JSP頁面自動生成session物件?為什麼要這麼做?

在預設情況下,在對一個JSP頁面發出請求時,如果session還沒有建立,JSP頁面會自動為請求建立一個session物件,但是session是比較消耗資源的,如果沒必要保持和使用session,就不應該建立session, 例如一些只是用來宣傳產品的網站,往往沒必要使用session來儲存資訊,可以使用jsp頁面指令session=”false”來避免JSP頁面為每個請求都自動建立session.例項程式碼如下:

<%@ page session=”false”>

127、在servletsJSP之間能共享session物件嗎?

當然可以,
HttpSession session = request.getSession(true);
session.putValue(”variable”,”value”);

128Servlet都有哪些方法?主要作用是什麼?

HttpServlet 類包含 init() 、 destroy() 、 service() 等方法。其中 init() 和 destroy() 方法是繼承的。
(1) init() 方法
Servlet 的生命期中,僅執行一次 init() 方法。它是在伺服器裝入 Servlet 時執行的。 可以配置伺服器,以在啟動伺服器或客戶機首次訪問 Servlet 時裝入 Servlet 。 無論有多少客戶機訪問 Servlet ,都不會重複執行 init() 。
預設的 init() 方法通常是符合要求的,但也可以用定製 init() 方法來覆蓋它,典型的是管理伺服器端資源。 例如,可能編寫一個定製 init() 來只用於一次裝入 GIF 影象,改進 Servlet 返回 GIF 影象和含有多個客戶機請求的效能。另一個示例是初始化資料庫連線。預設的 init() 方法設定了 Servlet 的初始化引數,並用它的 ServletConfig 物件引數來啟動配置, 因此所有覆蓋 init() 方法的 Servlet 應呼叫 super.init() 以確保仍然執行這些任務。在呼叫 service() 方法之前,應確保已完成了 init() 方法。
(2) service() 方法
service() 方法是 Servlet 的核心。每當一個客戶請求一個 HttpServlet 物件,該物件的 service() 方法就要被呼叫,而且傳遞給這個方法一個“請求”( ServletRequest )物件和一個“響應”( ServletResponse )物件作為引數。 在 HttpServlet 中已存在 service() 方法。預設的服務功能是呼叫與 HTTP 請求的方法相應的 do 功能。例如, 如果 HTTP 請求方法為 GET ,則預設情況下就呼叫 doGet() 。 Servlet 應該為 Servlet 支援的 HTTP 方法覆蓋 do 功能。因為 HttpServlet.service() 方法會檢查請求方法是否呼叫了適當的處理方法,不必要覆蓋 service() 方法。只需覆蓋相應的 do 方法就可以了。
= 當一個客戶通過 HTML 表單發出一個 HTTP POST 請求時, doPost ()方法被呼叫。 與 POST 請求相關的引數作為一個單獨的 HTTP 請求從瀏覽器傳送到伺服器。當需要修改伺服器端的資料時,應該使用 doPost() 方法。
= 當一個客戶通過 HTML 表單發出一個 HTTP GET 請求或直接請求一個 URL 時, doGet() 方法被呼叫。 與 GET 請求相關的引數新增到 URL 的後面,並與這個請求一起傳送。當不會修改伺服器端的資料時,應該使用 doGet() 方法。
Servlet 的響應可以是下列幾種型別:
一個輸出流,瀏覽器根據它的內容型別(如 text/HTML )進行解釋。
一個 HTTP 錯誤響應 , 重定向到另一個 URL 、 servlet 、 JSP 。
(3) destroy() 方法
destroy() 方法僅執行一次,即在伺服器停止且卸裝 Servlet 時執行該方法。典型的,將 Servlet 作為伺服器程式的一部分來關閉。預設的 destroy() 方法通常是符合要求的,但也可以覆蓋它,典型的是管理伺服器端資源。例如,如果 Servlet 在執行時會累計統計資料,則可以編寫一個 destroy() 方法,該方法用於在未裝入 Servlet 時將統計數字儲存在檔案中。另一個示例是關閉資料庫連線。
當伺服器卸裝 Servlet 時,將在所有 service() 方法呼叫完成後,或在指定的時間間隔過後呼叫 destroy() 方法。一個 Servlet 在執行 service() 方法時可能會產生其它的執行緒,因此請確認在呼叫 destroy() 方法時,這些執行緒已終止或完成。
(4) GetServletConfig()方法
GetServletConfig ()方法返回一個 ServletConfig 物件,該物件用來返回初始化引數和 ServletContext 。 ServletContext 介面提供有關 servlet 的環境資訊。
(5) GetServletInfo()方法
GetServletInfo ()方法是一個可選的方法,它提供有關 servlet 的資訊,如作者、版本、版權。
當伺服器呼叫 sevlet 的 Service ()、 doGet ()和 doPost ()這三個方法時,均需要 “請求”和“響應”物件作為引數。“請求”物件提供有關請求的資訊,而“響應”物件提供了一個將響應資訊返回給瀏覽器的一個通訊途徑。 javax.servlet 軟體包中的相關類為 ServletResponse 和 ServletRequest ,而 javax.servlet.http 軟體包中的相關類為 HttpServletRequest 和 HttpServletResponse 。 Servlet 通過這些物件與伺服器通訊並最終與客戶機通訊。 Servlet 能通過呼叫“請求”物件的方法獲知客戶機環境,伺服器環境的資訊和所有由客戶機提供的資訊。 Servlet 可以呼叫“響應”物件的方法傳送響應,該響應是準備發回客戶機的。

129Java Servlet的主要功能和作用是什麼?

Servlet 通過建立一個框架來擴充套件伺服器的能力,以提供在 Web 上進行請求和響應服務。當客戶機傳送請求至伺服器時,伺服器可以將請求資訊傳送給 Servlet ,並讓 Servlet 建立起伺服器返回給客戶機的響應。 當啟動 Web 伺服器或客戶機第一次請求服務時,可以自動裝入 Servlet 。裝入後, Servlet 繼續執行直到其它客戶機發出請求。 Servlet 的功能涉及範圍很廣。例如, Servlet 可完成如下功能:
(1) 建立並返回一個包含基於客戶請求性質的動態內容的完整的 HTML 頁面。
(2) 建立可嵌入到現有 HTML 頁面中的一部分 HTML 頁面( HTML 片段)。
(3) 與其它伺服器資源(包括資料庫和基於 Java 的應用程式)進行通訊。
(4) 用多個客戶機處理連線,接收多個客戶機的輸入,並將結果廣播到多個客戶機上。例如, Servlet
以是多參與者的遊戲伺服器。
(5) 當允許在單連線方式下傳送資料的情況下,在瀏覽器上開啟伺服器至 applet 的新連線,並將該連
接保持在開啟狀態。當允許客戶機和伺服器簡單、高效地執行會話的情況下, applet 也可以啟動客戶瀏覽器和伺服器之間的連線。可以通過定製協議或標準(如 IIOP )進行通訊。
(6) 對特殊的處理採用 MIME 型別過濾資料,例如影象轉換和伺服器端包括( SSI )。
(7) 將定製的處理提供給所有伺服器的標準例行程式。例如, Servlet 可以修改如何認證使用者。

130Request物件的主要方法有哪些?

setAttribute(String name,Object):設定名字為name的request的引數值
getAttribute(String name):返回由name指定的屬性值
getAttributeNames():返回request物件所有屬性的名字集合,結果是一個列舉的例項
getCookies():返回客戶端的所有Cookie物件,結果是一個Cookie陣列
getCharacterEncoding():返回請求中的字元編碼方式
getContentLength():返回請求的Body的長度
例項
getInputStream():返回請求的輸入流,用於獲得請求中的資料
getMethod():獲得客戶端向伺服器端傳送資料的方法
getParameter(String name):獲得客戶端傳送給伺服器端的有name指定的引數值
getParameterNames():獲得客戶端傳送給伺服器端的所有引數的名字,結果是一個列舉的例項
getParameterValues(String name):獲得有name指定的引數的所有值
getProtocol():獲取客戶端向伺服器端傳送資料所依據的協議名稱
getQueryString():獲得查詢字串
getRequestURI():獲取發出請求字串的客戶端地址
getRemoteAddr():獲取客戶端的IP地址
getRemoteHost():獲取客戶端的名字
getSession([Boolean create]):返回和請求相關Session
getServerName():獲取伺服器的名字
getServletPath():獲取客戶端所請求的指令碼檔案的路徑
getServerPort():獲取伺服器的埠號
removeAttribute(String name):刪除請求中的一個屬性

131、使用JSP連線到資料庫連線緩衝池的最好方法是什麼?

1.使用JDBC20中帶有此服務的Driver
2.使用提供有此服務的Application server
3.自己寫

132、在JSP中如何寫文字檔案?

使用PrintWriter物件,如:
<%@ page import=”java.io.*” %>
<%
String str = “print me”;
String nameOfTextFile = “/usr/anil/imp.txt”;
try {
PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
pw.println(str);
pw.close();
} catch(IOException e) {
out.println(e.getMessage());
}
%>

133JSP的缺點?

1.對JAVA程式進行除錯沒有好東東
2.因大多數的servlet引擎不支援connection pooling
3.Servlet引擎沒有標準
4.JSP與其它指令碼語言的互動

134、在JSP中如何刪除一個COOKIE?

<%
Cookie killMyCookie = new Cookie(”mycookie”, null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath(”/”);
response.addCookie(killMyCookie);
%>

135、如何現實servlet的單執行緒模式?

<%@ page isThreadSafe=”false”%>

136、說出ServletCGI的區別?
cgi的區別在於servlet處於伺服器程式中,它通過多執行緒方式執行其service方法,一個例項可以服務於多個請求,並且其例項一般不會銷燬,而CGI對每個請求都產生新的程式,服務完成後就銷燬,所以效率上低於servlet

137Servlet的生命週期?

Servlet是一種可以 在Servlet容器中執行的元件,那麼理所當然就應該有一個從建立到銷燬的過程,這個過程我們可以稱之為Servlet生命週期。Servlet的生命 週期可以分為載入、例項化、初始化、處理客戶請求和解除安裝五個階段,體現在方法上主要是init()、service()和destroy()三個方法。生 命週期的具體說明如下:

· Servlet容器完成載入Servlet類和例項化一個Servlet物件

· init()方法完成初始化工作,該方法由Servlet容器呼叫完成

· service()方法處理客戶端請求,並返回響應結果

· destroy()方法在Servlet容器解除安裝Servlet之前被呼叫,釋放一些資源

138、介紹一下javax.servlet.Servlet介面及其主要方法?

Servlet介面的主要作用是提供Servlet生命週期的init()、service()和destroy()方法。
servlet介面中的主要方法有:
void init(ServletConfit config)throws ServletException     在servlet被載入後和實施服務前由servlet引擎進行一次性呼叫。如果init()產生溢位UnavailableException,則 servle退出服務。
ServletConfig getServletConfig()     返回傳遞到servlet的init()方法的ServletConfig物件
void service(ServletRequest request, ServletResponse response)throws ServletException,IOException     處理request物件中描述的請求,使用response物件返回請求結果
String getServletInfo()         返回描述servlet的一個字串
void destory()         當servlet將要解除安裝時由servlet引擎呼叫,銷燬Servlet例項。

139HttpServlet類中的主要方法都有哪些?各自的作用是什麼?

HttpServlet的主要方法有 doGet, doPost, doPut, doDelete, doTrace等等

Void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException     由servlet引擎呼叫用處理一個HTTP GET請求。輸入引數、HTTP頭標和輸入流可從request物件、response頭標和response物件的輸出流中獲得。
Void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException     由servlet引擎呼叫用處理一個HTTP POST請求。輸入引數、HTTP頭標和輸入流可從request物件、response頭標和response物件的輸出流中獲得。
Void doPut(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException     由servlet引擎呼叫用處理一個HTTP PUT請求。本方法中請求URI指出被載入的檔案位置。
Void doDelete(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException     由servlet引擎呼叫用處理一個HTTP DELETE請求。請求URI指出資源被刪除。
Void doOptions(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException     由servlet引擎呼叫用處理一個HTTP OPTIONS請求。返回一個Allow響應頭標表明此servlet支援的HTTP方法。一個servlet不需要覆蓋此方法,因為 HttpServlet方法已經實現規範所需的功能。
Void doTrace(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException     由servlet引擎呼叫用處理一個HTTP TRACE請求。使得請求頭標被反饋成響應關標。一個servlet不需要覆蓋此方法,因為HttpServlet方法已經實現HTTP規範所需的功能。
Void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException     Service(Request request,Response response)呼叫的一個立即方法,帶有指定HTTP請求和響應。此方法實際上將請求導向doGet()、doPost()等等。不應該覆蓋此方法。
Void service(Request request,Response response)throws ServletException,IOException     將請求和響應物件置入其指定的HTTP子類,並呼叫指定HTTP的service()方法。

140XML文件定義有幾種形式?它們之間有何本質區別?解析XML文件有哪幾種方式?

a: 兩種形式 dtd schema,

b: 本質區別:schema本身是xml的,可以被XML解析器解析(這也是從DTD上發展schema的根本目的)。

c:有DOM,SAX,STAX等
DOM:處理大型檔案時其效能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構佔用的記憶體較多,而且DOM必須在解析檔案之前把整個文件裝入記憶體,適合對XML的隨機訪問;SAX:不現於DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML檔案,不需要一次全部裝載整個檔案。當遇到像檔案開頭,文件結束,或者標

籤開頭與標籤結束時,它會觸發一個事件,使用者通過在其回撥事件中寫入處理程式碼來處理XML檔案,適合對XML的順序訪問
STAX:Streaming API for XML (StAX)

141、你在專案中用到了xml技術的哪些方面?如何實現的?

用到了資料存貯,資訊配置兩方面。在做資料交換平臺時,將不能資料來源的資料組裝成XML檔案,然後將XML檔案壓縮打包加密後通過網路傳送給接收者,接收解密與解壓縮後再同XML檔案中還原相關資訊進行處理。在做軟體配置時,利用XML可以很方便的進行,軟體的各種配置引數都存貯在XML檔案中。

相關文章