真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JAVA筆記6-創(chuàng)新互聯(lián)

Java XML

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、虛擬空間、營銷軟件、網(wǎng)站建設、準格爾網(wǎng)站維護、網(wǎng)站推廣。

什么是 XML解析?

解析XML是指將通過XML文檔訪問數(shù)據(jù)或修改數(shù)據(jù)的一個操作或方法。

Java庫中提供了兩種XML解析器:

像文檔對象模型(Document Object Model,DOM)解析器這的樹型解析器(tree parse),它們將讀入的XML文檔轉換成樹結構。

像XML簡單API(Simple API for XML,SAX)解析器這樣的流機制解析器(streaming parser),它們在讀入XML文檔時生成相應的事件。

什么是 XML 解析器?

XML解析器提供方法來訪問或修改 XML 文檔中的數(shù)據(jù)。 Java 提供了多種解析 XML 文檔的選項。 以下是通常用于解析 XML 文檔的各種類型的解析器。

Dom 解析器 ? 通過加載文檔的完整內(nèi)容并在內(nèi)存中創(chuàng)建其完整的層次樹來解析 XML 文檔。

SAX 解析器 ? 在基于事件的觸發(fā)器上解析 XML 文檔。 不將完整的文檔加載到內(nèi)存中。

JDOM 解析器 ? 解析 XML 文檔的方式與 DOM 解析器類似,但方式更簡單。

StAX 解析器 ? 以與 SAX 解析器類似的方式解析 XML 文檔,但以更有效的方式。

XPath 解析器 ? 基于表達式解析 XML 文檔,并廣泛與 XSLT 結合使用。

DOM4J 解析器 ? 一個使用 Java Collections Framework 解析 XML、XPath 和 XSLT 的 java 庫。 它提供對 DOM、SAX 和 JAXP 的支持。

Java DOM4J 解析器

DOM4J 是一個開源的、基于 Java 的庫,用于解析 XML 文檔。 它是一個高度靈活且內(nèi)存高效的 API。 它是 Java 的優(yōu)化,并使用 Java 集合,如 List 和 Arrays。

DOM4J 適用于 DOM、SAX、XPath 和 XSLT。 它解析大型 XML 文檔時具有非常低內(nèi)存占用。

環(huán)境設置:為了使用 DOM4J 解析器,應該包含 dom4j-1.6.1.jar 和 jaxen.jar在應用程序的類路徑中。 下載 dom4j-1.6.1.zip。

什么情況下使用?

應該在以下情況下使用 DOM4J 解析器 ?

需要知道很多關于 XML 文檔的結構

需要移動 XML 文檔的各個部分(例如,可能想要對某些元素進行排序)。

需要多次使用 XML 文檔中的信息。

是一名 Java 開發(fā)人員,希望利用 Java 優(yōu)化的 XML 解析。

會得到什么?

當使用 DOM4J 解析器解析 XML 文檔時,可以靈活地獲取包含文檔所有元素的樹結構,而不會影響應用程序的內(nèi)存占用。DOM4J 提供了多種實用功能,您可以使用這些功能檢查 XML 文檔的內(nèi)容和結構,以防文檔結構良好且結構已知。DOM4J 使用 XPath 表達式在 XML 文檔中導航。

優(yōu)勢

DOM4J 為 Java 開發(fā)人員提供了 XML 解析代碼的靈活性和易維護性。 它是一個輕量級的且快速的 API。

Document表示整個XML文檔。文檔Document對象是通常被稱為DOM樹。

Element表示一個XML元素。 Element對象有方法來操作其子元素,它的文本,屬性和名稱空間。

Attribute表示元素的屬性。屬性有方法來獲取和設置屬性的值。它有父節(jié)點和屬性類型。

Node代表元素,屬性或處理指令

SAXReader.read(xmlSource)()構建XML源的DOM4J文檔。

Document.getRootElement()得到的XML的根元素。

Element.node(index)獲得在元素特定索引XML節(jié)點。

Element.attributes()獲取一個元素的所有屬性。

Node.valueOf(@Name)得到元件的給定名稱的屬性的值。

使用dom4j解析xml的大致步驟

1.創(chuàng)建SAXReader

2.使用SAXReader讀取xml文檔并且生成Document對象。

這一步也是dom解析耗資源的地方,因為首先要先將文檔所有數(shù)據(jù)讀取完畢,并且以一個Document對象的形式保存在內(nèi)存當中

3.通過Document對象獲取根元素

4.按照xml文檔的結構從根元素開始逐級遍歷xml文檔數(shù)據(jù)的目的

Document提供了獲取根元素的方法:Element getRootElement()

而element的每一個實例用于表示當前xml文件的一個元素(一對標簽),它提供了獲取其元素相關的方法:

獲取當前標簽的名字:String getName()

獲取當前標簽中間的文本:String getText()

獲取當前標簽下指定名字的子標簽:Element element(String name)

獲取當前標簽下的所有子標簽:List elements()

獲取當前標簽下指定名字的子標簽:List elements(String name)

獲取當前標簽下指定名字標簽的屬性:Attribute attribute(String name)

