一提到容器,很多新手就会忘文生畏,认为这是很难很高深的东西。其实一项技术存在与发展,自然有其广度与深度的地方。但是对于开发人员而言,我们并不是要对容器研究要有多深,我们的目的有一个基本的了解,然后会配置,会使用。

Servlet

Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容。 Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立 的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。

Servlet容器

Servlet容器也叫做Servlet引擎,是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于 MIME的请求,格式化基于MIME的响应。Servlet没有main方法,不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用 Servlet的方法(如doGet()和doPost()),Servlet容器在Servlet的生命周期内包容和管理Servlet。在JSP技术 推出后,管理和运行Servlet/JSP的容器也称为Web容器。

Servlet生命周期

(1)加载和实例化

当Servlet容器启动或客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;如果不存在,就创建一个Servlet实例。

(2) 初始化

实例化后,Servlet容器将调用Servlet的init()方法进行初始化(一些准备工作或资源预加载工作)。

(3)服务

初始化后,Servlet处于能响应请求的就绪状态。当接收到客户端请求时,调用service()的方法处理客户端请求,HttpServlet的service()方法会根据不同的请求 转调不同的doXXX()方法。

(4)销毁

当Servlet容器关闭时,Servlet实例也随时销毁。其间,Servlet容器会调用Servlet 的destroy()方法去判断该Servlet是否应当被释放(或回收资源)。

Tomcat

Tomcat是一个免费的开放源代码的Servlet容器。
Tomcat服务器接受客户请求并做出响应的过程如下:
1)客户端(通常都是浏览器)访问Web服务器,发送HTTP请求。
2)Web服务器接收到请求后,传递给Servlet容器。
3)Servlet容器加载Servlet,产生Servlet实例后,向其传递表示请求和响应的对象。
4)Servlet实例使用请求对象得到客户端的请求信息,然后进行相应的处理。
5)Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制返回给Web服务器。

Servlet容器和Tomcat容器区别相关推荐

  1. Tomcat容器、JSP和Servlet

    目录 JSP Tomcat.JSP和Servlet JSP JSP全名为Java Server Pages,其根本是一个简化的Servlet设计.JSP技术有点类似ASP技术,它是在传统的HTML网页 ...

  2. springboot-嵌入式Servlet容器(Tomcat)源码分析以及容器切换

    目录 一.springboot的嵌入式Servlet容器(tomcat) 1.原理 2.源码 (1)ServletWebServerApplicationContext的createWebServer ...

  3. Apache CXF实现Web Service(3)——Tomcat容器和不借助Spring的普通Servlet实现JAX-RS(RESTful) web service...

    起步 参照这一系列的另外一篇文章: Apache CXF实现Web Service(2)--不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service 首先 ...

  4. java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 war 二.移除嵌入式tomcat插件 在pom.xml里找到spring-bo ...

  5. SpringBoot 配置嵌入式Servlet容器(tomcat,jetty,undertow)

    SpringBoot 默认打包方式为jar包,且可以自启动,就是因为它内嵌了Servlet容器. SpringBoot 默认使用嵌入式Servlet容器,SpringBoot 2.2.5 默认是 To ...

  6. springboot支持三种嵌入式servlet容器:tomcat(默认),jetty,undertow

    默认是使用tomcat容器的: web模块排除tomcat依赖: 引入jetty容器: 启动项目看日志(已经成功切换到jetty): 关键是,与tomcat保持一样的配置(一样的配方,不一样的味道): ...

  7. servlet容器,web容器,spring容器,springmvc容器的区别

    这个理解我可以通过一个http的页面请求来说明. web容器中有servlet容器,spring项目部署后存在spring容器.其中spring控制service层和dao层的bean对象以及cont ...

  8. Spring Boot配置Tomcat容器、Jetty容器、Undertow容器

    Spring Boot配置Tomcat容器.Jetty容器.Undertow容器 Tomcat.Jetty.Undertow Tomcat概述 Jetty概述 Undertow概述 Spring Bo ...

  9. spring容器和SpringMVC容器的区别

    说起spring容器和SpringMVC容器,很多刚接触spring框架的同志都有点懵,甚至是一头雾水,分不清楚两者的关系和区别,包括本人也是,因此还在网上找个不少资料.这俩容器呢虽然有必然的联系,但 ...

  10. Web服务器,Web容器和应用服务器的区别

    转载自http://www.2cto.com/os/201504/395183.html 1.什么是服务器? 2.Web服务器,Web容器和应用服务器的区别? 3.Apache和Tomcat的区别? ...

最新文章

  1. 活着不容易!几度被扼杀又雄起的NLP简史
  2. 关于0bug中一处读者质疑的回复
  3. 打破你的认知,数字除以 0 一定会崩溃吗?
  4. bootstrap项目实例_SpringCloud Config 使用Git的应用实例
  5. JavaScript基础8——弹窗案例
  6. Adobe Acrobat Pro设置高亮快捷键
  7. 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!
  8. java 模板方法设计模式_Java中的模板方法设计模式
  9. Spring Boot 构建RESTful Web服务
  10. web optimize_image / Jpegoptim / ImageOptim / google webP
  11. matlab | imcrop手动截图演示
  12. 公司债务法人代表有义务还吗?
  13. 创新电影院:手机看电影时代已到来
  14. 世界主要港口中英文对照表
  15. 小程序设置渐变色背景
  16. IE8开发人员工具使用详解下(模式,JS调试,探查器)
  17. EasyExcel基本教程
  18. 晨哥真有料丨 “不断提升自己,有择偶标准” 的男生会被倒追
  19. 最快速的OpenCV安装教程
  20. 码农不识贝叶斯,虽知数据也枉然

热门文章

  1. Linux基本操作命令 实验
  2. 获取连接设备的SN号
  3. 地磁计HMC5883L
  4. nvme分区选mbr还是guid_老毛桃winpe的DiskGenius分区工具使用说明
  5. MapGIS K9如何裁剪瓦片数据
  6. speex 编码简介
  7. 阿里云数据库迁移手记
  8. 经天测绘测量工具包_公共土地测量系统
  9. [APIO2014]序列分割
  10. 组态王串口服务器通讯不稳定,组态王通信频繁掉线