上一篇说到了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. H - Pots

    题目大意: 有一个瓶子A和一个瓶子B,可以有三种操作倒满,倒空,或者把瓶子A倒向瓶子B(或者把瓶子B倒向瓶子A),可以扩展出6种操作,没什么简单的写法,只能一种一种的写..... 当然是使用广搜... ...

  2. ganglia 启动命令

    gmond 版本号 3.1.7 sudo service ganglia-monitor start 验证是否打开 telnet localhost 8649 gmetad 版本号3.1.7 serv ...

  3. boost------bind的使用(Boost程序库完全开发指南)读书笔记

    bind是c++98标准库中函数适配器bind1st/bind2nd的泛化和增强,可以适配任意的可调用类型,包括函数指针.函数引用.成员函数指针和函数对象. 1.工作原理 bind并不是一个单独的类或 ...

  4. QML 语言基础

    在<Qt Quick 简单介绍>中我们提到 QML 语法和 Json 相似,请參考<Qt on Android: http下载与Json解析>查看 Json 语法.当然这里我们 ...

  5. 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析

    前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据 ...

  6. CSRF跨站点请求伪造漏洞问题

    最近在写php,项目写完后送检发现一个漏洞问题CSRF,强行拖了我一天的时间,沉迷解决问题,茶饭不思,日渐消瘦,时间比较赶,这篇比较糙,凑合看下. 好了废话不多说下面是今天的解决方案. 博主用的是Th ...

  7. Analyzing UI Performance with Systrace 使用systrace工具分析ui性能

    While developing your application, you should check that user interactions are buttery smooth, runni ...

  8. discuz! X3 门户文章添加字段

    1. 首先需要去数据表里[llgp_portal_article_title]手动添加需要添加的字段. (注意: 数据表前缀依据自己的设置而定) 2. 修改模版template\default\por ...

  9. 使用EF 的简单的增删改查

    using DAL; using Model; using System; using System.Collections.Generic; using System.Linq; using Sys ...

  10. Js数学函数1

    1.取模求余数 //1.JS取模求余 //输出 for (var i = 0; i < 20; i++) { if (i % 3 == 0) { documentHelper.WriteText ...