• how tomcat works(第15章: Digester)


    综述

    在前面章节中已经看到,使用Bootstrap类来初始化连接器、上下文、包装器以及其它组件。一旦你获得了它们的对象就可以使用set方法来关联它们。例如可以如下初始化连接器和上下文

    Connector connector = new HttpConnector();

    Context context = new StandardContext();

    将连接器和上下文关联起来可以如下实现:

    connector.setContainer(context);

    可以使用相应的set方法来配置这些对象的属性。例如可以使用setPathsetDocBase方法来设置pathdocBase属性。

    context.setPath("/myApp") ;

    context.setDocBase("myApp");

    另外,可以初始化各种组件,然后使用相应的add方法将其添加到上下文容器中。例如,下面是如何在上下文对象中添加生命周期监听器和加载器:

    LifecycleListener listener = new SimpleContextConfig();

    ((Lifecycle) context).addLifecycleListener(listener);

    Loader loader = new WebappLoader();

    context.setLoader(loader);

    一旦必要的关联和添加设置完毕,就可以调用连接器的initializestart方法和上下文的start方法了。

    connector.initialize();

    ((Lifecycle) connector).start ();

    ((Lifecycle) context).start();

    这种方式来配置应用程序有一个很明显的缺点,所有的东西都是硬编码的。要更改一个组件或者一个属性的值都需要重新编译整个Bootstrap类。幸运的是,Tomcat的设计者选择了一种更优雅的方式来进行配置,使用名为server.xmlXML文档。Server.xml中的每一个元素都被转换为一个Java对象,元素的属性用来设置属性。这样,就可以通过编辑server.xml来改变Tomcat的配置。例如,上下文容器元素就可以这样在server.xml中表示

    <context/>

    To set the path and docBase properties you use attributes in the XML element:

    <context docBase="myApp" path="/myApp"/>

    Tomcat使用开源工具Digester来讲XML元素转换为Java对象。Digester将会在本章第一节介绍。

    接下来的一节介绍了如何配置一个web应用程序,一个上下文被用来表示一个web应用程序,一次配置初始化该上下文实例即可达到配置该web应用的目的。配置web应用所使用的web应用所使用的XML文件时web.xml,该文件必须存放在该应用程序的WEB-INF目录下面。

    详情请见:http://docs.google.com/View?id=ddxgftrb_26d6844zfr

  • 相关阅读:
    [Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
    Flink -- Barrier
    深入理解Flink ---- End-to-End Exactly-Once语义
    深入理解Flink ---- 系统内部消息传递的exactly once语义
    flink watermark介绍
    flink中对于window和watermark的一些理解
    Apache Flink:详细入门
    flink学习之十一-window&EventTime实例
    Lambda语法
    String s = “1a2a3a4a” 解码为 “1234”
  • 原文地址:https://www.cnblogs.com/macula7/p/1960709.html
Copyright © 2020-2023  润新知