1、XML技術的作用?
XML技術用于數(shù)據(jù)存儲、
信息配置、
數(shù)據(jù)交換三方面。
可以將數(shù)據(jù)存儲在XML中,
通過節(jié)點、
元素內容、
屬性標示數(shù)據(jù)內容及關系。
可以使用XML很方便的做信息配置,
軟件的各種配置參數(shù)和對象關系
都存貯在XML文件中。
在做數(shù)據(jù)交換平臺時,
將數(shù)據(jù)組裝成XML文件,
然后將XML文件壓縮打包加密后
通過網(wǎng)絡傳送給接收者,
接收解密與解壓縮后再同XML文件中
還原相關信息進行處理。
2.XML文檔約束有哪幾種?有什么區(qū)別?
有兩種定義形式,
dtd文檔類型定義和SchemaXML模式;
XMLSchema和DTD都用于文檔驗證,
但二者還有一定的區(qū)別,
本質區(qū)別是:Scheme本身是xml的,
可以被XML解析器解析,
這也是從DTD上發(fā)展Schema的根本目的。
另外,
XMLSchema是內容開放模型,
可擴展,功能性強,
而DTD可擴展性差。
XMLSchema支持豐富的數(shù)據(jù)類型,
而DTD不支持元素的數(shù)據(jù)類型,
對屬性的類型定義也很有限。
XMLSchema支持命名空間機制,
而DTD不支持。
XMLSchema可針對不同情況
對整個XML文檔或文檔局部進行驗證;
而DTD缺乏這種靈活性。
XMLSchema完全遵循XML規(guī)范,
符合XML語法,
可以和DOM結合使用,
功能強大;
而DTD語法本身有自身的語法和要求,
難以學習。
3.XML的解析方式有哪幾種?有什么區(qū)別?
1.DOM解析:
DOM的全稱是documentObjectModel,
也即文檔對象模型。
在應用程序中,
基于DOM的XML分析器
將一個XML文檔轉換成
一個對象模型的集合(通常稱DOM樹),
應用程序正是通過對
這個對象模型的操作,
來實現(xiàn)對XML文檔數(shù)據(jù)的操作。
通過DOM接口,
應用程序可以在任何時候
訪問XML文檔中的任何一部分數(shù)據(jù),
因此,這種利用DOM接口的機制
也被稱作隨機訪問機制。
2.SAX解析:
SAX的全稱是SimpleAPIsforXML,
也即XML簡單應用程序接口。
與DOM不同,
SAX提供的訪問模式是一種順序模式,
這是一種快速讀寫XML數(shù)據(jù)的方式。
當使用SAX分析器對XML文檔進行分析時,
會觸發(fā)一系列事件,
并激活相應的事件處理函數(shù),
應用程序通過這些事件處理函數(shù)
實現(xiàn)對XML文檔的訪問,
因而SAX接口也被稱作事件驅動接口。
3.JDOM解析:
JDOM采用了Java中的Collection架構來封裝集合,
是Java愛好者更加熟悉的模式
4.DOM4J解析:
xml解析器一次性把整個xml文檔加載進內存,
然后在內存中構建一顆document的對象樹,
通過document對象,
得到樹上的節(jié)點對象,
通過節(jié)點對象訪問(操作)到xml文檔的內容
4.Http請求的Get和Post的區(qū)別?
1.get從地址欄以明文的方式提交請求
信息內容
?username=admin&password=123,
用戶可見,
而post從請求正文提交請求信息內容,
用戶不可見。
2.get提交因為是從地址欄傳遞,
而瀏覽器的地址欄長度有限制,
不能提交大數(shù)據(jù)
post從請求正文傳遞信息內容,
對文件大小無限制,
文件上傳只能選擇post
3.request對象是服務器獲取請求信息
從請求頭,請求正文中獲取
我們可以使用request.setCharacterEncoding方法
修改請求對象字符編碼信息,
但是不能修改地址欄字符編碼。
get從地址欄傳遞信息,
不能使用request.setCharacterEncoding這個方法
去修改字符編碼。
post從請求正文以form表單形式提交,
所以可以使用request.setCharacterEncoding
這個方法去修改字符編碼。
4.總結:能夠使用post提交盡量使用post提交。
5.ServletConfig對象和ServletContext對象有什么區(qū)別?
一個Servlet對應有一個ServletConfig對象,
可以用來讀取初始化參數(shù)。
一個webapp對應一個ServletContext對象。
ServletContext對象
獲取初始化定義的參數(shù)。
ServletContext對象可以通過
context.getResourceAsStream("/PATH");
或者context.getRealPath("/")。
去獲取webapp的資源文件。
ServletContext對象的
setAttribute(Stringname,Objecto)方法
可以將對象存儲在Context作用范圍域
又稱為全局作用范圍域,
在整個web應用當中可以共享.
ServletContext對象
可以和服務器進行通訊,
比如寫信息到服務器的日志信息當中。。
以上就是長沙一度軟件培訓Java培訓機構小編介紹的“2020年五道Java高級程序員面試題”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。