1. 程式人生 > >Java每天5道面試題,跟我走,offer有!(九)

Java每天5道面試題,跟我走,offer有!(九)

 

76、XML技術的作用?

 
XML技術用於資料儲存、 資訊配置、 資料交換三方面。 可以將資料儲存在XML中, 通過節點、 元素內容、 屬性標示資料內容及關係。 可以使用XML很方便的做資訊配置, 軟體的各種配置引數和物件關係 都存貯在XML檔案中。 在做資料交換平臺時, 將資料組裝成XML檔案, 然後將XML檔案壓縮打包加密後 通過網路傳送給接收者, 接收解密與解壓縮後再同XML檔案中 還原相關資訊進行處理。 

77.XML文件約束有哪幾種?有什麼區別?

 
有兩種定義形式, dtd文件型別定義和SchemaXML模式; XML Schema 和DTD都用於文件驗證, 但二者還有一定的區別, 本質區別是:Scheme本身是xml的, 可以被XML解析器解析, 這也是從DTD上發展Schema的根本目的。 另外, XML Schema 是內容開放模型, 可擴充套件,功能性強, 而DTD可擴充套件性差。 XML Schema 支援豐富的資料型別, 而 DTD不支援元素的資料型別, 對屬性的型別定義也很有限。 XML Schema 支援名稱空間機制, 而DTD不支援。 XML Schema 可針對不同情況 對整個XML 文件或文件區域性進行驗證; 而 DTD缺乏這種靈活性。 XML Schema 完全遵循XML規範, 符合XML語法, 可以和DOM結合使用, 功能強大; 而DTD 語法本身有自身的語法和要求, 難以學習。 

78.XML的解析方式有哪幾種?有什麼區別?

 
1.DOM解析: DOM的全稱是Document Object Model, 也即文件物件模型。 在應用程式中, 基於DOM的XML分析器 將一個XML文件轉換成 一個物件模型的集合(通常稱DOM樹), 應用程式正是通過對 這個物件模型的操作, 來實現對XML文件資料的操作。 通過DOM介面, 應用程式可以在任何時候 訪問XML文件中的任何一部分資料, 因此,這種利用DOM介面的機制 也被稱作隨機訪問機制。 2.SAX解析: SAX的全稱是Simple APIs for XML, 也即XML簡單應用程式介面。 與DOM不同, SAX提供的訪問模式是一種順序模式, 這是一種快速讀寫XML資料的方式。 當使用SAX分析器對XML文件進行分析時, 會觸發一系列事件, 並激活相應的事件處理函式, 應用程式通過這些事件處理函式 實現對XML文件的訪問, 因而SAX介面也被稱作事件驅動介面。 3.JDOM解析: JDOM採用了Java中的Collection架構來封裝集合, 是Java愛好者更加熟悉的模式 4.DOM4J解析: xml解析器一次性把整個xml文件載入進記憶體, 然後在記憶體中構建一顆Document的物件樹, 通過Document物件, 得到樹上的節點物件, 通過節點物件訪問(操作)到xml文件的內容 

79.Http請求的Get和Post的區別?

 
1. get從位址列以明文的方式提交請求 資訊內容 ?username=admin&password=123, 使用者可見, 而post從請求正文提交請求資訊內容, 使用者不可見。 2. get提交因為是從位址列傳遞, 而瀏覽器的位址列長度有限制, 不能提交大資料 post從請求正文傳遞資訊內容, 對檔案大小無限制, 檔案上傳只能選擇post 3. request物件是伺服器獲取請求資訊 從請求頭,請求正文中獲取 我們可以使用request.setCharacterEncoding方法 修改請求物件字元編碼資訊, 但是不能修改位址列字元編碼。 get從位址列傳遞資訊, 不能使用request.setCharacterEncoding這個方法 去修改字元編碼。 post從請求正文以form表單形式提交, 所以可以使用request.setCharacterEncoding 這個方法去修改字元編碼。 4. 總結: 能夠使用post提交儘量使用post提交。 

80.ServletConfig物件和ServletContext物件有什麼區別?

 
一個Servlet對應有一個ServletConfig物件, 可以用來讀取初始化引數。 一個webapp對應一個ServletContext物件。 ServletContext物件 獲取初始化定義的引數。 ServletContext物件可以通過 context.getResourceAsStream("/PATH"); 或者context.getRealPath("/")。 去獲取webapp的資原始檔。 ServletContext物件的 setAttribute(String name,Object o)方法 可以將物件儲存在Context作用範圍域 又稱為全域性作用範圍域, 在整個web應用當中可以共享. ServletContext物件 可以和伺服器進行通訊, 比如寫資訊到伺服器的日誌資訊當中。。