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分析。

  • 相关阅读:
    Android studio关于点击事件后的页面跳转,选择完成后返回(onActivityResult)
    关于Android对话框简单实用方法总结
    Eclipse键盘输出文字,显示到屏幕上方法
    indexOf实际试用方法
    LiteOS裸机驱动移植01-以LED为例说明驱动移植
    LiteOS内核教程06-内存管理
    LiteOS内核教程05-互斥锁
    LiteOS内核教程04-信号量
    LiteOS内核教程03-任务管理
    LiteOS内核教程02-HelloWorld
  • 原文地址:https://www.cnblogs.com/macula7/p/1960491.html
Copyright © 2011-2022 走看看