zoukankan      html  css  js  c++  java
  • tomcat源码阅读_代码篇3

    关于digester的详细工作过程,下面对代码进行了简单说明:

            //创建server对象,类为org.apache.catalina.core.StandardServer,第3个参数是说可以使用className属性来改变server对象
            digester.addObjectCreate("Server",
                                     "org.apache.catalina.core.StandardServer",
                                     "className");
            //设置server对象的属性
            digester.addSetProperties("Server");
           
            /*public void addSetNext(String pattern,
            String methodName,
            String paramType)
            */
            digester.addSetNext("Server",
                                "setServer",
                                "org.apache.catalina.Server");
            //同上,但是只能用固定的类来初始化对象
            digester.addObjectCreate("Server/GlobalNamingResources",
                                     "org.apache.catalina.deploy.NamingResources");
            //设置该对象属性
            digester.addSetProperties("Server/GlobalNamingResources");
           
            //同上
            digester.addSetNext("Server/GlobalNamingResources",
                                "setGlobalNamingResources",
                                "org.apache.catalina.deploy.NamingResources");
            //同上,但是第二个参数为null,所以在server.xml必须指定Listener的className属性
            digester.addObjectCreate("Server/Listener",
                                     null, // MUST be specified in the element
                                     "className");
            //同上
            digester.addSetProperties("Server/Listener");
            //同上
            digester.addSetNext("Server/Listener",
                                "addLifecycleListener",
                                "org.apache.catalina.LifecycleListener");

    其余部分的含义也大致相同,如果还有不理解的,可以在本博里查看how tomcat works第15章的内容,如果还不清楚,可以结合Digester的doc分析。

  • 相关阅读:
    oracle之 关闭透明大页
    Mac下使用sublime Text打开隐藏目录
    win下gosublime配置ctag
    Qless 相关知识
    Redis 的 Lua 脚本支持
    HTTP TCP UDP Socket 关系的几个经典图
    golang rpc 简单范例
    golang fatal error: all goroutines are asleep
    JSON 解析的可抛弃
    golang label breaks
  • 原文地址:https://www.cnblogs.com/macula7/p/1960491.html
Copyright © 2011-2022 走看看