Tomcat, 是Servlet和JSP容器,其是实现了JSP规范的servlet容器。它在servlet生命周期内包容,装载,运行,和停止servlet容器。

Servlet容器的三种工作模式:

1. 独立的Servlet容器

Servlet容器与基于JAVA技术的Web服务器集成,Servlet容器与Web服务器在同一个JVM中运行,作为独立的Web服务器运行。外部请求到达Servlet容器,Servlet容器通过解析请求消息将请求消息分发给目的Servlet,运行Servlet获得响应,并将响应以特定的格式返回给客户端。

2. 进程内的Servlet容器

Servlet容器与基于非Java技术的Web服务器一起使用,通过Web服务器插件将Servlet容器集成到Web服务器中。Web服务器插件将在Web服务器内部地址空间打开一个JVM,使得Servlet可以在该JVM中加载并运行Servlet。如果有客户端调用Servlet请求的到来,Web服务器插件会通过JNI接口将请求传递给Servlet容器,然后由Servlet容器处理该请求。

3. 进程外的Servlet容器

该模式也是通过服务器插件的形式将Servlet容器与Web服务器联系起来。在该模式下,Web服务器将Servlet容器运行在服务器外部的JVM中。Web服务器插件与Servlet容器使用IPC机制进行通信。当访问Servlet的请求到达Web服务器时,Web服务器插件通过使用IPC消息传递给Servlet容器。模式2和模式3的区别就是Servlet容器与Web服务器的耦合程度以及Web服务器插件与Servlet容器的通信方式不同。

Tomcat下载及安装

到Tomcat官网下载:http://tomcat.apache.org/

选择左边Navigation中Download下的相关版本进行下载,每个版本有Binary Distribution和Source Code Distribution两种形式,Binary Distribution下载应用程序,Source Code Distribution下载Tomcat源代码。

下载好Tomcat zip包后,可以解压缩到相关文件夹下,我这里加压缩到了C:\Tomcat\apache-tomcat-7.0.47

当我们进入到Tomcat文件夹下,可以看到如下目录结构:

安装好后,最好在系统环境变量中添加如下变量:

TOMCAT_HOME = C:\Tomcat\apache-tomcat-7.0.47 (选择你自己的安装路径)

然后到bin目录中,双击startup.bat就可以启动Tomcat服务了。之后你可以启动浏览器,输入http://localhost:8080,将会出现Tomcat默认的欢迎页面。

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

  1. Tomcat基础教程(二)

    上一篇说到了Tomcat的介绍,下载及安装,这一篇我会详述Tomcat服务器结构 一.Tomcat服务器结构图: Tomcat服务器中可以配置多个Service,每个Service可以包含多个Conn ...

  2. Tomcat基础教程(四)

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

  3. Tomcat基础教程(三)

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

  4. Spring Cloud Alibaba基础教程:Nacos的集群部署

    继续说说生产环境的Nacos搭建,通过上一篇<Spring Cloud Alibaba基础教程:Nacos的数据持久化>的介绍,我们已经知道Nacos对配置信息的存储原理,在集群搭建的时候 ...

  5. Dubbo 基础教程

    原文地址:Dubbo 基础教程 博客地址:http://www.extlight.com 一.前言 当服务越来越多时,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实 ...

  6. Spring Boot 2.x基础教程:找回启动日志中的请求路径列表

    如果您看过之前的Spring Boot 1.x教程,或者自己原本就对Spring Boot有一些经验,或者对Spring MVC很熟悉.那么对于Spring构建的Web应用在启动的时候,都会输出当前应 ...

  7. matlab基础教程——根据Andrew Ng的machine learning整理

    matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...

  8. <<Bootstrap基础教程>> 新书出手,有心栽花花不开,无心插柳柳成荫

    并非闲的蛋疼,做技术也经常喜欢蛋疼,纠结于各种技术,各种需求变更,还有一个很苦恼的就是UI总是那么不尽人意.前不久自己开源了自己做了多年的仓储项目(开源地址:https://github.com/he ...

  9. Memcache教程 Memcache零基础教程

    Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...

随机推荐

  1. AngularJS $on $broadcast $emit

    如何在作用域之间通信呢?    1.创建一个单例服务,然后通过这个服务处理所有子作用域的通信.    2.通过作用域中的事件处理通信.但是这种方法有一些限制:例如,你并不能广泛的将事件传播到所有监控的 ...

  2. 一键安装lnmp脚本

    前段时间一直在找一个快速部署lnmp环境的方法,也没找着,就自己写了一个,结合网上的大神们的.我的方法是脚本结合源码包,很多依赖裤都是yum安装的,这都在脚本里面,需要的源码包我都下载好了,打包成压缩 ...

  3. 关于node升级到7.0,无法gulp alljs的问题

    http://stackoverflow.com/questions/40308623/cannot-find-module-internal-fs-afer-upgrading-to-node-7 ...

  4. Python中http请求方法库汇总

    最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带 ...

  5. motan源码分析十一:部分特性

    本章将描述motan部分的特性并对源码进行分析. 1.requestid的维护,使用了当前时间左移20位,再和一个自增变量组合 public class RequestIdGenerator { ); ...

  6. NuGet 无法连接到远程服务器-解决方法

    一. Entity Framework以下简称EF 安装EF4.3的步骤是首先安装VS扩展 NuGet,然后再使用NuGet安装EF程序包 安装完NuGet就可以安装EF了,有两种方式可以安装EF: ...

  7. scrollview中停止滚动的监听

    [补充]可以在主线程控制,特别注意 scrollView3.postDelayed(new Runnable() { @Override public void run() { scrollView3 ...

  8. git 在linux中的使用

    1,经常使用操作 一,clone远程仓库 比如clone test项目的分支v1.0 git -c diff.mnemonicprefix=false -c core.quotepath=false ...

  9. JQ插件之imgAreaSelect实现对图片的在线截图功能(java版)

    前言:在做网站的时候经常用的功能就是,用户上传图片对自己上传的图片进行截图,DIV自己的头像.或者上传幻灯片大图进行DIV设置小图. 解决方案:目前我知道的解决方案有两个如下:       一.fla ...

  10. webpack入门学习

    一.认识webpack webpack是一款模块打包加载工具.它能够将各种资源.JS.CSS.图片等作为模块打包加载.本人也是近期因工作需要才开始接触webpack,在下文中有误的地方还希望各位能够指 ...