tomcat的组件结构2007-05-23 18:11Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中。 Tomcat的各个组件是在<TOMCAT_HOME>\conf\server.xml文件中配置的,Tomcat服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解Tomcat的各个组件是如何组织的。server.xml文件的基本组成结构如下。 <Server> 顶层类元素:一个配置文件中只能有一个<Server>元素,可包含多个Service。 <Service> 顶层类元素:本身不是容器,可包含一个Engine,多个Connector。 <Connector/> 连接器类元素:代表通信接口。 <Engine> 容器类元素:为特定的Service组件处理所有客户请求,可包含多个Host。 <Host> 容器类元素:为特定的虚拟主机处理所有客户请求,可包含多个Context。 <Context> 容器类元素:为特定的Web应用处理所有客户请求。 </Context> </Host> </Engine> </Service> </Server> 以上的类XML的代码就是server.xml文件的基本组成结构,一个元素代表一个组件。下面分别介绍这些组件。 .1 Server组件 Server组件对应<Server>元素,它是配置文件的最顶层元素,代表一个服务器。一个配置文件中只能有一个<Server>元素。 .2 Service组件 Service组件是一些Connector组件的集合,它本身不是一个容器,所以在这里不能定义日志等组件。一个Service组件中只能有一个Engine组件,可以包含多个Connector组件。 .3 Connector组件 Connector组件表示一个接口,通过这个接口接收客户的请求,然户发送给其他的容器组件,最后再把服务器的响应结果传递给客户。 .4容器类元素 上面介绍的3个组件本身并不能处理客户请求,也不能生成响应。在Tomcat中只有3个组件是可以处理客户请求并生成响应的,这3个组件分别是Engine、Host和Context组件。这3个组件分别代表了不同的服务范围,通过嵌套关系可以知道3个组件的范围有如下的关系:Engine>Host>Context。 Engine组件下可以包含多个Host组件,它为特定的Service组件处理所有客户请求。 一个Host组件代表一个虚拟主机,一个虚拟主机中可以包含多个Web应用(Context组件)。 Context组件代表一个Web应用。 Tomcat的各个组件关系,可以用下图描述。 一个Java Web application在Tomcat中与一个Context元素对应,也就是说一个Context元素定义了一个Java Web application,它们是一一对应的关系。 在一个Java Web应用中可以包含如下内容: Servlet JSP页面 Java类 静态资源(HTML文档、图片等) 描述Web应用的描述文件 客户每次提出请求时指定要访问的资源,如果客户没有指定具体资源,Tomcat使用默认的资源响应客户,显示文件夹中的资源列表或者提示错误。 Tomcat6.0安装、运行 2007-05-23 23:28 准备java运行环境 Tomcat6运行需要Java环境,需要先下载并安装J2SE5.0以上的版本。 下载地址:http://java.sun.com/javase/downloads/index.jsp 注意:tomcat6.0已经不再需要jdk,而只要jre就可以了,因为它采用了自带的Eclipse JDT来编译jsp,而不是jdk。 如果JDK是zip解压,而不是install安装的,请设置系统环境JAVA_HOME: 在桌面上右键点击【我的电脑】,选择【属性】命令,在出现的对话框中选择【高级】选项卡,然后单击【环境变量】按钮,添加一个环境变量:JAVA_HOME,它的值为JDK所在根目录(比如:c:\jdk,而不是c:\jdk\bin) tomcat下载安装 tomcat下载地址:http://tomcat.apache.org/ 右侧有从3.3到6.x各个版本的下载链接。 windows下tomcat的安装很简单,可以采用exe安装包的方式进行安装。基本上一路确定就可以了,安装用到了java环境,从jdk的安装注册表或者JAVA_HOME这个系统变量里面获得jdk所在位置(这就是为什么非安装的jdk需要配置JAVA_HOME的原因,当然在后面tomcat运行时也是需要的)。 安装后的目录如下: c:\tomcat6.0 |---bin |---conf |---lib |---logs |---temp |---webapps |---work 相比之前的版本,在bin和lib这两个目录改动比较大,bin目录不再有一堆的bat文件,精简为4个文件。而jar文件统一放到新增的lib目录下,先前版本中下面的3个目录被删除合并(参考tomcat5.0.28的结构): common(含lib,classes,endorsed三个目录) share(含lib和classes两个目录) server(含lib,classes,webapps三个目录) 此外,examples增加了 启动运行tomcat 安装的最后一个步骤,可以选择立即启动; 默认情况下,是通过系统的服务进行启动的,可以把启动方式设置为“自动” 命令行启动: tomcat/bin/tomcat6 或者tomcat/bin/tomcat6 //TS//tomcat6(注意大写!下同) 二者是等价的。 其他的参数还有: tomcat/bin/tomcat6 //RS//tomcat6 ---启动tomcat6服务 tomcat/bin/tomcat6 //US//tomcat6 ---更新tomcat6服务参数 tomcat/bin/tomcat6 //IS//tomcat6 ---安装tomcat6服务 tomcat/bin/tomcat6 //DS//tomcat6 ---删除tomcat6服务 安装后的bin目录共有一下几个文件: bootstrap.jar tomcat-juli.jar tomcat6.exe tomcat6w.exe 其中tomcat6w.exe是监控tomcat运行的,可以直接运行,或者缩小到屏幕右下角成为一个小图标。 直接运行tomcat6w.exe或者“tomcat6w //ES//” 都可以进入监控配置窗口; 或者运行“tomcat6w //MS//”把它缩小到右下角。 web访问测试 启动后,可以通过浏览器进行访问,测试运行是否正常。 用IE或者Firefox等浏览器,输入地址: http://localhost:8080/ --如果安装时修改了端口,请把8080用修改后的值替换。 如果能够正常浏览到tomcat欢迎信息,就是正确了,否则就要检查安装是否正确、防火墙的设置等。 经常遇到的一个问题是端口冲突,最常见的就是80端口被占用,导致服务无法正常启动。如果通过tomcat6 //TS//tomcat6来启动,马上就能够发现提示信息。修改一下tomcat6\conf\server.xml中的端口就能够解决。 通常使用80端口的有: 1. IIS服务器,因为在windows服务器上,很多都安装了IIS,而IIS默认的端口就是80. 2. skype即时聊天工具,skype的可以穿透防火墙的本领,也是通过占用80端口实现的。 查看端口占用的命令: 进入windows命令行,输入: netstat -an 这个命令返回有4列:protocol协议、local address本机地址、foreign address来访者地址、status状态 浏览本机地址一列,可以看到当前主机对外服务的IP地址、端口都有哪些。 如果一台机器有192.168.1.100和192.168.1.101两个地址,那么: 0.0.0.0:80表示这台机器上所有80端口都被使用 127.0.0.1:80表示127.0.0.1的80被使用,但.100和.101IP地址的80还未使用。 192.168.1.100:80表示.100IP地址的80端口被使用 192.168.1.101:80表示.101IP地址的80端口被使用 想知道哪个程序使用了某个端口,可以通过天网防火墙或者是卡巴斯基获得。
您还没有登录,请您登录后再发表评论
通过对Tomcat内部机制的掌握,读者不仅能对Spring框架这类应用服务器有一个更宏观的认识,还能学会如何配置和自定义Tomcat服务器。 通过阅读《How Tomcat Works》中文版,读者将能够获得对Tomcat架构的全面理解,...
《轻量级服务器架构全面解析:Tomcat与Web服务器集成及性能优化》 Tomcat,作为Apache软件基金会的开源项目,是Java Servlet和Java...通过阅读提供的PDF文档,开发者可以进一步深化对Tomcat的认识,提升自身技能。
这部分内容有助于初学者快速建立对Tomcat的整体认识。 接下来,书中会详细阐述Tomcat 8的安装与配置过程。这包括了Windows、Linux和Mac OS等不同操作系统下的安装方法,以及配置文件如server.xml、web.xml的作用和...
解决Tomcat与EL冲突 启动Tomcat时报错:Caused by: java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class 说明:原因是juel.jar, juel-engine.jar, juel-impl.jar包...
通过对Tomcat 6.0源代码的学习,开发者不仅可以提升对Servlet和JSP规范的理解,还能掌握服务器内部工作原理,为日常的Web开发带来更深入的认识,提升问题排查和性能优化的能力。同时,这也将有助于向更高级的Tomcat...
【标题】"how tomcat works和jetty-src和tomcat7-src" ...综上所述,对Tomcat和Jetty源代码的探索,不仅能增进对Web服务器工作原理的认识,还能提升开发者在Java Web开发中的专业技能,从而更好地应对复杂的项目需求。
在了解Apache Tomcat 8.0.48之前,我们先来认识一下Tomcat的基本概念。Tomcat作为Servlet容器,它的主要任务是处理HTTP请求,将这些请求分发到相应的Servlet进行处理,并将Servlet的响应返回给客户端。Tomcat与Java ...
### Solr在Tomcat下的部署知识点详解 #### 一、准备工作 在开始部署Solr之前,需要准备以下软件包: 1. **Tomcat版本**:本案例中...通过本文的详细介绍,相信读者已经对如何在Tomcat下部署Solr有了较为清晰的认识。
不过,也需要清楚地认识到热部署并非万能,对于某些特殊情况还是需要采取传统的重启方式。此外,还应该注意在生产环境中禁用热部署功能,以避免潜在的安全风险和性能问题。总之,合理利用Tomcat的热部署功能,可以使...
在了解这个版本之前,我们先来认识一下Tomcat的核心概念: 1. **Java Servlet**:Servlet是Java编程语言中用于扩展服务器功能的接口。它们主要用来处理HTTP请求,并返回响应。Tomcat作为Servlet容器,负责加载、...
Apache Tomcat 7.0.29源码分析 Apache Tomcat是一款开源的Java Servlet容器,主要用于实现Java Servlet和JavaServer Pages(JSP)技术。...这有助于提升Java Web开发的专业技能,并对服务器端架构有更深刻的认识。
《深入剖析Tomcat 4.0:从MVN版本构建解析》 Tomcat 4.0作为Apache Tomcat服务器的一...这个过程将使开发者更加熟练地运用Maven,同时对Tomcat的工作原理有更深的认识,为未来处理复杂的Java Web问题打下坚实的基础。
通过手写简易Tomcat,我们可以深入理解Web服务器的运作机制,对Tomcat的内部工作原理有更直观的认识。这不仅有助于提升Java Web开发能力,也对优化和调试现有Web应用有所帮助。在实际开发中,尽管我们可能不会从零...
`tomcat`则是一款轻量级的Java应用服务器,常用于部署和运行Web应用程序。`eclipse`是一款强大的集成开发环境(IDE),它支持多种插件来扩展其功能,包括对svn和tomcat的支持。现在我们来详细讨论这两个插件以及如何...
通过深入学习Tomcat 7.0的源码,开发者不仅可以理解Web服务器的工作原理,还能掌握如何优化服务器性能,提升应用的运行效率,同时对Java EE规范有更深入的认识。这将对开发和运维工作带来极大的帮助。
Apache Tomcat 7.0.70 是一个广泛使用的开源软件,它是一个Java Servlet容器,专为部署Java Web应用程序而设计。...通过深入研究这个源码包,你可以获得对Java Web技术的深刻认识,这将对你的职业生涯大有裨益。
书中首先会介绍Tomcat的基本架构和工作原理,包括服务器的启动、停止、配置以及管理等方面,让读者对Tomcat有一个全面的认识。 Java Web技术主要包括Servlet、JSP和JavaServer Faces(JSF)等。Servlet是Java Web...
在进行实际部署前,需要对整个集群的架构有一个清晰的认识。该集群主要包括以下几个组件: 1. **Nginx**:作为反向代理服务器,用于接收客户端请求,并根据预设规则将请求转发给后端的Tomcat服务器。 2. **...
相关推荐
通过对Tomcat内部机制的掌握,读者不仅能对Spring框架这类应用服务器有一个更宏观的认识,还能学会如何配置和自定义Tomcat服务器。 通过阅读《How Tomcat Works》中文版,读者将能够获得对Tomcat架构的全面理解,...
《轻量级服务器架构全面解析:Tomcat与Web服务器集成及性能优化》 Tomcat,作为Apache软件基金会的开源项目,是Java Servlet和Java...通过阅读提供的PDF文档,开发者可以进一步深化对Tomcat的认识,提升自身技能。
这部分内容有助于初学者快速建立对Tomcat的整体认识。 接下来,书中会详细阐述Tomcat 8的安装与配置过程。这包括了Windows、Linux和Mac OS等不同操作系统下的安装方法,以及配置文件如server.xml、web.xml的作用和...
解决Tomcat与EL冲突 启动Tomcat时报错:Caused by: java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class 说明:原因是juel.jar, juel-engine.jar, juel-impl.jar包...
通过对Tomcat 6.0源代码的学习,开发者不仅可以提升对Servlet和JSP规范的理解,还能掌握服务器内部工作原理,为日常的Web开发带来更深入的认识,提升问题排查和性能优化的能力。同时,这也将有助于向更高级的Tomcat...
【标题】"how tomcat works和jetty-src和tomcat7-src" ...综上所述,对Tomcat和Jetty源代码的探索,不仅能增进对Web服务器工作原理的认识,还能提升开发者在Java Web开发中的专业技能,从而更好地应对复杂的项目需求。
在了解Apache Tomcat 8.0.48之前,我们先来认识一下Tomcat的基本概念。Tomcat作为Servlet容器,它的主要任务是处理HTTP请求,将这些请求分发到相应的Servlet进行处理,并将Servlet的响应返回给客户端。Tomcat与Java ...
### Solr在Tomcat下的部署知识点详解 #### 一、准备工作 在开始部署Solr之前,需要准备以下软件包: 1. **Tomcat版本**:本案例中...通过本文的详细介绍,相信读者已经对如何在Tomcat下部署Solr有了较为清晰的认识。
不过,也需要清楚地认识到热部署并非万能,对于某些特殊情况还是需要采取传统的重启方式。此外,还应该注意在生产环境中禁用热部署功能,以避免潜在的安全风险和性能问题。总之,合理利用Tomcat的热部署功能,可以使...
在了解这个版本之前,我们先来认识一下Tomcat的核心概念: 1. **Java Servlet**:Servlet是Java编程语言中用于扩展服务器功能的接口。它们主要用来处理HTTP请求,并返回响应。Tomcat作为Servlet容器,负责加载、...
Apache Tomcat 7.0.29源码分析 Apache Tomcat是一款开源的Java Servlet容器,主要用于实现Java Servlet和JavaServer Pages(JSP)技术。...这有助于提升Java Web开发的专业技能,并对服务器端架构有更深刻的认识。
《深入剖析Tomcat 4.0:从MVN版本构建解析》 Tomcat 4.0作为Apache Tomcat服务器的一...这个过程将使开发者更加熟练地运用Maven,同时对Tomcat的工作原理有更深的认识,为未来处理复杂的Java Web问题打下坚实的基础。
通过手写简易Tomcat,我们可以深入理解Web服务器的运作机制,对Tomcat的内部工作原理有更直观的认识。这不仅有助于提升Java Web开发能力,也对优化和调试现有Web应用有所帮助。在实际开发中,尽管我们可能不会从零...
`tomcat`则是一款轻量级的Java应用服务器,常用于部署和运行Web应用程序。`eclipse`是一款强大的集成开发环境(IDE),它支持多种插件来扩展其功能,包括对svn和tomcat的支持。现在我们来详细讨论这两个插件以及如何...
通过深入学习Tomcat 7.0的源码,开发者不仅可以理解Web服务器的工作原理,还能掌握如何优化服务器性能,提升应用的运行效率,同时对Java EE规范有更深入的认识。这将对开发和运维工作带来极大的帮助。
Apache Tomcat 7.0.70 是一个广泛使用的开源软件,它是一个Java Servlet容器,专为部署Java Web应用程序而设计。...通过深入研究这个源码包,你可以获得对Java Web技术的深刻认识,这将对你的职业生涯大有裨益。
书中首先会介绍Tomcat的基本架构和工作原理,包括服务器的启动、停止、配置以及管理等方面,让读者对Tomcat有一个全面的认识。 Java Web技术主要包括Servlet、JSP和JavaServer Faces(JSF)等。Servlet是Java Web...
在进行实际部署前,需要对整个集群的架构有一个清晰的认识。该集群主要包括以下几个组件: 1. **Nginx**:作为反向代理服务器,用于接收客户端请求,并根据预设规则将请求转发给后端的Tomcat服务器。 2. **...