Attribute的每一個實例表示一個屬性,它有兩個方法:

獲取屬性名:String getName()

獲取屬性值:String getValue()

生成xml文件的大致步驟為:

1.創(chuàng)建一個Document對象,表示一個空白文檔

2.向Document中添加根元素

3.按照xml文檔結構從根標簽開始逐級添加子標簽以及對應的數(shù)據(jù)

4.創(chuàng)建XmlWrite

5.使用XmlWrite寫出Document,生成文檔

Document提供了添加根元素的方法:

Element addElement(String name)

添加后會根據(jù)標簽以一個Element實例返回,以便于我們對其繼續(xù)操作,

注意:這個方法只能調(diào)用一次

Element也提供了添加相關信息的方法:

Element addElement(String name),向當前標簽中添加給定標簽名的子標簽

Element addText(String text),向當前標簽中添加指定的文本,返回的還是當前標簽(這樣做的好處是 ,可以繼續(xù)添加其他內(nèi)容)

WEB-SERVER

1、創(chuàng)建core.WebServer類,負責接收請求,生成socket對象

2、自定義異常exception.InitServerSocketException類,表示serverSocket初始化失敗異常

3、定義日志信息類base.Log,負責打印日志信息

4、創(chuàng)建ClientHandler類,讀取請求的相關數(shù)據(jù)

5、創(chuàng)建http.HttpServletRequest類,用途:封裝請求數(shù)據(jù),便于后期操作

該類包含主要功能:解析請求頭、解析請求行、解析請求數(shù)據(jù)、獲取請求行數(shù)據(jù)

工廠模式

工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。在工廠模式中,我們在創(chuàng)建對象時不會對客戶端暴露創(chuàng)建邏輯,并且是通過使用一個共同的接口來指向新創(chuàng)建的對象。

介紹

意圖:定義一個創(chuàng)建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創(chuàng)建過程延遲到子類進行。

主要解決:主要解決接口選擇的問題。

何時使用:我們明確地計劃不同條件下創(chuàng)建不同實例時。

如何解決:讓其子類實現(xiàn)工廠接口,返回的也是一個抽象的產(chǎn)品。

關鍵代碼:創(chuàng)建過程在其子類執(zhí)行。

注意事項:作為一種創(chuàng)建類模式,在任何需要生成復雜對象的地方,都可以使用工廠方法模式。有一點需要注意的地方就是復雜對象適合使用工廠模式,而簡單對象,特別是只需要通過 new 就可以完成創(chuàng)建的對象,無需使用工廠模式。如果使用工廠模式,就需要引入一個工廠類,會增加系統(tǒng)的復雜度。

設計模式的六大原則

  1. 開閉原則(Open Close Principle)

開閉原則就是說對擴展開放,對修改關閉。在程序需要進行拓展的時候,不能去修改原有的代碼,實現(xiàn)一個熱插拔的效果。所以一句話概括就是:為了使程序的擴展性好,易于維護和升級。想要達到這樣的效果,我們需要使用接口和抽象類

  1. 里氏代換原則(Liskov Substitution Principle)

里氏代換原則(Liskox Substitution Principle LSP)面向對象設計的基本原則之一。里氏代換原則中說,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。 LSP 是繼承復用的基石,只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被復用,而衍生類也能夠在基類的基礎上增加新的行為。里氏代換原則是對“開-閉”原則的補充。實現(xiàn)“開-閉”原則的關鍵步驟就是抽象化。而基類與子類的繼承關系就是抽象化的具體實現(xiàn),所以里氏代換原則是對實現(xiàn)抽象化的具體步驟的規(guī)范?!?From Baidu 百科4

  1. 依賴倒轉原則(Dependence Inversion Principle)

這個是開閉原則的基礎,具體內(nèi)容:針對接口編程,依賴于抽象而不依賴于具體。

  1. 接口隔離原則(Interface Segregation Principle)

這個原則的意思是:使用多個隔離的接口,比使用單個接口要好。還是一個降低類之間的耦合度的意思,從這兒我們看出,其實設計模式就是一個軟件的設計思想,從大型軟件架構出發(fā),為了升級和維護方便。所以上文中多次出現(xiàn):降低依賴,降低耦合。

  1. 迪米特法則(最少知道原則)(Demeter Principle)

為什么叫最少知道原則,就是說:一個實體應當盡量少的與其他實體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對獨立。

6.合成復用原則(Composite Reuse Principle)

盡量使用合成/聚合,而不是使用繼承。

工廠方法模式

1.普通工廠模式

就是建立一個工廠類,對實現(xiàn)了同一接口的一些類進行實例的創(chuàng)建。

2.多工廠模式

是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字符串出錯,則不能正確創(chuàng)建對象,而多個工廠方法模式是提供多個工廠方法,分別創(chuàng)建對象。

3.靜態(tài)工廠方法模式,

將上面的多個工廠方法模式里的方法置為靜態(tài)的,不需要創(chuàng)建實例,直接調(diào)用即可。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


新聞名稱:JAVA筆記6-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://weahome.cn/article/ddihjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部