web服务器、tomcat、servlet是什么?它们之间的关系又是什么?
今天偶然看到常见web服务器的介绍有Apache HTTP server、Nginx、Microsoft IIS、GWS,心中不禁产生了疑问,这些都是什么呢?一直认为tomcat就是web服务器,以下是百度对web服务器的介绍。
看到这可能有些同学不明白,通俗点来说web服务器的作用就是用户通过浏览器向web服务器发送http请求,web服务器解析http请求将请求路径的文件返回给浏览器,浏览器再将文件渲染显示给我们看,因此web服务器的作用就是返回服务端的静态文件。
那么tomcat又是什么呢?在了解Tomcat之前我们先要知道Servlet是什么,百度上说Servlet是用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容,看到这可能又迷糊了,说半天还是不知道Servlet是什么,其实Servlet就是一种用来处理网络请求的一套规范。
在用Eclipse搭建SSM项目的时候,不知道大家有没有导入过Servlet-api的jar包呢?这个实际上就是servlet以及它的实现。可以看到javax.servlet下的Servlet接口里面有Servlet的生命周期方法。
而javax.servlet.http下的就是基于http通信实现的servlet。而在tomcat的根目录的lib文件夹下也有servlet-api这个jar包,因此在tomcat运行应用程序时我们就不需要额外导入这个jar包了。
可以看到HttpServlet接口就定义了我们熟悉的一些http请求方法。
了解了什么是servlet后,那么tomcat自然就很好理解了,tomcat是servlet容器,同时它也包括了web服务器的功能,因此tomcat是web服务器的扩展,也可以理解为tomcat就是web服务器。那么为什么说tomcat是servlet容器呢?字面意思容器就是可以容纳很多东西,众所周知,在tomcat上部署应用程序的时候,我们是把应用程序放在tomcat根路径下的webapps文件夹下,而这个文件夹下可以放置多个应用程序,我们可以通过请求来决定具体访问那个应用,由此我们可以知道tomcat的整个运行流程
(1)用户通过浏览器向服务器发送请求
(2)tomcat接收请求后解析请求具体访问哪个应用
(3)tomcat创建一个HttpServletRequest对象,将用户发送的请求封装到这个对象里
(4)tomcat创建一个HttpServletResponse对象
(5)Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数传给 HttpServlet对象
(6)HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息
(7)HttpServlet调用HttpResponse对象的有关方法,生成响应数据
(8)Servlet容器把HttpServlet的响应数据结果传给浏览器,浏览器再根据返回的response进行相应的渲染
综上我们还可以猜测到servlet的出现就是弥补以前web服务器只能访问静态资源的问题,有了servlet我们就可以通过浏览器与服务端进行动态交互了。
以上是我学习后根据个人理解及查阅相关资料进行的总结,如有错误欢迎指正。
web服务器、tomcat、servlet是什么?它们之间的关系又是什么?的更多相关文章
- Servlet学习之web服务器Tomcat 详解
Web服务器是什么 Web服务器是指驻留于因特网上某种类型计算机的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文 ...
- Java使用Jetty实现嵌入式Web服务器及Servlet容器
Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty. ...
- Web服务器与Servlet容器
今日要闻: Oracle启动了JRE7到JRE8的自动更新, JRE8发布于2014.3,于2014.10成为java.com默认版本, JRE7发布于2011.7, Oracle指定的Java生命政 ...
- java web服务器tomcat介绍【转载】
机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...
- GenericServlet 、Servlet和httpServler他们之间的关系
1.GenericServlet类是所有Servlet类的祖先类. 2.HttpServlet类继承了GenericServlet类. 3.Servlet有两个非常重要的的对象,可以说是java we ...
- Web服务器Tomcat集群与负载均衡技术
我们曾经介绍过三种Tomcat集群方式的优缺点分析.本文将介绍Tomcat集群与负载均衡技术具体实施过程. 在进入集群系统架构探讨之前,先定义一些专门术语: 1. 集群(Cluster):是一组独立的 ...
- Java 之 web服务器—Tomcat
一.服务器 1.服务器 服务器:安装了服务器软件的计算机 2.服务器软件 服务器软件:接收用户的请求,处理请求,做出响应 3.Web 服务器软件 web 服务器软件:接收用户的请求,处理请求,做出响应 ...
- 一个简单的Web服务器-支持Servlet请求
上接 一个简单的Web服务器-支持静态资源请求,这个服务器可以处理静态资源的请求,那么如何处理Servlet请求的呢? 判断是否是Servlet请求 首先Web服务器需要判断当前请求是否是Servle ...
- web服务器调用Servlet的过程
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: Web服务器首先检查是否已经装载并创建了该Servlet的实例对象.如果是,则直接执行第④步,否则,执行第② ...
随机推荐
- centos7安装xfce桌面
用了centos自带的gnome桌面 太重了 启动超慢 内存占用近2G 因此打算换一个轻量级的桌面xfce 先安装桌面协议yum groupinstall "X Window system& ...
- 我们知道CDN护航了双11十年,却不知道背后有那么多故事……
情不知如何而起,竟一往情深.恰如我们.十年前,因为相信,所以看见.十年后,就在眼前,看见一切. 当2018天猫双11成交额2135亿元的大屏上,打出这么一段字的时候,参与双11护航的阿里云CDN技术掌 ...
- .NET Core下的Spring Cloud——前言和概述
前言 前几年一直在写类似dubbo,Srping Cloud的微服务框架辗辗转转重复了多次,也重构推翻了很多次,其中诞生了"Rabbit.Rpc","Go",& ...
- Python机器学习笔记 异常点检测算法——Isolation Forest
Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolat ...
- 一键解决 go get golang.org/x 包失败
问题描述 当我们使用 go get.go install.go mod 等命令时,会自动下载相应的包或依赖包.但由于众所周知的原因,类似于 golang.org/x/... 的包会出现下载失败的情况. ...
- [SRM603] WinterAndSnowmen
Description Sol 设 \(A=\text{XOR}(X)\),\(B=\text{XOR}(Y)\). 因为 \(A<B\),所以写下他们的二进制表示,一定是最高的几位先是相等,紧 ...
- 第一讲 新手如何学习HTTP协议之实践项目多开微信机器人
上一篇做了一个smart qq机器人. 前几天,因为突然上不了 smart qq,以为TX 要抛弃了..所以就没有接着完善smart 机器人.应朋友要求,做一个多开微信. 做了几天已经做好了,理论上 ...
- 页面内容不够高footer始终位于页面的最底部
相信很多前端工程师在开发页面时会遇到这个情况:当整个页面高度不足以占满显示屏一屏,页脚不是在页面最底部,用户视觉上会有点不好看,想让页脚始终在页面最底部,我们可能会想到用: 1.min-height来 ...
- 前端性能优化(css动画篇)
正巧看到在送书,于是乎找了找自己博客上记录过的一些东西来及其无耻的蹭书了~~~ 小广告:更多内容可以看我的博客 最近拜读了一下html5rocks上几位大神写的一篇关于CSS3动画性能优化的文章,学到 ...
- Selenium自动化-CSS元素定位
接下来,开始讲解 CSS元素定位. CSS定位速度快,功能多,但是不能向上查找,比 xpath好用,是本人认为最好用的定位方式 大致用法总结: 具体使用仿上篇博客.http://www.cnblo ...