一、引言
其实按道理来说,学习Java web应该在前面的篇幅就写有关tomcat相关的知识点,不过近期看了一些资料,觉得以前仅仅只是知道用tomcat去发布我的项目,一些细节的东西也没有好好总结,这里从新写一篇进行tomcat知识点的总结。
二、Tomcat的结构
网上看到一张图片很好的涵盖了Tomcat的结构:
我们从图中可以直观的看出Tomcat的内部构成主要有这几个角色:
- context :主机中的应用名称
- localhost :主机域名,通过dns文件【hosts】进行解析
- virtualhost :虚拟主机域名,同样可以通过dns文件【hosts】进行解析
- connector:连接器,由指定端口号所对应的程序通过指定访问协议所创建的连接对象。
- service:对外提供的服务
- server:服务器
简单了解了Tomcat的主要构成,现在我们详细的去了解一下每个角色是干什么用的~
context
tomcat的webapps目录下。
localhost
host文件【dns映射】
主机域名,通过dns来解析出具体的主机ip地址,我们可以看一下c:\windows\system32\drivers\etc路径下的hosts文件:
PS:localhost一般特指本地主机,127.0.0.1又称为回送地址,表示本机,无论是否连接网络,均可访问。
server.xml【Tomcat服务器配置】
- appBase :主机所对应的目录。PS:这个目录是相对于Tomcat安装目录的相对路径
- autoDeploy
- name :主机名,即我们说的域名
- unpackWARs :是否自动解压war包。为ture则会自动解压
PS:localhost一般特指本地主机,127.0.0.1又称为回送地址,表示本机,无论是否连接网络,均可访问。
虚拟目录【配置应用访问地址】
方式1:配置<Context/>标签
- path : 指定在当前主机域名下访问该应用的URI
- docBase
当我们按照上图的方式配置<Context>标签以后,重启Tomcat就可以通过/designMode来访问E盘下的designMode项目了。
PS:这种方式配置需要重启Tomcat才能生效
方式2:在主机目录中配置
PS:这种方式配置不需要重启Tomcat就能生效
virtualhost
virtualhost又叫虚拟主机,通常是用一台主机虚拟出多个域名进行映射的一种方式。
使用方式:
connector
connector主要是用于接收http请求并解析http请求,然后将请求交给servlet容器的中间件。
service
service是对外提供服务的,我们可以把它看成是对外提供服务的一个平台独立,低耦合,自包含的、可编程的web的应用程序。
server
server就是服务器主体,这里我们特指Tomcat容器本身,我们开发的成品就是要部署到服务器上面才可以对外打开,让用户进行访问。