撩課-Java每天5道面試題第9天
阿新 • • 發佈:2018-11-22
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從請求正文傳遞信息內容, 對文件大小無限制, 文件上傳只能選擇post3. 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天