Tomcat核心组件:
Catalina:servlet container
Coyote:http connection
Jasper:JSP Engine
Tomcat组成部分
Tomcat Instance: 运行中的tomcat进程实例(java进程)
Server:即一个tomcat实例
Engine:Tomcat的核心组件,用于运行jsp或servlet代码
Connector:接收并解析用户请求,将请求映射为Engine中运行的代码,之后,将运行结果构建成响应报文,响应用户。
组成关系
一个连接器只能属于一个引擎,一个引擎可以有多个连接器
Service用于将连接器关联至engine
一个service中只能有一个引擎
一个server可以有多个service ,大多数情况下就一个service
host为虚拟主机,一个host可以包含一个webapp
Context:类似于httpd中的alias
PS:每个组件都有类来实现,有些组件的实现还不止一种
顶级类组件:server
服务类组件:service
容器类组件:即可以部署webapp的组件,engine,host,context
连接器组件:connector
被嵌套类组件:valve,logger,realm
image.png
Tomcat的运行模式
standalone:通过内置的
standalone
代理模式(本地主机,专门的反向服务器)
image.png
生产建议模式 基于url,cookie等进行绑定,可以做成session集群
image.png
tomcat配置文件
tomcat的配置文件:
server.xml:主配置文件;
context.xml:每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp程序目录下的WEB-INF目录中,用于定义会话管理顺、JDBC等 ;conf/context.xml是为各webapp提供默认配置;
web.xml:每个webapp只有在“部署”之后才能够被访问;此文件则用于为各webapps定义默认的部署操作方式;
tomcat-users.xml:用户认证的账号和密码配置文件;
catalina.policy:当使用-security选项来启动tomcat实例时会读取此配置文件来实现基于安全策略的运行方式;
catalina.properties:Java属性的定义文件,用于设定类加载器路径等 ,以及一些与JVM性能相关的调优参数;
logging.properties:日志系统相关的配置;
Java Webapp的组织结构:
有特定的组织形式、层次型的目录结构;主要包含了servlet代码文件、JSP页面文件、类文件、部署描述符文件等 ;
/:webapps的根目录
index.jsp:jsp的主页面文件
WEB-INF/:当前webapp的私有资源目录,通常存放当前webapp自用的web.xml;
META-INF/:当前webapp的私有资源目录,通常存储当前webapp自用的context.xml;
classes/: 当前webapp的私有类;
lib/:当前webapp的私有类,被打包成jar格式;
webapp归档格式:
.war:webapp
.jar:EJB的类;
.rar:资源适配器;
.ear:企业级应用程序;
网友评论