Tomcat中server.xml的解析

     Tomcat通过Digester类通过解析server.xml来创建一个Server.
     创建一个完整的对象,需要经过三个过程:创建对象实例、设置对象属性、设置对象组合关系,分别对应三个规则(Rule):ObjectCreateRule、SetPropertiesRule、SetNextRule。
     Digester中最重要的属性是stack ,保存创建的对象,并在标签结束时pop该对象。
     当解析xml的开始标签(Digester.startElement)时,找到标签对应的ObjectCreateRule、SetPropertiesRule,调用ObjectCreateRule.begin(),创建对象,将该对象push进stack。调用SetPropertiesRule.begin()设置栈顶对象的属性。
     当解析结束标签(Digester.endElement)时,找到标签对应的SetNextRule、ObjectCreateRule,调用SetNextRule .end方法,取出栈顶的两个对象进行组合,调用ObjectCreateRule.end(),从stack中pop该标签的对象。

猜你喜欢

转载自thewangzl.iteye.com/blog/2361122