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 ...
随机推荐
- SpringSecurity 3.2入门(5)自定义登录页面
增加spring-security.xml文件配置如下 <!-- 配置SpringSecurity的http安全服务 --> <security:http auto-config=& ...
- Spring Chapter4 WebSocket 胡乱翻译 (一)
4. WebSocket 包含了Servlet stack,原生WebSocket交互,通过SockJS模拟,并且通过STOMP在WebSocket之上订阅.发布消息. 4.1 简介 不扯了,看到这个 ...
- Redis的Publish/Subscribe
Publish/Subscribe 从字面上理解就是发布(Publish)与订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布及消息订阅,当一个key值上进行了消息发布 ...
- 《本博客将搬至CSDN》 博客主QQ 654436731 有关于本博客任何文章的问题欢迎打扰
地址 http://blog.csdn.net/sajiazaici
- C++里创建 Trie字典树(中文词典)(二)(插入、查找、导入、导出)
萌新做词典第二篇,做得不好,还请指正,谢谢大佬! 做好了插入与遍历功能之后,我发现最基本的查找功能没有实现,同时还希望能够把内存的数据存入文件保存下来,并可以从文件中导入词典.此外,数据的路径是存在配 ...
- Mac安装Gradle eclipse安装buildship插件
一直用的eclipse+mvn,现在需要导入别人的gradle项目,所以下载了gradle和在eclipse中安装了buildship插件. 一,mac下安装gradle 1,点击网页https:// ...
- Linux自有服务
Linux自有服务 Linux自带的功能:运行模式.用户和用户组管理.网络配置.ssh服务 1.运行模式 Linux下的初始化进程:init,进程id为1 该进程的配置文件:/etc/inittab ...
- git本地分支重命名
1. 本地分支重命名 git branch -m oldbranchname newbranchname 2. 远程分支重命名 (假设本地分支和远程对应分支名称相同) a. 重命名远程分支对应的本地分 ...
- Android java获取凌晨的时间戳
这两天有一个需求是查询用户匹配的推荐信息,包含一个有效时间段,以天为单位,0时0分0秒这种. 通常java中有两种方案: 第一种:Calendar.这种比较简单,也最常见.代码如下: Calendar ...
- linux c 遍历目录及文件
#include <dirent.h>void recovery_backend() { DIR * pdir ; struct dirent * pdirent; struct stat ...