Tomcat Server 原理
2016-06-03 00:05
459 查看
构成:
1.server代表整个catalina serverlet容器
2.service:由一个或多个connector以及一个共享的engine处理引擎组成
3.connector 在指定端口上监听客户请求,并将请求交给Engine处理(coyote http 和coyoteJK2)
4.Engine 必须配置在Service组件下,Engine可以配置多个虚拟主机。
5.host 代表一个虚拟主机,每个虚拟主机下配置一个或多个web应用,每个web应用对应一个context,有一个context path
6.context 在创建时根据$catalina_home/conf/web.xml 和 $webapp/web-inf/web.xml 载入servlet
载入器:
如何放置class和资源文件
A.对应于某个web应用:class置于web应用下的web-inf/classes 下 jar置于web-inf/lib下
B.对应于多个web应用:class置于$catalina_home/shared/class目录.
TomCat类的加载(ClassLoader):
Bootstrap($JAVA_HOME/jre/lib/ext/*.jar)
System($CLASSPATH/*.class和指定的jar)
Common($CATALINA_HOME/common 下的classes,lib,endores三个子目录)
Catalina ($CATALINA_HOME/server/下的classes和lib目录仅对Tomcat可见)
& Shared($CATALINA_HOME/shared/下的classes和lib目录以及$CATALINA_HOME/lib目录)仅对Web应用程序可见,对Tomcat不可见
WebApp($WEBAPP/Web-INF/*仅对该WEB应用可见classes/*.class lib/*.jar)
对于web应用,加载类和资源的顺序为:
/Web-INF/classes -->/Web-INF/lib/*.jar -->Bootstrap -->System --> $CATALINA_HOME/common/classes
-->$CATALINA_HOME/common/endores/*.jar --> $CATALINA_HOME/common/lib/*.jar --> $CATALINA_HOME/shared/classes
-->$CATALINA_HOME/shared/lib/*.jar
1.server代表整个catalina serverlet容器
2.service:由一个或多个connector以及一个共享的engine处理引擎组成
3.connector 在指定端口上监听客户请求,并将请求交给Engine处理(coyote http 和coyoteJK2)
4.Engine 必须配置在Service组件下,Engine可以配置多个虚拟主机。
5.host 代表一个虚拟主机,每个虚拟主机下配置一个或多个web应用,每个web应用对应一个context,有一个context path
6.context 在创建时根据$catalina_home/conf/web.xml 和 $webapp/web-inf/web.xml 载入servlet
载入器:
如何放置class和资源文件
A.对应于某个web应用:class置于web应用下的web-inf/classes 下 jar置于web-inf/lib下
B.对应于多个web应用:class置于$catalina_home/shared/class目录.
TomCat类的加载(ClassLoader):
Bootstrap($JAVA_HOME/jre/lib/ext/*.jar)
System($CLASSPATH/*.class和指定的jar)
Common($CATALINA_HOME/common 下的classes,lib,endores三个子目录)
Catalina ($CATALINA_HOME/server/下的classes和lib目录仅对Tomcat可见)
& Shared($CATALINA_HOME/shared/下的classes和lib目录以及$CATALINA_HOME/lib目录)仅对Web应用程序可见,对Tomcat不可见
WebApp($WEBAPP/Web-INF/*仅对该WEB应用可见classes/*.class lib/*.jar)
对于web应用,加载类和资源的顺序为:
/Web-INF/classes -->/Web-INF/lib/*.jar -->Bootstrap -->System --> $CATALINA_HOME/common/classes
-->$CATALINA_HOME/common/endores/*.jar --> $CATALINA_HOME/common/lib/*.jar --> $CATALINA_HOME/shared/classes
-->$CATALINA_HOME/shared/lib/*.jar
相关文章推荐
- myeclipse2014版部署tomcat项目名称修改
- 本地web项目tomcat启动,已域名访问
- tomcat8支持apr
- Centos6.5 Nginx +Tomcat 集群搭建
- 2个问题,解决tomcat启动一闪而过和运行tomcat/bin目录下的startup.bat时报错(the CATALINA_HOME environment variable is not defined correctly)
- Linux下的Tomcat+Maven+Jenkins+Github环境的搭建
- Tomcat内存设置详解
- 阿里云ECS/Ubuntu下JDK、Tomcat、MySQL安装记录
- 部署web工程,发布到tomcate报错
- Centos6.5 安装配置Tomcat7.0.9
- 搭建linux环境的tomcat服务器
- 使用tomcat,不能连接localhost/8080的解决办法
- Tomcat自带DBCP数据库连接池配置
- Apache与Tomcat联系及区别
- 服务器证书安装配置指南(Tomcat 6)
- Myeclipse 10 +tomcat+Axis2 安装步骤 web Services
- Myeclipse 10 +tomcat+Axis2 安装步骤 web Services
- Tomcat启动报Error listenerStart
- 如何在interlliJ IDEA上配置tomcat
- IntelliJ IDEA 14.x 与 Tomcat 集成,并运行Web项目