上一篇说到了Tomcat的介绍,下载及安装,这一篇我会详述Tomcat服务器结构

一、Tomcat服务器结构图:

Tomcat服务器中可以配置多个Service,每个Service可以包含多个Connector和一个Engine。

每个Connector是负责与外界交流的模块,负责在指定的服务器端口上监听来自客户端的请求,并将请求交给处理引擎,待处理引擎处理后再将结果返回给客户端。Connector要支持不同的传输协议。

一个Service只有一个Engine,其出来来自各个Connector的客户端请求。Engine上可以有多个Host(Host指的是虚拟主机,即在物理服务器上配置的多个域名)。每个Host上又可以部署一个或多个Web应用,即结构图中的Context,而每个应用中又可以配置多个Servlet来处理相应的请求。

Tomcat通过分级的结构将其提供的多服务,多协议,多主机进行层层分解,最终都归结到一个一个的Servlet来执行具体的任务,这也是Tomcat被称为Servlet容器的原因。

二、Tomcat基础配置 - server.xml配置文件

Tomcat有层级结构,也体现在server.xml配置文件中,它是用于配置Tomcat服务器的最主要的配置文件,默认的配置文件有如下元素:

黑体部分位server.xml中的元素,红色部分为元素的属性。

Connector可以有两种,一种是HTTP Connector,使得Tomcat可以通过http协议通信,一种是AJP Connetor,表示使用AJP协议通信,用于Tomcat与Apache服务器通信。他们都是根据protocol属性值进行区分,默认是HTTP Connector。

Tomcat其他配置文件

web.xml: Tomcat中每个Web应用都拥有一个对Web应用进行配置的web.xml文件

tomcat-user.xml: 给文件对登陆Tomcat后台管理的用户做定义,包括角色和用户名/密码

logging.properties: Tomcat服务器日志功能属性文件,定义了每一种日志的级别,存放目录,日志文件名前缀,使用的日志处理器等属性

三、在Eclipse中安装Tomcat插件

1. 先下载Tomcat插件,可以到eclipse官网上免费下载:http://www.eclipsetotale.com/

下载得到文件tomcatPluginV321.zip,对该文件解压缩,获得文件夹com.sysdeo.eclipse.tomcat_3.2.1,该文件就是根目录

2. 在elipse中完成插件安装

将插件根目录直接复制到Eclipse根目录下的plugins目录中已完成插件安装

3. 配置Tomcat插件

  • 设置Tomcat version
  • 设置Tomcat home,可以参考教程一

配置好之后Tomcat插件就可以使用了

Tomcat基础教程(二)的更多相关文章

  1. Tomcat基础教程(四)

    一.将Web应用部署到Tomcat中 为什么要部署?将Web应用部署到Tomcat中,那么Tomcat就能找到相应的Web应用,当Tomcat启动时就会加载和初始化Web应用,而在Tomcat启动后, ...

  2. Tomcat基础教程(三)

    Tomcat中的Web应用 Web应用就是具有特定目录结构的目录和文件. 基于JAVA技术开发的Web应用中通常会包含以下的web对象: 静态文件对象:HTML页面,图片,普通文件 Servlet: ...

  3. Tomcat基础教程(一)

    Tomcat, 是Servlet和JSP容器,其是实现了JSP规范的servlet容器.它在servlet生命周期内包容,装载,运行,和停止servlet容器. Servlet容器的三种工作模式: 1 ...

  4. MySQL8.0数据库基础教程(二)-理解"关系"

    1 SQL 的哲学 形如 Linux 哲学一切都是文件,在 SQL 领域也有这样一条至理名言 一切都是关系 2 关系数据库 所谓关系数据库(Relational database)是创建在关系模型基础 ...

  5. Java基础教程——二维数组

    二维数组 Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组. 每个数组的长度不要求一致,但最好一致. // 同样有两种风格的定义方法 int[][] _arr21_推荐 = { { 1 ...

  6. numpy基础教程--二维数组的转置

    使用numpy库可以快速将一个二维数组进行转置,方法有三种 1.使用numpy包里面的transpose()可以快速将一个二维数组转置 2.使用.T属性快速转置 3.使用swapaxes(1, 0)方 ...

  7. AngularJS 基础教程二:

    5.过滤器 过滤器的主要功能是格式化数据 可以使用Angular提供的过滤器,也可以自定义过滤器 Angular过滤器: currency(货币).date(日期).filter(子串匹配).json ...

  8. SpringCloud2.0 Eureka Server 服务中心 基础教程(二)

    1.创建[服务中心],即 Eureka Server 1.1.新建 Spring Boot 工程,工程名称: springcloud-eureka-server 1.2.工程 pom.xml 文件添加 ...

  9. mysql基础教程(二)-----分组函数、多表查询、常见函数

    分组函数 什么是分组函数 分组函数作用于一组数据,并对一组数据返回一个值. 组函数类型 • AVG() • COUNT() • MAX() • MIN() • SUM() 组函数语法 AVG(平均值) ...

随机推荐

  1. poj2255

    题目大意: 树恢复??树复原?? 小Valentine非常喜欢玩二叉树的游戏,他非常喜欢在二叉树的树根上随机的写上一下大写字母,这是她创造的一个例子: D / \ / \ B E / \ \ / \ ...

  2. poj1038

    题目大意:网络导航? 标准的web浏览器包含向前和向后浏览最近的页面的特性,有一个方法来实现这些用两个栈来跟踪页面达到向前和向后的移动,在这个问题里面,你被要求实现这些. 以下命令需要支持: BACK ...

  3. Git 中README.md中MarkDown语法示例

    转 http://blog.csdn.net/brokge/article/details/38388757 简介 Markdown的语法简洁明了.学习容易,而且功能比纯文本更强,因此有很多人用它写博 ...

  4. 深入了解JavaScript中的for循环

    在ECMAScript5中,有三种for循环,分别是: 简单for循环 for-in forEach 在ES6中,新增了一种循环 for-of 简单for循环 const arr = [1, 2, 3 ...

  5. adb logcat命令查看并过滤android输出log

    cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...

  6. ASP.NET 防盗链的实现[HttpHandler]

    本文转载:http://www.cnblogs.com/eflylab/archive/2008/06/16/1223373.html 有时我们需要防止其他网站直接引用我们系统中的图片,或下载文件链接 ...

  7. epoll 回显服务器源码

    在写epoll回显服务器代码之前,可以先看看上一篇文章:select poll epoll三者之间的比较.最近在继续学习网络编程中的服务端编程中,了解到很多网游服务器是在IOMP(IO完成端口)框架下 ...

  8. mac 卸载java

    由于电脑上的jdk版本和项目组使用的版本不一致,因此需要卸载,但是作为一个新人小白加没有使用mac的过多经验,还是稍微费了一些些功夫的,从网上查的资料,终于解决这个问题,因此记录一下. 参考博客:ht ...

  9. 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口

    //继承thread类 class PrimeThread extends Thread{ long minPrime; PrimeThread(long minPrime) { this.minPr ...

  10. PHP 关于文件操作的简单介绍

    文件操作一直是Web程序员头疼的地方,而文件操作在CMS这样的系统中又是必须的.如今,PHP文件操作的函数内容已经非常强大,文件这部分也是学习PHP非常重要的一部分,希望大家不要忽略.这篇文章会简单介 ...