1. 程式人生 > >撩課-Java每天5道面試題第9天

撩課-Java每天5道面試題第9天

xml技術 日誌 面試 相關 不同 XML onf 對象存儲 文檔加載

撩課Java+系統架構 視頻 點擊開始學習

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對象
可以和服務器進行通訊,
比如寫信息到服務器的日誌信息當中。。

撩課-Java每天5道面試題第9天