tomcat 结构分析

本文详细介绍了Tomcat服务器的组成结构,包括Service、Connector与Container的核心概念,讲解了如何修改访问端口,以及三种部署项目的方法。深入理解Tomcat架构,掌握端口配置与项目部署技巧。

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

Tomcat

掌握:

  • Tomcat主要组成。
  • 修改Tomcat项目访问端口。
  • 通过Tomcat部署项目的三种方法。

 

Tomcat的主要组成结构可以参考Tomcat的配置文件$TOMCAT_HOME/conf/server.xml,里面包含各层级结构和相关配置。

Tomcat是web服务器的一种,一个Tomcat就是一个Server服务,里面可以有多个Service服务,每个Service服务主要由Connector与Container组成,同一个Service可以有多个不同种类的Connector(一个服务可以有多种连接,如同时提供Http和Https链接)。Service里面还有Jasper(负责将解析jsp),Session等其他模块。

Connector

 

Connector设置了访问端口,超时时间等配置,默认端口为8080,使用ProtocolHandler来处理请求的,ProtocolHandler由包含了三个部件:Endpoint、Processor、Adapter。

Endpoint用来处理底层Socket的网络连接(ServerSocket,TCP/IP),Processor用于将Endpoint接收到的Socket封装成Request(HTTP),Adapter用于将Request交给Container进行具体的处理。

Container

 

Host设置了访问域名,项目所在目录等配置,默认的域名配置是localhost,目录是webapps。web应用通过web.xml配置访问映射,以责任链的形式执行。

 一个Service配置多个Host:同个端口下配置多个虚拟主机,用不同的域名(localhost也是域名来着),项目放在不同的目录下

 一个Tomcat配置多个Service:同时使用不同的端口提供服务(通常会直接使用多个Tomcat,而不是通过配置多个Service)


修改端口

1、修改Shutdown端口,默认为8005端口,将8005修改为没有在使用的端口号。

  <Server port="8005" shutdown="SHUTDOWN" debug="0"> 

2、修改http访问端口,默认为8080端口,将8080修改为没有在使用的端口号。当用户用http请求某个资源,而该资源本身又被设置了必须要https方式访问,此时Tomcat会自动重定向到redirectPort设置的https端口。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

3、修改AJP协议访问端口,默认为8009端口,将8009修改为没有在使用的端口号。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


部署项目

1、项目直接放入 webapps 目录中

  • 将编写并编译好的web项目(注意要是编译好的,如果是 eclipse,可以将项目打成 war 包放入),放入到 webapps 中
  • 运行$TOMCAT_HOME\bin 目录下的 startup,Windows下文bat文件,Linux下为sh文件,启动服务器
  • 在浏览器输入:http://localhost:8080/项目名/访问的文件名

2、修改 conf/server.xml 文件 

打开tomcat下conf/server.xml,在<Host> </Host>标签之间输入项目配置信息(Context元素),<Context path="/WebProject" docBase="D:/WebProject" reloadable="true" />,最后通过startup启动Tomcat。

  • docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。其实也就是编译后的项目
  • path:浏览器访问时的路径名
  • reloadble:设定项目有改动时,tomcat是否重新加载该项目

3、$TOMCAT_HOME\conf\Catalina\localhost配置

  • 进入到 apache-tomcat-7.0.52\conf\Catalina\localhost 目录,新建一个 项目名.xml 文件
  • 在 那个新建的 xml 文件中,增加下面配置语句(和第二种方式是一样的,但是不需要 path 配置,文件名就是项目名了)
  • 通过startup启动Tomcat

参考文章:

四张图带你了解Tomcat系统架构:https://blog.youkuaiyun.com/qq_38245537/article/details/79009448

Tomcat 端口配置,及原理详解:https://www.cnblogs.com/jobs-lgy/p/8136331.html

Tomcat中redirectPort的作用:https://blog.youkuaiyun.com/catoop/article/details/79510414

Tomcat 部署项目的三种方法:https://www.cnblogs.com/ysocean/p/6893446.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值