`
jianson_wu
  • 浏览: 65876 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

tomcat认识

 
阅读更多

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端口被使用

想知道哪个程序使用了某个端口,可以通过天网防火墙或者是卡巴斯基获得。

 

  • 大小: 41.8 KB
  • 大小: 22.1 KB
分享到:
评论

相关推荐

    How Tomcat Works 中文版.pdf

    通过对Tomcat内部机制的掌握,读者不仅能对Spring框架这类应用服务器有一个更宏观的认识,还能学会如何配置和自定义Tomcat服务器。 通过阅读《How Tomcat Works》中文版,读者将能够获得对Tomcat架构的全面理解,...

    tomcat文档

    《轻量级服务器架构全面解析:Tomcat与Web服务器集成及性能优化》 Tomcat,作为Apache软件基金会的开源项目,是Java Servlet和Java...通过阅读提供的PDF文档,开发者可以进一步深化对Tomcat的认识,提升自身技能。

    Tomcat 8 权威指南

    这部分内容有助于初学者快速建立对Tomcat的整体认识。 接下来,书中会详细阐述Tomcat 8的安装与配置过程。这包括了Windows、Linux和Mac OS等不同操作系统下的安装方法,以及配置文件如server.xml、web.xml的作用和...

    juel-Tomcat与EL冲突问题

    解决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包...

    tomcat6.0的源代码

    通过对Tomcat 6.0源代码的学习,开发者不仅可以提升对Servlet和JSP规范的理解,还能掌握服务器内部工作原理,为日常的Web开发带来更深入的认识,提升问题排查和性能优化的能力。同时,这也将有助于向更高级的Tomcat...

    how tomcat works和jetty-src和tomcat7-src

    【标题】"how tomcat works和jetty-src和tomcat7-src" ...综上所述,对Tomcat和Jetty源代码的探索,不仅能增进对Web服务器工作原理的认识,还能提升开发者在Java Web开发中的专业技能,从而更好地应对复杂的项目需求。

    apache-tomcat-8.0.48linux解压版

    在了解Apache Tomcat 8.0.48之前,我们先来认识一下Tomcat的基本概念。Tomcat作为Servlet容器,它的主要任务是处理HTTP请求,将这些请求分发到相应的Servlet进行处理,并将Servlet的响应返回给客户端。Tomcat与Java ...

    Solr在Tomcat下的部署

    ### Solr在Tomcat下的部署知识点详解 #### 一、准备工作 在开始部署Solr之前,需要准备以下软件包: 1. **Tomcat版本**:本案例中...通过本文的详细介绍,相信读者已经对如何在Tomcat下部署Solr有了较为清晰的认识。

    修改java代码以及js无需重启tomcat

    不过,也需要清楚地认识到热部署并非万能,对于某些特殊情况还是需要采取传统的重启方式。此外,还应该注意在生产环境中禁用热部署功能,以避免潜在的安全风险和性能问题。总之,合理利用Tomcat的热部署功能,可以使...

    apache-tomcat-7.0.27

    在了解这个版本之前,我们先来认识一下Tomcat的核心概念: 1. **Java Servlet**:Servlet是Java编程语言中用于扩展服务器功能的接口。它们主要用来处理HTTP请求,并返回响应。Tomcat作为Servlet容器,负责加载、...

    apache-tomcat-7.0.29源码

    Apache Tomcat 7.0.29源码分析 Apache Tomcat是一款开源的Java Servlet容器,主要用于实现Java Servlet和JavaServer Pages(JSP)技术。...这有助于提升Java Web开发的专业技能,并对服务器端架构有更深刻的认识。

    tomcat4.0_mvn版本

    《深入剖析Tomcat 4.0:从MVN版本构建解析》 Tomcat 4.0作为Apache Tomcat服务器的一...这个过程将使开发者更加熟练地运用Maven,同时对Tomcat的工作原理有更深的认识,为未来处理复杂的Java Web问题打下坚实的基础。

    手写简易tomcat

    通过手写简易Tomcat,我们可以深入理解Web服务器的运作机制,对Tomcat的内部工作原理有更直观的认识。这不仅有助于提升Java Web开发能力,也对优化和调试现有Web应用有所帮助。在实际开发中,尽管我们可能不会从零...

    svn和tomcat两个插件

    `tomcat`则是一款轻量级的Java应用服务器,常用于部署和运行Web应用程序。`eclipse`是一款强大的集成开发环境(IDE),它支持多种插件来扩展其功能,包括对svn和tomcat的支持。现在我们来详细讨论这两个插件以及如何...

    tomcat 7.0源码

    通过深入学习Tomcat 7.0的源码,开发者不仅可以理解Web服务器的工作原理,还能掌握如何优化服务器性能,提升应用的运行效率,同时对Java EE规范有更深入的认识。这将对开发和运维工作带来极大的帮助。

    apache-tomcat-7.0.70-src

    Apache Tomcat 7.0.70 是一个广泛使用的开源软件,它是一个Java Servlet容器,专为部署Java Web应用程序而设计。...通过深入研究这个源码包,你可以获得对Java Web技术的深刻认识,这将对你的职业生涯大有裨益。

    Tomcat与Java Web开发技术详解(第2版).pdf

    书中首先会介绍Tomcat的基本架构和工作原理,包括服务器的启动、停止、配置以及管理等方面,让读者对Tomcat有一个全面的认识。 Java Web技术主要包括Servlet、JSP和JavaServer Faces(JSF)等。Servlet是Java Web...

    Nginx+Keepalived+Redis+Tomcat

    在进行实际部署前,需要对整个集群的架构有一个清晰的认识。该集群主要包括以下几个组件: 1. **Nginx**:作为反向代理服务器,用于接收客户端请求,并根据预设规则将请求转发给后端的Tomcat服务器。 2. **...

Global site tag (gtag.js) - Google Analytics