读书人

tomcat开发中的一些运用技巧

发布时间: 2012-06-30 17:20:12 作者: rapoo

tomcat开发中的一些使用技巧

tomcat的架构中有这样一个接口 org.apache.catalina.ContainerServlet 只要在配置的servlet上实现这个接口,tomcat的web容器在启动初始化servlet的时候就会调用 public void setWrapper(Wrapper wrapper) 接口将 org.apache.catalina.Wrapper 注入到Servlet类中。

tomcat中已经有org.apache.catalina.manager.ManagerServlet 这个类实现了这个接口

public class ManagerServlet    extends HttpServlet implements ContainerServlet {//。。。。

?通过Wrapper对象可以取得到web容器中其他几个非常重要的容器级别的对象,如下:

 public void setWrapper(Wrapper wrapper) {        this.wrapper = wrapper;        if (wrapper == null) {            context = null;            host = null;            oname = null;        } else {            context = (Context) wrapper.getParent();            host = (Host) context.getParent();            Engine engine = (Engine) host.getParent();            try {                oname = new ObjectName(engine.getName()                         + ":type=Deployer,host=" + host.getName());            } catch (Exception e) {                // ?            }        }        // Retrieve the MBean server        mBeanServer = Registry.getRegistry(null, null).getMBeanServer();            }
    org.apache.catalina.Contextorg.apache.catalina.Wrapperorg.apache.catalina.Hostorg.apache.catalina.Engine

这几个对象都能得到,这几个层次关系是 engine包含host,host包含context,context包含wrapper,每一个wrapper对应了一个单独的servlet。

读书人网 >软件架构设计

热点推荐