Java每天5道面試題,跟我走,offer有!(八)
XML技術的作用?
XML技術用於資料儲存、
資訊配置、
資料交換三方面。
可以將資料儲存在XML中,
透過節點、
元素內容、
屬性標示資料內容及關係。
可以使用XML很方便的做資訊配置,
軟體的各種配置引數和物件關係
都存貯在XML檔案中。
在做資料交換平臺時,
將資料組裝成XML檔案,
然後將XML檔案壓縮打包加密後
透過網路傳送給接收者,
接收解密與解壓縮後再同XML檔案中
還原相關資訊進行處理。
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 語法本身有自身的語法和要求,
難以學習。
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文件的內容
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提交。
ServletConfig物件和ServletContext物件有什麼區別?
一個Servlet對應有一個ServletConfig物件,
可以用來讀取初始化引數。
一個webapp對應一個ServletContext物件。
ServletContext物件
獲取初始化定義的引數。
ServletContext物件可以透過
context.getResourceAsStream("/PATH");
或者context.getRealPath("/")。
去獲取webapp的資原始檔。
ServletContext物件的
setAttribute(String name,Object o)方法
可以將物件儲存在Context作用範圍域
又稱為全域性作用範圍域,
在整個web應用當中可以共享.
ServletContext物件
可以和伺服器進行通訊,
比如寫資訊到伺服器的日誌資訊當中。。
最後分享一些Java架構資料,面試資料及學習資源給大家:
主要包括(Java工程化、高效能及分散式、併發程式設計、深入淺出。效能調優、Spring,Mybatis,Netty,Redis,JVM, Zookeeper , ConcurrentHashMap1.8原始碼解讀,原始碼分析等影片及文件,也有詳細的Java進階路線腦圖)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545684/viewspace-2221489/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 每天10道Java面試題,跟我走,offer有!Java面試題
- Java每天10道面試題,跟我走,offer有!(十)Java面試題
- 撩課-Java每天5道面試題第17天Java面試題
- 撩課-Java每天5道面試題第25天Java面試題
- 撩課-Java每天5道面試題第24天Java面試題
- 【Java】幾道讓你拿offer的面試題Java面試題
- Java 208 道面試題 · (八)網路Java面試題
- 撩課-Web大前端每天5道面試題-Day33Web前端面試題
- 撩課-Web大前端每天5道面試題-Day35Web前端面試題
- 撩課-Web大前端每天5道面試題-Day2Web前端面試題
- 撩課-Python-每天5道面試題-第1天Python面試題
- 撩課-Web大前端每天5道面試題-Day8Web前端面試題
- 撩課-Web大前端每天5道面試題-Day20Web前端面試題
- 撩課-Web大前端每天5道面試題-Day25Web前端面試題
- iOS 每天一道面試題iOS面試題
- 撩課-Web大前端每天5道面試題-Day19Web前端面試題
- 撩課-Web大前端每天5道面試題-Day14Web前端面試題
- 撩課-Web大前端每天5道面試題-Day11Web前端面試題
- 撩課-Web大前端每天5道面試題-Day13Web前端面試題
- 「劍指offer」27道Mybatis面試題含解析MyBatis面試題
- GitHub#algorithm#:《劍指offer》 的50道面試題GithubGo面試題
- Java面試題-框架篇八Java面試題框架
- 100道JAVA面試題+JAVA面試題參考答案Java面試題
- 「每天一道面試題」sleep方法和wait方法有什麼區別?面試題AI
- iOS開發面試的43道最新面試題,讓你穩拿大廠offer!iOS面試題
- 10次面試9次被刷?吃透這500道大廠Java高頻面試題後,怒斬offerJava面試題
- 【Java面試】Java面試題基礎系列212道(上)Java面試題
- 劍指Offer面試題5(Java版):從尾到頭列印連結串列面試題Java
- 面試珍藏:最常見的20道Java面試題Java面試題
- Java 面試如何坐等 offer?Java面試
- 精選11道Java技術面試題並有答案(包含部分阿里和華為的面試題)Java面試題阿里
- 一道java面試基礎題Java面試
- Java面試系列:Java面試題基礎系列228道(上)Java面試題
- Java 208 道面試題 · (六)Java WebJava面試題Web
- 劍指offer面試題(41-50)——java實現面試題Java
- 這幾道Redis面試題都不懂,offer肯定與你擦肩而過Redis面試題
- 重做一道Java面試題(Fork/Join)Java面試題
- 一道java面試題分析及思考Java面試題