Tomcat 服务器体系结构
connector 监听端口,监听到以后,交给 Engine 引擎 处理,引擎会根据请求找到对应的主机,找到主机后再去找对应的应用。
如果我们将 port 改为 80,那访问的时候就不用输入端口号,因为 80 是默认端口:
这就是tomcat 服务器 的体系
关于虚拟主机:
查看一下 host 文件,如果没显示,取消系统对文件夹的默认隐藏和受保护文件隐藏的选项即可
我们看到,默认 127.0.0.1 对应的是 localhost
过程就是,输入localhost,浏览器会去host文件里去找,如果找到 ip,就访问
如果输入 www.baidu.com ,在host文件里找到了 127.0.0.1 ,浏览器就会去访问 127.0.0.1
如果host文件被别人改了,那我们在访问某个网址的时候,可能就会访问到别人指定的网站上去,比如钓鱼网站等
访问 localhost/myproject2/ (此时端口已经改为 80),访问到内容了
流程:localhost,去本机发送了 端口号为 80 的请求,来到了这里:
然后来到引擎处理
主机的名字叫 localhost,来到下图所示的地方:
然后找应用 myproject2
再访问一个
两个host
来到 m.myxq.com (本机host文件改过了)
在这个host 里找到了 path = "/myp1" ,所以找到这个应用了,然后到 docBase 里找到对应的项目,然后把内容显示出来了。
另外:
我们可以两个域名指向同一个iP
比如,m.taobao.com 手机端淘宝,这是一个项目
www.taobao.com ,这也是一个项目,
两个不同的项目,用不同的url 都可以访问到同一个ip,这个时候他访问的是同一个服务器了,但是我们可以访问到各自映射到的项目
如果是 m.myxq.com 就是下面这个 host,然后到 Context, 根据path,到docBase 对应的找到 各自的项目
关于虚拟主机
- 输入网址时,会先到 host 文件中查找有没有对应的ip地址,如果有就直接访问该IP
- 如果没有,就会去外网找DNS服务器进行域名与IP 地址的解析,查找
- 多个域名可以访问同一个ip
- 一个ip 对应一台电脑
Tomcat 服务器体系结构的更多相关文章
- JavaWeb---总结(四)Tomcat服务器学习和使用(二)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个Ja ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB
JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- java web 学习三(Tomcat 服务器学习和使用2)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- Tomcat服务器常用配置和HTTP简介
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- 重温web服务器--细说Tomcat服务器
从大学开始接触java web的开发时就开始使用tomcat部署web项目,对它的理解仅仅停留在"这是个开源免费的servlet容器"的阶段,后来也接触了一些tomcat的体系,原 ...
- JavaEE:Tomcat服务器常用配置和HTTP简介
Web服务器常用配置1.Web系统采用B/S结构通信的:Browser --- Server1)浏览器向服务器发送访问目标资源请求(请求)2)服务器根据请求的目标资源路径,在服务器端进行查找(请求查找 ...
- javaWeb学习总结(1)- Tomcat服务器学习和使用(3)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)(转)
转载自 http://www.cnblogs.com/xdp-gacl/p/3744053.html 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWe ...
随机推荐
- mongodb insert()、save()的区别
mongodb 的 insert().save() ,区别主要是:若存在主键,insert() 不做操作,而save() 则更改原来的内容为新内容. 存在数据: { _id : 1, " ...
- Whu 1604——Play Apple——————【博弈】
Problem 1604 - Play Apple Time Limit: 1000MS Memory Limit: 65536KB Total Submit: 442 Accepted: ...
- [译]理解 Windows UI 动画引擎
本文译自 Nick Waggoner 的 "Understand what’s possible with the Windows UI Animation Engine",已获原 ...
- asp 2.0 ajax triggers 触发更新
- Android界面编程--使用活动条(ActionBar)
ActionBar的使用 1.启动ActionBar(默认状态下是启动的) 1.1 在Android配置文件(AndroidManifest.xml)中设置应用的主题为 ***.NoActionBar ...
- python学习(七)--豆瓣爬取电影名,评分以及演员
import requestsimport re #爬取豆瓣电影排名pageNum = int(input("要查看第几页电影分数:"))#已知豆瓣默认每页展示20条#url= & ...
- POJ 3225 线段树区间更新(两种更新方式)
http://blog.csdn.net/niuox/article/details/9664487 这道题明显是线段树,根据题意可以知道: (用0和1表示是否包含区间,-1表示该区间内既有包含又有不 ...
- Python爬虫《爬取get请求的页面数据》
一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...
- JavaScript Callback 回调函数
JavaScript callback回调函数 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这 ...
- spark编程python实例
spark编程python实例 ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PyS ...