Tomcat 初次学习的一些总结

本文介绍了Apache Tomcat服务器的基本架构及其工作流程。包括Tomcat的目录结构、关键组件如Server、Service、Connector、Engine、Host及Context的作用,以及Tomcat如何处理HTTP请求的具体过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 目录:
     bin:存放启动程序bootswrap和shutdown; bootswrap中有main方法
     lib:存放tomcat启动执行需要的jar包,jsper、i18n、servlet……
    conf: 配置文件
         server.xml:定义tomcat的配置;
               service:port,定义tomcat服务端口,并用此端口监听shutdown
               connector: port:指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
               Engine为localhost
         web.xml:定义web的配置;welcome-page、error-page、filter、sesson-timeout
         catalina.properties:定义各个加载器需要加载的jar
                common-Loader:
                server.Loader:
                shared.Loader: 
    logs:记录日志的地方
    webApps: 存放部署在tomcat中的web应用
    work: tomcat的工作目录,存放jsp编译后产生的class文件 
二、Tomcat的组成:
1. Server:Singleton: 代表一个服务容器
2. Service:是一个集合,包含一个或者多个Connector和一个Engine
3. Connector:一个Connector在制定端口上监听客户请求
      Coyote Http/1.1 Connector 在端口8080处侦听来自客户browser的http请求
      Coyote JK2 Connector 在端口8009处侦听来自其它WebServer(Apache)的 servlet/jsp代理请求
4. Engine:Engine下可以配置多个虚拟主机VirtualHost,当Engine获得一个请求时,它把该请求匹配到某个       Host上,然后把该请求交给该Host来处理, 同时还有个Default Host
5. Host:代表一个虚拟主机,每个虚拟主机上可以有多个WebApp,每一个App有一个Context
6. Context: 代表一个WebApp;每个webApp由多个Servlet组成

  当Context获得请求时,将在自己的映射表(mappingtable)中寻找相匹配的Servlet类

三、Tomcat工作原理:
1. 启动tomcat,初始化一些参数后,会在8080端口进行监听http请求;
 初始化类加载器,通过bootswrap中main方法;
查找server.xml中的web apps,并找到对应的web.xml,依次初始化Filter、Listener和servlet的mapping table
-------------------------------------------------------------------------------------------------------------------------------------------
Tomcat处理http请求:http://localhost:8080/wsota/wsota_index.jsp
1. 请求被发送到本地8080端口,被tomcat中Coyote HTTP/1.1 Connector获得监听到;
2. Connector把请求交给它所在的Service中的Engine处理,并等待Engine回应
3. Engine获得该jsp请求,去匹配它所有的虚拟主机host
4. Engine找到给虚拟主机并处理,如果找不到,交给Default Host
5. localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context
6. Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)
7. path="/wsota"的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet
8. Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
9. 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
10. 之后就是Servlet的事情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值