交流
商城
MCN
登入
注册
首页
提问
分享
讨论
建议
公告
动态
发表新帖
发表新帖
第1 章:tomcat的使用与主要组件
分享
未结
0
912
李延
LV6
2021-08-02
悬赏:20积分
# 说明 在springboot中。我们是以内嵌的方式来来启动tomcat。所以我们这一章中,就是以这种方式来启动一个tomcat。并且简单的说明几个比较重要的组件。 # 示例代码 ## servlet 首先我们创建一个servlet类。 ```java public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setHeader("asdas","asdasq"); System.out.println(1111); } } ``` 然后我们启动一个tomcat,并将我们创建的servlet添加到这个tocmat中 ```java public static void main(String[] args) throws LifecycleException { //构建tomcat对象,此对象为启动tomcat服务的入口对象 Tomcat t = new Tomcat(); //构建Connector对象,此对象负责与客户端的连接. Connector con = new Connector(); //设置服务端的监听端口 con.setPort(8080); //将Connector注册到service中 t.getService().addConnector(con); //注册servlet Context ctx = t.addContext("/", null); Tomcat.addServlet( ctx, "helloServlet", new HelloServlet()); //映射servlet ctx.addServletMappingDecoded("/hello", "helloServlet"); //启动tomcat t.start(); //阻塞当前线程 System.out.println(Thread.currentThread().getName()); t.getServer().await(); } ``` # 主要组件  ## Server Server 可以理解为 Tomcat 的实例,代表了整个容器,一个 Server 中可以有一个或多个 Service 组件。 ## Service Service 是 Server 内部的中间组件,它将一个或多个 Connector 绑定到一个Engine 上。 ## Connector Connector 是服务端与客户端的通信桥梁。Tomcat 提供了多个连接器。其中包括用于大多数 HTTP 通信的 HTTP Connector,以及将 Tomcat 连接到 web 服务器(如Apache HTTPD 服务器)时使用的 AJP 协议的 AJP Connector。 我们都知道http请求是基于tcp协议的,而将tcp协议分装为http请求就是connector的工作。 ## Engine Engine 代表服务请求处理管道。由于服务可能有多个 Connector 连接器, Engine 负责接收并处理来自这些 Connector 的所有请求,并将响应返回给对应的 Connector,最终返回给客户端。 ## Host Host 代表虚拟主机,一个 Engine 可能包含多个 Host,一个 Host 下又可以部署一个或多个Web App,每个Web App 对应一个 Context。 ## Context Context 代表 web应用程序(Web App),每个 Context 在 Host 中都有一个唯一路径。
回帖
消灭零回复
提交回复
热议榜
java 相关知识分享
8
好的程序员与不好的程序员
6
写给工程师的十条精进原则
5
spring boot以jar包运行配置的logback日志文件没生成
5
一步一步分析SpringBoot启动源码(一)
5
MockMvc测试
5
【吐槽向】是不是有个吐槽的板块比较好玩
4
logstash jdbc同步mysql多表数据到elasticsearch
3
IntelliJ IDEA 优质License Server
3
.gitignore忽略规则
3
SpringBoot启动源码分析
3
一步一步分析SpringBoot启动源码(三)
3
2
一步一步分析SpringBoot启动源码(二)
2
积分不够将无法发表新帖
2
官方产品
Meta-Boot - 基于MCN
MCN - 快速构建SpringBoot应用
微信扫码关注公众号