`
jianson_wu
  • 浏览: 62796 次
  • 性别: 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
分享到:
评论

相关推荐

    一.认识tomcat.pdf

    初步认识tomcat,了解tomcat。

    svn和tomcat两个插件

    svn tomcat eclipse插件,直接解压即可

    tomcat5集群中的SESSON复制

    为大家提供SESSION持久性以及TOMCAT集群中SESSION复制的内在工作机制一个概要认识。

    tomcat性能测试

    性能测试与分析是软件开发过程中介于架构和调整的一个广泛并比较不容易理解的...本文中作者结合自己的使用经验和参考文档,对Tomcat性能方面的调整做一简要的介绍,并给出Tomcat性能的测试、分析和调整优化的一些方法。

    Tomcat性能的测试

    性能测试与分析是软件开发过程中介于架构和调整的一个广泛并比较不容易理解的...本文中作者结合自己的使用经验和参考文档,对Tomcat性能方面的调整做一简要的介绍,并给出Tomcat性能的测试、分析和调整优化的一些方法。

    Tomcat配置技巧Top 10

    对于Tomcat配置是个很好的认识.

    tomcat源码

    tomcat作为开源的服务器,对其源码进行一定的了解有助于我们更好的进行web开发,对底层实现有更深刻的认识。

    详解IDEA创建Tomcat8源码工程流程

    上一篇文章的产出,其实离不开网上各位大神们的辅助,正是通过他们的讲解,我才对Tomcat的结构有了更进一步的认识。 但在描述前后端交互的过程中,还有很多细节并没有描述到位,所以就有了研究Tomcat源码的想法。 而...

    tomcat学习(windows和linux环境多端口部署多项目)

    文章目录认识tomcat下载安装目录解读启动查看日志访问访问可能遇到的错误关闭tomcat部署项目简单部署8080端口单项目多端口配置多项目server文件需要更改的地方简述部署多个springboot项目遇到的坑配置无需war包名...

    SpringToolSuite安装插件,tomcat 以及新建动态 web 工程去认识Spring MVC的原理

    SpringToolSuite安装插件  选择help—&gt;Eclipse MarketPlace ... 先去tomcat官网下载,下载完解压,导入文件夹  导入进去后,项目会自动帮你选择相应的版本,一直点击下一步,直至finish 现在我们可以运行这个程序

    Nginx + Tomcat实现请求动态数据和请求静态资源的分离详解

    一、认识访问静态资源与访问动态资源的区别 静态资源:指存储在硬盘内的数据,固定的数据,不需要计算的数据。 如:图片、字体、js文件、css文件等等。在用户访问静态资源时,服务器会直接将这些资源返回到用户的...

    nginx+tomcat实现Windows系统下的负载均衡搭建教程

    刚入行没多久就听过‘负载均衡’的大名,到现在因为工作接触的少,所以没什么太多的认识。但自己又对其非常的好奇,所以前两天通过查资料,在自己的笔记本上就搭建了一个超简单的案例(工作中没有时间,晚上到家了...

    JavaWeb就业编程实战教程(代码+工具+PPT)

    0101_【理解】认识WEB.mp4 0102_【理解】HTTP协议,mp4 0103_【理解】HTML语言.mp4 0104_【理解】动态WEB开发技术.mp4 0105_【理解】企业平台开发架构.mp4 0106_【理解】JavaEE标准架构.mp4 0107_【理解】XVC设计...

    Myeclipse+Tomcat+SQL Server 开发javaweb网站 ACG粉丝站管理系统

    于是设想编写一个网站,能够让这些喜爱相同漫画、游戏、音乐等的人们在该网站获取自己偶像或喜欢作品的信息,互相认识和交流。 1.目前实现功能:vip 【作品】 默认显示所有作品;可以对作品进行增、删、改、查[包括...

    J2EE 环境变量配置

    MyEclipse + JDK + Tomcat 环境变量配置

    高可用的并发解决方案nginx+keepalived视频教程

    本课程介绍了目前处理并发能力非常强悍的开源软件nginx快速入门及使用,介绍nginx+tomcat集群处理并发解决方案,带大家认识虚拟路由,了解虚拟路由的工作流程并安装keepalived,实现nginx+keepalived主备配置,达到...

    百度地图毕业设计源码-Tmall_SSH:技术栈Struts2+Hibernate+Spring+Jsp+Tomcat,是JavaWeb入门非

    了,但如果接手老项目的话还是要懂的,学习过程我们也可以认识到它们当时优秀的设计理念, 当时解决了哪些痛点,后面又是因为什么被新技术替代,这样才能加深对 Java Web 整个平台的理解,不亏。 项目用到的技术如下...

    myweb.rar_mysql5.6.jar

    本系统是简单的用户管理...本系统采用eclipse 3.6 ,tomcat 6.0,mysql5.0开发 其中系统的beam 文件中只有conndb.java被用到, userbean.java和userbeancl 并未用到过 需要到导的jar包都在lib里 数据库 文件可直接导入

    基于springboot实现社区维修平台程序设计附完整前后端项目源码+文档教程说明+sql文件+论文说明

    21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、...

Global site tag (gtag.js) - Google Analytics