Java Web学习(十二)Tomcat核心
一、引言
其实按道理来说,学习Java web应该在前面的篇幅就写有关tomcat相关的知识点,不过近期看了一些资料,觉得以前仅仅只是知道用tomcat去发布我的项目,一些细节的东西也没有好好总结,这里从新写一篇进行tomcat知识点的总结。
二、Tomcat的结构
网上看到一张图片很好的涵盖了Tomcat的结构:
我们从图中可以直观的看出Tomcat的内部构成主要有这几个角色:
- context :主机中的应用名称
- localhost :主机域名,通过dns文件【hosts】进行解析
- virtualhost :虚拟主机域名,同样可以通过dns文件【hosts】进行解析
- connector :连接器,由指定端口号所对应的程序通过指定访问协议所创建的连接对象。
- service :对外提供的服务
- server :服务器
简单了解了Tomcat的主要构成,现在我们详细的去了解一下每个角色是干什么用的~
context
context就是我们发布在tomcat里面的应用实例,我们开发完成的项目,如果直接发布在tomcat上运行的话,一般打成一个war包放到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 :是否自动部署。为true时,当我们把项目放到webapps目录下时,会自动部署到服务器,由Tomcat
- 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容器本身,我们开发的成品就是要部署到服务器上面才可以对外打开,让用户进行访问。
Java Web学习(十二)Tomcat核心的更多相关文章
- java web学习总结(二) -------------------TOMCAT使用帮助(一)
一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...
- java web 学习十二(session)
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...
- JAVA WEB学习笔记(二):Tomcat服务器的安装及配置
一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...
- java web学习总结(二十九) -------------------JavaBean的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- java web学习总结(二十二) -------------------简单模拟SpringMVC
在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: ...
- java web学习总结(二十) -------------------监听器属性详解
一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...
- java web学习总结(三) -------------------TOMCAT使用帮助(二)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- java web学习总结(二十八) -------------------JSP中的JavaBean
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- java web学习总结(二十六) -------------------JSP属性范围
所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围. 一.JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种: 当前页:一个属性只能在一个页面中取得 ...
- java web学习总结(二十五) -------------------JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
随机推荐
- SparkStreaming-DStream(Discretized Stream)
DStream(Discretized Stream)离散流 ◆ 和Spark基于RDD的概念很相似,Spark Streaming使用离散流 (discretized stream)作为抽象表示,叫 ...
- 第一篇scrum冲刺博客--Interesting-Corps
第一篇scrum冲刺博客 一.Alpha阶段各成员任务 鲍鱼铭 任务名称 预计时间 主页页面和探测空间设计及布局实现 6h 主页页面跳转社区功能及社区设计及布局实现 6h 搜索页面跳转.设计及布局实现 ...
- Python趣味入门5:循环语句while
跟着小牛叔,找准正确编程入门姿势,每天只要阅读10分钟. 任何语言都有循环语句,在Python里循环更是变化无穷,有基本的循环,有循环else语句,引伸出来的还有迭代器.推导式,咱们先学习最简单的一种 ...
- Docker 之常见应用部署
本文教大家如何将常见的应用使用 Docker 进行部署,巩固大家 Docker 命令的学习,下文教大家如何构建属于我们自己的 Docker 镜像. Tomcat 拉取镜像. docker pull t ...
- 性能提升40%: 腾讯 TKE 用 eBPF 绕过 conntrack 优化 K8s Service
Kubernetes Service 用于实现集群中业务之间的互相调用和负载均衡,目前社区的实现主要有userspace,iptables和IPVS三种模式.IPVS模式的性能最好,但依然有优化的空间 ...
- oracle的system登不了
(密码对的,密码错直接就是被拒了) 这个一直弹出改密码 但是改了点[确定],又说 oracle改system密码 [oracle@localhost ~]$ sqlplus / as sysdba S ...
- PJSIP 机器人
摘要: 最近再研究PJSIP,有一个需求,再适当的时候,需要给远程客户端放音,比如:播放一段广告.或者一段音乐.需要采用API来实现. 正文: 最近想用PJSIP做一个机器人,想法比较简单就是获取客户 ...
- Android开发工具资料Android Manifest 权限描述大全 随时随地查询权限描述。
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985转载请说明出处. 在文章最后面赠送了markdown格式的此文章内容下载.(不要再问问什么用markdo ...
- Android开发之recycleView详解代码,看完包你熟练掌握recycleView的用法。转自网络经典文章
来源 http://jinyudong.com/2014/11/13/Introduce-RecyclerView-%E4%B8%80/ 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在 ...
- 在Fragment 中拦截返回键
代码如下: class XXXFrgmt : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ...