Java每天5道面试题,跟我走,offer有!(九)
生活随笔
收集整理的這篇文章主要介紹了
Java每天5道面试题,跟我走,offer有!(九)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
?
76、XML技術(shù)的作用?
? XML技術(shù)用于數(shù)據(jù)存儲(chǔ)、 信息配置、 數(shù)據(jù)交換三方面。 可以將數(shù)據(jù)存儲(chǔ)在XML中, 通過(guò)節(jié)點(diǎn)、 元素內(nèi)容、 屬性標(biāo)示數(shù)據(jù)內(nèi)容及關(guān)系。 可以使用XML很方便的做信息配置, 軟件的各種配置參數(shù)和對(duì)象關(guān)系 都存貯在XML文件中。 在做數(shù)據(jù)交換平臺(tái)時(shí), 將數(shù)據(jù)組裝成XML文件, 然后將XML文件壓縮打包加密后 通過(guò)網(wǎng)絡(luò)傳送給接收者, 接收解密與解壓縮后再同XML文件中 還原相關(guān)信息進(jìn)行處理。77.XML文檔約束有哪幾種?有什么區(qū)別?
? 有兩種定義形式, dtd文檔類型定義和SchemaXML模式; XML Schema 和DTD都用于文檔驗(yàn)證, 但二者還有一定的區(qū)別, 本質(zhì)區(qū)別是:Scheme本身是xml的, 可以被XML解析器解析, 這也是從DTD上發(fā)展Schema的根本目的。 另外, XML Schema 是內(nèi)容開放模型, 可擴(kuò)展,功能性強(qiáng), 而DTD可擴(kuò)展性差。 XML Schema 支持豐富的數(shù)據(jù)類型, 而 DTD不支持元素的數(shù)據(jù)類型, 對(duì)屬性的類型定義也很有限。 XML Schema 支持命名空間機(jī)制, 而DTD不支持。 XML Schema 可針對(duì)不同情況 對(duì)整個(gè)XML 文檔或文檔局部進(jìn)行驗(yàn)證; 而 DTD缺乏這種靈活性。 XML Schema 完全遵循XML規(guī)范, 符合XML語(yǔ)法, 可以和DOM結(jié)合使用, 功能強(qiáng)大; 而DTD 語(yǔ)法本身有自身的語(yǔ)法和要求, 難以學(xué)習(xí)。78.XML的解析方式有哪幾種?有什么區(qū)別?
? 1.DOM解析: DOM的全稱是Document Object Model, 也即文檔對(duì)象模型。 在應(yīng)用程序中, 基于DOM的XML分析器 將一個(gè)XML文檔轉(zhuǎn)換成 一個(gè)對(duì)象模型的集合(通常稱DOM樹), 應(yīng)用程序正是通過(guò)對(duì) 這個(gè)對(duì)象模型的操作, 來(lái)實(shí)現(xiàn)對(duì)XML文檔數(shù)據(jù)的操作。 通過(guò)DOM接口, 應(yīng)用程序可以在任何時(shí)候 訪問(wèn)XML文檔中的任何一部分?jǐn)?shù)據(jù), 因此,這種利用DOM接口的機(jī)制 也被稱作隨機(jī)訪問(wèn)機(jī)制。 2.SAX解析: SAX的全稱是Simple APIs for XML, 也即XML簡(jiǎn)單應(yīng)用程序接口。 與DOM不同, SAX提供的訪問(wèn)模式是一種順序模式, 這是一種快速讀寫XML數(shù)據(jù)的方式。 當(dāng)使用SAX分析器對(duì)XML文檔進(jìn)行分析時(shí), 會(huì)觸發(fā)一系列事件, 并激活相應(yīng)的事件處理函數(shù), 應(yīng)用程序通過(guò)這些事件處理函數(shù) 實(shí)現(xiàn)對(duì)XML文檔的訪問(wèn), 因而SAX接口也被稱作事件驅(qū)動(dòng)接口。 3.JDOM解析: JDOM采用了Java中的Collection架構(gòu)來(lái)封裝集合, 是Java愛(ài)好者更加熟悉的模式 4.DOM4J解析: xml解析器一次性把整個(gè)xml文檔加載進(jìn)內(nèi)存, 然后在內(nèi)存中構(gòu)建一顆Document的對(duì)象樹, 通過(guò)Document對(duì)象, 得到樹上的節(jié)點(diǎn)對(duì)象, 通過(guò)節(jié)點(diǎn)對(duì)象訪問(wèn)(操作)到xml文檔的內(nèi)容79.Http請(qǐng)求的Get和Post的區(qū)別?
? 1. get從地址欄以明文的方式提交請(qǐng)求 信息內(nèi)容 ?username=admin&password=123, 用戶可見(jiàn), 而post從請(qǐng)求正文提交請(qǐng)求信息內(nèi)容, 用戶不可見(jiàn)。 2. get提交因?yàn)槭菑牡刂窓趥鬟f, 而瀏覽器的地址欄長(zhǎng)度有限制, 不能提交大數(shù)據(jù) post從請(qǐng)求正文傳遞信息內(nèi)容, 對(duì)文件大小無(wú)限制, 文件上傳只能選擇post 3. request對(duì)象是服務(wù)器獲取請(qǐng)求信息 從請(qǐng)求頭,請(qǐng)求正文中獲取 我們可以使用request.setCharacterEncoding方法 修改請(qǐng)求對(duì)象字符編碼信息, 但是不能修改地址欄字符編碼。 get從地址欄傳遞信息, 不能使用request.setCharacterEncoding這個(gè)方法 去修改字符編碼。 post從請(qǐng)求正文以form表單形式提交, 所以可以使用request.setCharacterEncoding 這個(gè)方法去修改字符編碼。 4. 總結(jié): 能夠使用post提交盡量使用post提交。80.ServletConfig對(duì)象和ServletContext對(duì)象有什么區(qū)別?
? 一個(gè)Servlet對(duì)應(yīng)有一個(gè)ServletConfig對(duì)象, 可以用來(lái)讀取初始化參數(shù)。 一個(gè)webapp對(duì)應(yīng)一個(gè)ServletContext對(duì)象。 ServletContext對(duì)象 獲取初始化定義的參數(shù)。 ServletContext對(duì)象可以通過(guò) context.getResourceAsStream("/PATH"); 或者context.getRealPath("/")。 去獲取webapp的資源文件。 ServletContext對(duì)象的 setAttribute(String name,Object o)方法 可以將對(duì)象存儲(chǔ)在Context作用范圍域 又稱為全局作用范圍域, 在整個(gè)web應(yīng)用當(dāng)中可以共享. ServletContext對(duì)象 可以和服務(wù)器進(jìn)行通訊, 比如寫信息到服務(wù)器的日志信息當(dāng)中。。?
轉(zhuǎn)載于:https://my.oschina.net/u/3967312/blog/2960825
總結(jié)
以上是生活随笔為你收集整理的Java每天5道面试题,跟我走,offer有!(九)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 实现mypwd
- 下一篇: manjaro Linux调节屏幕显示亮