tomcat解析(七)Digester(四)characters,endElement.endDocument

1.characters
 方法內容如下:
  

   該方法的各參數表示了標籤體的內容字符串,此方法主要是將標籤體內容賦予bodyText變量,該變量將在endElement()方法裏使用到

2.endElement
 方法內容如下:

<1>bodyText = updateBodyText(bodyText);
將bodyText中的變量值替換,如標籤體中有${systemProperty}
<2>獲取與標籤路徑名匹配的Rule,觸發其body及end方法
這部分內容爲何是直接從matches.pop出來的,而不是用name去匹配呢?因爲之前在startElement()方法裏匹配過一次,並且將匹配所得的Rule List放入到matches裏了
      

3.endDocument
 另一個需要講一下的是這個方法,在XML結束時調用,方法內容如下:
  

    方法內容爲:彈出所有還在棧中的對象,執行所有Rule的finish方法,執行clear方法清空相關堆棧,如下:
     

   
瞭解了Digester類的幾個處理方法後我們瞭解到,除一些更換變量的處理外,主要的工作都是交由Rule類來處理,我們下面幾篇文章將瞭解一下Rule類的用意的在這裏tomcat是進行了什麼具體的操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章