Servlet容器和Tomcat容器区别
一提到容器,很多新手就会忘文生畏,认为这是很难很高深的东西。其实一项技术存在与发展,自然有其广度与深度的地方。但是对于开发人员而言,我们并不是要对容器研究要有多深,我们的目的有一个基本的了解,然后会配置,会使用。
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容器区别相关推荐
- Tomcat容器、JSP和Servlet
目录 JSP Tomcat.JSP和Servlet JSP JSP全名为Java Server Pages,其根本是一个简化的Servlet设计.JSP技术有点类似ASP技术,它是在传统的HTML网页 ...
- springboot-嵌入式Servlet容器(Tomcat)源码分析以及容器切换
目录 一.springboot的嵌入式Servlet容器(tomcat) 1.原理 2.源码 (1)ServletWebServerApplicationContext的createWebServer ...
- 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 首先 ...
- java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中
把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 war 二.移除嵌入式tomcat插件 在pom.xml里找到spring-bo ...
- SpringBoot 配置嵌入式Servlet容器(tomcat,jetty,undertow)
SpringBoot 默认打包方式为jar包,且可以自启动,就是因为它内嵌了Servlet容器. SpringBoot 默认使用嵌入式Servlet容器,SpringBoot 2.2.5 默认是 To ...
- springboot支持三种嵌入式servlet容器:tomcat(默认),jetty,undertow
默认是使用tomcat容器的: web模块排除tomcat依赖: 引入jetty容器: 启动项目看日志(已经成功切换到jetty): 关键是,与tomcat保持一样的配置(一样的配方,不一样的味道): ...
- servlet容器,web容器,spring容器,springmvc容器的区别
这个理解我可以通过一个http的页面请求来说明. web容器中有servlet容器,spring项目部署后存在spring容器.其中spring控制service层和dao层的bean对象以及cont ...
- Spring Boot配置Tomcat容器、Jetty容器、Undertow容器
Spring Boot配置Tomcat容器.Jetty容器.Undertow容器 Tomcat.Jetty.Undertow Tomcat概述 Jetty概述 Undertow概述 Spring Bo ...
- spring容器和SpringMVC容器的区别
说起spring容器和SpringMVC容器,很多刚接触spring框架的同志都有点懵,甚至是一头雾水,分不清楚两者的关系和区别,包括本人也是,因此还在网上找个不少资料.这俩容器呢虽然有必然的联系,但 ...
- Web服务器,Web容器和应用服务器的区别
转载自http://www.2cto.com/os/201504/395183.html 1.什么是服务器? 2.Web服务器,Web容器和应用服务器的区别? 3.Apache和Tomcat的区别? ...
最新文章
- 活着不容易!几度被扼杀又雄起的NLP简史
- 关于0bug中一处读者质疑的回复
- 打破你的认知,数字除以 0 一定会崩溃吗?
- bootstrap项目实例_SpringCloud Config 使用Git的应用实例
- JavaScript基础8——弹窗案例
- Adobe Acrobat Pro设置高亮快捷键
- 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!
- java 模板方法设计模式_Java中的模板方法设计模式
- Spring Boot 构建RESTful Web服务
- web optimize_image / Jpegoptim / ImageOptim / google webP
- matlab | imcrop手动截图演示
- 公司债务法人代表有义务还吗?
- 创新电影院:手机看电影时代已到来
- 世界主要港口中英文对照表
- 小程序设置渐变色背景
- IE8开发人员工具使用详解下(模式,JS调试,探查器)
- EasyExcel基本教程
- 晨哥真有料丨 “不断提升自己,有择偶标准” 的男生会被倒追
- 最快速的OpenCV安装教程
- 码农不识贝叶斯,虽知数据也枉然