- Service组件:Tomcat服务器的实例。一个JVM中生成一个,可以在一台服务器上配置不同的端口,从而启动多个Tomcat实例。
- Connector组件:负责连接客户端与应用程序。接受来自客户端的请求以及向客户返回响应的结果。
- Engine组件:引擎组件负责接受和正理来自它所属的Service中的所有的Connection的请求。每个Service中只能包含一个Engine组件。
- Host组件:一个虚拟主机,允许在一台物理主机上布置多个web应用。
- Context组件:一个web应用。一个虚拟主机上能够运行多个Context,它们通过各自的Context path 进行区分。
其中蓝色字体表示该组件为一个容器组件。容器组件可以包含其它组件。下面介绍一些只能嵌套在容器中的组件。
- Global Resources全局资源组件:只能嵌套在Server组件中,用于配置Server中其他组件所用到的全局jndi资源。
- Loader 加载组件:只能嵌套在Context组件中,用于指定一个web应用的类加载器,并将该应用程序的类和资源加载到内存中。
- Logger 日志组件:能够借助log4j来实现日志。
- Manager 管理器组件:只能嵌套在Context组件中。管理器组件是会话管理器,负责会话的创建和维护。
- Realm 域组件:是一个包含用户名、密码和用户角色的数据库。
- Resources 资源组件:只能嵌套在Context组件中,它代表的是web应用程序中的静态资源,以及它们被允许存放的格式。
- Valve 阀组件:用请求在到达目的地前,截取该请求,并处理它。有点类似于Servlet规范中定义的过滤器。它是Tomcat专有的、目前不能用于其他的jsp/servlet容器。
配置Tomcat
Tomcat 6服务器启动后,会读取多个XML配置文件。这些配置文件位于CATALINA_HOME/conf目录下,包含以下配置文件:
catalina.policy:配置安全管理策略。
catalina.properties:配置Tomcat的类加载器。
context.xml:配置上下文,能够所有的web应用使用。
server.xml:Tomcat的基本配置,包括服务、连接器、引擎、域、阀、主机等。
logging.properties:配置日志,指定了日志的输出ConsoleHander和FileHandler。
Tomcat-user.xml:包含用户认证和角色映射配置。Tomcat的admin和manager应用都默认使用该文件。
web.xml:默认的web应用部署描述符文件。用于Tomcat 6中自动部署web应用,如果web应用有自己的部署描述符,则内容覆盖默认部署的设置。
Tomcat6 在CATALINA_BASE环境变量指定的目录下找conf目录并加载配置,如果没有指定该环境变量,则在CATALINA_HOME指定的目录下找conf目录并加载配置,可以在同一台机器上配置多个并发的Tomcat只需要指定不同的配置和端口即可。
配置server.xml
1、 配置<server>
<server>的属性
classname:指定实现org.apache.catalina.Server接口的类。no
port:指定Tomcat服务器监听shutdown命令的端口。yes
shutdown:指定终止tomcat服务器运行时,发给tomcat服务器的shutdown监听端口的字符串。yes
<server>的子元素
<GlobalNamingResources>:服务器全局jndi资源。1个
<Service>:服务组件。1个或多个
2、配置全局命名资源<GlobalNamingResources>
<GlobalNamingResources>的子元素
<Environment>:全局变量。0或多个
<Resource>:全局jndi资源。0或多个
- <Environment>的属性
description:环境入口描述。no
name:环境入口名字,相对于java:comp/env上下文。yes
override:默认为true,如果用户不想web应用部署描述符覆盖值的话,设置为false。no
type:入口类型。必须是在servlet规范中表明的合法的类型。yes
value:入口的值。yes
- <Resource>的属性
auth:指定是web应用代码本身登录到对应的资源管理器,还是由容器代表web应用登录到资源管理器。该属性的值必须是Application或者Container。如果在web应用部署描述符中使用<resource-ref>,这个属性是必需的。如果使用<resource-env-ref>,这个属性是可选的。
desprition:资源的描述。no
name:资源的名字。yes
scope:指定通过这个resource manager得到的连接是否共享。该属性的值必须是Shareable或者Unshareable。默认情况下,假定连接是共享的。no
type:当web应用查找该资源的时候,返回java类名的全称。yes
Tomcat 6不再使用Tomcat 5和早期版本使用的<ResourceParams>元素。代替的是使用<Resource>元素属性提供信息。
3、配置服务<Service>
服务组件是由多个连接器组件和一个引擎组件组成。在日志和错误信息中将会出现服务名称,用于清晰的表明该组件。
<Service>元素属性
classname:指定service类使用的java类名,默认是org.apache.catalina.core.StandardService。no
name:定义service名称,用于登录和管理。yes
<Service>元素的子元素
Connector:来自用户或其他web服务器的请求。1个或者多个
Engine:负责请求的处理。1个
4、配置连接器<Connector>
请求进入Tomcat的两种情况:
- 来自前端的web服务器。可能是Apache,IIS或者其他web服务器。
- 来自web浏览器。
在一个引擎中可以配置多个连接器,比如一个服务器提供http服务和https服务给用户。这时需要在引擎中配置http连接器和https连接器。
在server.xml中预定义了4个最普通的连接器:
- http连接器
- SSL连接器
- AJP1.3连接器,用于连接其他web服务器。
- 代理连接器
<Connector>元素的共同属性
address:如果服务器上有两个以上IP地址,该属性可以设定端口监听的IP地址。默认情况下,端口会监听服务器上所有IP地址。no
alloTrace:布尔值,设置为true,trace http的方法可用。默认为false。no
enableLookups:如果设为true,表示支持域名解析,可以把IP地址解析为主机名。false表示跳过域名解析,直接把IP地址作为字符串返回。默认为true。no
mastPostSize:post请求字节的最大大小。默认为2097152。no
redirectPort:指定转发端口,如果当前端口只支持non-ssl请求,在需要安全通信的情况下,自动将把客户请求转发到基于SSL的redirectPort端口。no
scheme:连接器使用的协议名称。例如可以为SSL连接器,设置属性为https。默认为http。no
secure:如果是SSL连接的话,设置为true,当调用request.getScheme()时,返回该值。默认值为false。no
URIEncoding:URI字节的解码字符编码,默认为iso-8859-1。no
useBodyEncodingForURI:表明如果contentType指定的编码用于URI查询参数,则不用URIEncoding。与Tomcat4.1.x兼容。默认为false。no
HTTP<Connector>元素属性
acceptCount:设定在监听端口队列中的最大客户请求数。默认值为10,如果队列已满,客户请求将被拒绝。no
bufferSize:设定有端口创建的输入流的缓存大小,默认值为2048字节。no
compressableMimeTypes:设定http压缩mime类型,默认值为text/html,text/xml,text/plain。no
compression:设定为节省服务器带宽,使用http/1.1 GZIP压缩,可选值有off,on,fore,integer。默认值为off。
转自互联网
相关推荐
Apache Tomcat 是一款非常著名的开源 Servlet/JSP 容器。 Apache Tomcat 是一款非常著名的开源 Servlet/...让我们先来浏览一下 Tomcat 体系结构中的六个主要概念: Server Service Engine Host Connector Context
Tomcat的体系架构由多个组件构成,这些组件可以在Tomcat的配置文件`conf/server.xml`中进行设置。核心组件包括了`Server`, `Service`, `Connector`, `Engine`, `Host`, 和 `Context`。各个组件的作用如下: 1. `...
J2EE 体系架构介绍 J2EE(Java 2 Platform, Enterprise Edition)是一种用于开发企业级应用程序的Java平台。J2EE 体系架构是指基于 J2EE 平台所构建的应用程序架构。 HandsOnJ2EE 体系架构介绍 J2EE 体系架构是...
在《J2EE应用程序体系架构》实验指导书中,我们主要探讨的是如何构建和理解基于Java Enterprise Edition (J2EE) 的应用程序。J2EE是一种用于开发多层企业级应用的平台,它提供了多种服务和组件,如Servlet、Java...
本压缩包包含了不同版本的Tomcat,从Tomcat 6到Tomcat 8,涵盖了多种体系结构,包括32位和64位,旨在满足不同环境和需求。 1. **Tomcat 6**: 发布于2005年,是基于Servlet 2.5和JSP 2.1规范的。此版本引入了更好的...
- **容器体系**:Tomcat的容器体系从内到外分别是Engine、Host、Context和Wrapper。Engine是最高级别的容器,可以包含多个Host;Host代表虚拟主机,每个Host可以有多个Context,每个Context对应一个Web应用;Wrapper...
4. JMX在tomcat中的应用:Java Management Extensions (JMX) 是一种为应用程序、设备、系统等植入管理功能的体系结构。Tomcat使用JMX来暴露其内部状态和管理信息,允许管理员通过各种JMX客户端来监控和配置运行中的...
#### 三、Tomcat的体系结构 Tomcat的架构设计非常精巧,主要由以下几个层次和组件构成: 1. **顶级组件** - **服务器(Server)**: 每个Tomcat实例就是一个服务器组件,一个JVM中只能运行一个Tomcat实例。一个物理...
在本案例中,我们讨论的是其版本10.0.12,它被打包成一个`.tar.gz`文件,这种格式是Linux系统中常见的归档和压缩方式,尤其适合在x86_64(或称AMD64)架构的Linux环境下使用。 1. **Apache Tomcat介绍**:Apache ...
Eureka是Spring Cloud生态体系中的一个关键组件,主要用于实现微服务之间的服务注册与发现,这对于构建分布式系统至关重要。集成Eureka后,Tomcat可以作为一个服务注册中心,使得各个微服务实例能够自动注册并发现...
1. **Eclipse插件体系**:Eclipse采用插件化架构,允许用户通过安装不同的插件来扩展其功能。Tomcat插件就是这样的一个扩展,提供了对Tomcat服务器的集成支持。 2. **离线安装**:离线安装插件通常是因为网络问题...
- **Tomcat 的架构**:详细讲解了Tomcat的体系结构,包括它的核心组件和服务如何协作以支持Web应用程序的运行。 - **Servlet 2.5 规范的实现**:深入探讨了Servlet 2.5规范的关键特性和Tomcat是如何实现这些特性的,...
这个文件名揭示了Tomcat的版本和体系结构信息。"tomcat-6.0.43"指的是Tomcat的6.0版本,第43次小更新。Tomcat 6.0是在2007年发布的,支持Servlet 2.5和JSP 2.1规范。而"x86"则表明这是为32位(x86架构)处理器设计的...
这个版本包括了对两种不同处理器架构的支持,即64位和32位,这意味着它可以在运行不同体系结构的计算机上运行。 描述中的“官方tomcat6.0.45”表明这是Apache软件基金会发布的官方版本,具有权威性和可靠性。提到...
内容概要:本文详尽地介绍了Tomcat这一开源、轻量级Java应用服务器的历史发展、核心功能以及体系结构。具体讲解了它的基本功能如作为Servlet容器、支持JSP、简便的Web应用部署方式等工作细节,同时还阐述了其工作...
2. **Container体系结构**:Tomcat采用了一种基于容器的架构,如Host、Context、Wrapper等,每个层次都负责处理不同级别的Web组件。 3. **Connector和Protocol Handlers**:如HTTP/1.1和AJP,负责与客户端进行通信,...
在Web应用体系架构中,还涉及到其他关键组件和技术,例如应用服务器(如Tomcat、Jetty)用于托管和管理服务,以及数据库管理系统(如MySQL、Oracle)用于存储和检索数据。此外,现代Web应用通常会利用JavaScript和...
确保下载适合操作系统和体系架构的版本,并设置好`JAVA_HOME`环境变量。 2. **Apache HTTP Server**: Apache是一个开源的Web服务器,用于提供静态内容和作为反向代理,转发请求到Tomcat服务器处理动态内容。安装...
Struts2和Tomcat是Java Web开发中两个关键的组件,它们共同构成了Web应用程序的基础架构。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于构建企业级的Java Web应用,而Tomcat则是一个...
你需要访问官方网站的Tomcat下载页面,选择适合你的操作系统和体系架构的版本。在这种情况下,你需要下载的是"windows-i64"的版本,因为它适用于64位的Windows系统。 下载完成后,你需要解压"apache-tomcat-6.0.37-...