Tomcat基础教程(一)
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基础教程(一)的更多相关文章
- Tomcat基础教程(二)
上一篇说到了Tomcat的介绍,下载及安装,这一篇我会详述Tomcat服务器结构 一.Tomcat服务器结构图: Tomcat服务器中可以配置多个Service,每个Service可以包含多个Conn ...
- Tomcat基础教程(四)
一.将Web应用部署到Tomcat中 为什么要部署?将Web应用部署到Tomcat中,那么Tomcat就能找到相应的Web应用,当Tomcat启动时就会加载和初始化Web应用,而在Tomcat启动后, ...
- Tomcat基础教程(三)
Tomcat中的Web应用 Web应用就是具有特定目录结构的目录和文件. 基于JAVA技术开发的Web应用中通常会包含以下的web对象: 静态文件对象:HTML页面,图片,普通文件 Servlet: ...
- Spring Cloud Alibaba基础教程:Nacos的集群部署
继续说说生产环境的Nacos搭建,通过上一篇<Spring Cloud Alibaba基础教程:Nacos的数据持久化>的介绍,我们已经知道Nacos对配置信息的存储原理,在集群搭建的时候 ...
- Dubbo 基础教程
原文地址:Dubbo 基础教程 博客地址:http://www.extlight.com 一.前言 当服务越来越多时,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实 ...
- Spring Boot 2.x基础教程:找回启动日志中的请求路径列表
如果您看过之前的Spring Boot 1.x教程,或者自己原本就对Spring Boot有一些经验,或者对Spring MVC很熟悉.那么对于Spring构建的Web应用在启动的时候,都会输出当前应 ...
- matlab基础教程——根据Andrew Ng的machine learning整理
matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...
- <<Bootstrap基础教程>> 新书出手,有心栽花花不开,无心插柳柳成荫
并非闲的蛋疼,做技术也经常喜欢蛋疼,纠结于各种技术,各种需求变更,还有一个很苦恼的就是UI总是那么不尽人意.前不久自己开源了自己做了多年的仓储项目(开源地址:https://github.com/he ...
- Memcache教程 Memcache零基础教程
Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...
随机推荐
- today's learning of english 1
1.curriculum 必修课 主修课 2.sought seek的过去式 3.blessed with a wonderful marriage 有个幸福美满的婚姻 4.al ...
- Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,仅仅是原来接触的是2,如今已然变成了4,似乎如今的安装比原来会快些.. Rails 4 安装 针对于安装了RVM gem install rails 没有的话应该主 sud ...
- android anim 动画效果(转)
动画效果编程基础--AnimationAndroid 动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 ...
- Android中强大的Matrix操作
简介: Matrix翻译字面意思时矩阵,在Android的API中提供了两种Matrix,分别是android.graphics.Matrix 和 android.opengl.Matrix . 后者 ...
- 0_Linux_虚拟机安装
虚拟机的安装0Snapshot和clone 系统分区(由硬盘的性能所限制的) 1分区类型: 主分区:最多有4个 扩展分区:最多只能有1个:主分区加扩展分区最多有4个:不能写入数据,只能包含逻辑分区,不 ...
- 在/etc/password用户名前面加hello,ID前加is
方法2: #!/bin/sh #set -x file=/etc/passwd while read LINE #for i in `cat $file` do #username=`echo $i| ...
- 洛谷 P1273 有线电视网(dp)
/* 想了半天没想出状态 自己还是太弱了 QAQ 题目问的是最多供给多少户 一般想法是把这个值定义为状态量 没想出来QAQ....看了看题解的状态 很机智.... f[i][j]表示i的子树 选了j个 ...
- DataSet离线数据集实例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- 13个简单有用的android开发代码
1:查看是否有存储卡插入 String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_ ...
- firebug中console命令尝试
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...