目录
一、Tomcat概述
Tomcat中的核心组件(用于Java环境)
Tomcat两种优化
Tomcat Web服务
JSP容器(翻译功能)
Servlet处理动态页面
二、Tomcat内部工作流程
三、Tomcat功能组件结构
Connector连接器
Container容器
四个子容器
Tomcat请求过程
四、部署案例
Tomcat服务部署
第一步 导入相关包进行安装
第二步 关闭防火墙和安全机制
第三步 检查版本
第四步 编写配置文件
第五步 刷新脚本文件
第六步 编写Java脚本
第七步 测试Java脚本
第八步 导入Tomcat包
第九步 解压相关包并优化路径
第十步 启动Tomcat并查看端口
第十一步 用浏览器访问测试
Tomcat虚拟主机配置
第一步 创建网页执行文件
第二步 修改配置文件
第三步 重启一下Tomcat
第四步 创建映射关系
第五步 用浏览器访问测试
一、Tomcat概述
Tomcat中的核心组件(用于Java环境)
① Web容器 #完成Web服务器的功能
② Servlet容器 #名字为Catalina,用于处理Servlet代码
③ Jsp容器 #用于将Jsp动态网页翻译成Servlet代码
Tomcat是一个免费的开放源代码的Web应用服务器,由Apache、Sun和一些公司以及个人共同开发而成,目前比较流行的Web应用服务器
Tomcat处理请求(内部数据流向)
Tomcat两种优化
① Tomcat配置文件优化
② Java虚拟机(JVM)调优
Tomcat Web服务
Web是可以通过HTTP(s)来访问的一个页面 → 文件
Web容器封装了一组文件集中化管理 → 一组组员对象
JSP容器(翻译功能)
index.php → PHP服务
index.jsp → Tomcat服务(和数据库进行交互,连接后端)JAVA环境
html → nginx服务 (可以直接展示index.php)
动态页面
可以让用户进行交互的一种文本Web的页面(后台进行交互)
index.jsp → tomcat用Java环境 → 和数据进行交互
Tomcat是Web应用服务器,也是一个Servlet/JSP容器,Tomcat作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的相应反馈给用户
Servlet处理动态页面
Servlet是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建(Servlet代码格式就是用Jsp容器来处理)
JSP(动态网页开发技术)
实现应用程序的用户界面部分,通过网页表单获取用户输入数据,访问数据库以及其他数据源
二、Tomcat内部工作流程
Web容器(接收响应请求)展示动态页面(index.jsp类型网页文件)
Jsp容器(翻译Java代码成Servlet代码)
Servlet容器(借助于catalina来执行Servlet代码)
动态任务执行的标准格式
Servlet容器中catalina(卡特琳娜)程序/脚本来处理,从JSP容器中翻译JAVA代码后生成的Servlet代码
处理完代码后通过API接口连接APP程序,再通过MySQL数据库查找查询数据,最后原路一层层再反馈给用户结果
Tomcat → 承载JAVA类代码运行的平台应用 → JAVA → 具体的作用
三、Tomcat功能组件结构
Tomcat的核心功能有两个,分别是负责接收和反馈外部请求的连接器Connector
还有一个负责处理请求的容器Container
Connector连接器
负责对外接收和响应请求,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将结果响应反馈给外界
Container容器
负责对内处理业务逻辑,其内部由Engine、Host、Context和Wrapper四个容器组成,用与管理和调用Servlet相关逻辑
四个子容器
Service对外提供的Web服务,主要包含Connector和Container两个核心组件
Tomcat可以管理多个Service,而且各个Service之间相互独立
每个Service会包含一个Container容器,在Container中包含了四个子容器
① Engine引擎,用来管理多个虚拟主机,一个Service最多只能有一个Engine引擎
② Host 代表一个虚拟主机,也可以叫做站点,通过配置Host就可以添加站点
③ Context 代表一个Web应用,包含多个Servlet封装器
④ Wrapper封装器 容器的最底层,每一个Warpper封装中有一个Servlet,负责对象实例的创建、执行和销毁功能
四个容器之间属于父子级的关系
容器由一个引擎可以管理多个虚拟主机,每个虚拟主机可以管理多个Web应用,每个Web应用会有多个Servlet封装器
Tomcat请求过程
① 用户在浏览器中输入网址,请求被发送到本机端口8080,被Connector获取
② Connector把该请求交给它所在的Service的Engine(Container)来处理并且等待Engine回应
③ 请求在Engine、Host、Context和Wrapper这四个容器之间层层调用,最后在Servlet中执行对应的业务逻辑、数据存储等
④ 执行完之后的请求相应在Context、Host、Engine容器之间层层返回,最后交给Connector,并且通过Connector返回给客户端
四、部署案例
Tomcat服务部署
第一步 导入相关包进行安装
第二步 关闭防火墙和安全机制
命令:systemctl stop firewalld
setenforce 0
第三步 检查版本
命令:java -version
第四步 编写配置文件
命令:vim /etc/profile.d/java.sh
第五步 刷新脚本文件
命令:source /etc/profile.d/java.sh
第六步 编写Java脚本
脚本名称自定义即可,这里就拿abc举例
第七步 测试Java脚本
命令:javac abc.java
java abc
第八步 导入Tomcat包
第九步 解压相关包并优化路径
命令:tar xf [压缩包名]
第十步 启动Tomcat并查看端口
命令:/usr/local/tomcat/bin/startup.sh
第十一步 用浏览器访问测试
Tomcat虚拟主机配置
第一步 创建网页执行文件
mkdir /usr/local/tomcat/webapps/liu
mkdir /usr/local/tomcat/webapps/fang
echo "this is liu page\!" > /usr/local/tomcat/webapps/liu/index.jsp
echo "this is fang page\!" > /usr/local/tomcat/webapps/fang/index.jsp