How Tomcat works 之第十三章之 StandardHostMapper
来源:互联网 发布:自动按键的软件 编辑:程序博客网 时间:2024/04/30 07:03
在Tomcat 4中ContainerBase类,StandardHost类的父类,调用start方法中addDefaultMapper方法创建一个默认的映射。默认映射的类型由mapperClass属性决定。下面是ContainerBase类中addDefaultMapper方法的实现。
StandardHost类定义了mapperClass变量:
StandardHost类的start方法调用supper.start()确保了默认mapper的创建。
注意:Tomcat 4中的StandardContext类使用一种稍微不同的方式创建默认的mapper。它的start方法不调用super.start()方法。相反,StandardContext类的start方法调用addDefaultMapper方法,并传递了mapperClass变量。
在StandardHostMapper类中最重要的方法是map方法。
注意这个map方法仅仅调用Host的map方法。
StandHostValue
此类为StandardHost的基本值。当请求来的时候调用其invoke方法。代码内容如下:
Tomcat 4 中的invoke方法通过调用StandardHost的map方法获取合适的Context。
注意 获取一个Context饶了很到一圈。上述的map方法获取两个参数。这是定义在ContainerBase类中的map方法。在ContainerBase类的map方法之后在其子对象中找到了合适的mapper。(这里是StandardHost实例)并调用其map方法。
Invoke方法之后获取与这个请求对象关联的会话对象并调用其access方法。Access方法更新了最后一次访问时间。这里是StandardSession类的acess方法。
最后,invoke方法调用了Context的invoke方法,让Context处理这个请求。
Why You Cannot Live Without A Host
如果每个Context使用ContextConfig来配置,一个Tomcat 部署(Tomcat 4和Tomcat 5)必须有一个主机。原因是这样的。
ContextConfig需要应用的web.xml文件的定位。它尝试着在它的applicationConfig方法中打开这个配置文件。下面是这个方法的代码大致:
Constants.ApplicationWebXml的值是/WEB-INF/web.xml,web.xml文件的相对路径,并且servletContext是一个ApplicationContext的对象(实现了ServletContext)
下面是ApplicationContext的getResource方法:
最后一行清晰的显示了一个上下文必须得有一个父类(一个主机),如果其将被ContextConfig类配置。你将学会web.xml文件如何被解析的。除非你写自己的ContextConfig类这样你就不用一个主机了。
- How Tomcat works 之第十三章之 StandardHostMapper
- How Tomcat works之第十一章之The ServletConfig 对象
- How Tomcat works之第十一章之Parent and Child
- How Tomcat works 之第十一章之StandardWrapperValue
- How tomcat works 之第十一章之 FilterDef
- How Tomcat works之第十一章之ApplicationFilterChain
- How Tomcat Works之第十二章之invoke方法
- How Tomcat works 之第十二章之重新载入支持
- How Tomcat works之第十一章之ApplicationFilterChain
- How Tomcat works之第六章:Lifecycle生命周期
- How Tomcat works之第九章 会话管理
- How Tomcat works 之第九章 BootStrap类
- How Tomcat works 之第十章 Security 安全
- How Tomcat works之第十一章 Allocate The Servlet
- How Tomcat works 之The Application 应用
- How Tomcat works 之 StandardWrapper 标准包装
- How Tomcat works之StandardContext 标准上下文
- How Tomcat works之 Host and Engine
- △【OJ】---W---对象转换
- 获取Android正在运行的任务和服务
- 三:Java之Applet
- 通过top命令抓取cpu高消耗的sql
- cocos2d-x开发一般使用的效率工具
- How Tomcat works 之第十三章之 StandardHostMapper
- /dev/mem
- POJ 2528 Mayor's posters 离散化线段树
- 【OJ】---X---输入输出,公用继承
- [Unity3D]Unity3D游戏开发之当仙剑奇侠传遇上Mecanim动画系统
- 6月27日晚Android笔记
- [项目笔记]媒体播放器
- 1034. Head of a Gang
- 更换内核的问题