Tomcat是一个开源的servlet/JSP容器,是广泛使用的Java Web应用服务器之一。下面我来整理一下Tomcat的整体结构简单介绍攻略。
目录结构
Tomcat的安装目录结构如下:
* bin // 存放Tomcat的执行脚本和命令
* conf // 配置文件目录
* lib // 存放Tomcat需要的基础类库和JAR包
* logs // 存放Tomcat的日志文件
* webapps // 存放Web应用程序的文件夹。这里是我们开发时最常用到的目录,把开发好的Web应用程序引入到webapps即可
* work // 这个文件夹用来保存Tomcat在运行时JSP编译生成的Servlet文件,它也可以在server.xml作为一个内部标记
* temp // Tomcat配置默认的工作目录(在线Java代码编译的时候使用到)
bin目录:存放启动、关闭Tomcat服务器的脚本和命令。其重要文件有startup.sh(启动Tomcat)、shutdown.sh(关闭Tomcat)等。
conf目录:存放配置文件。主要文件如下:
- server.xml:Tomcat服务器的主要配置文件,定义Tomcat的网络端口,Web应用程序的根目录等。
- web.xml:Web应用程序的部署描述文件,定义Web应用程序的servlet、JSP、过滤器等。
- context.xml:Web应用程序的上下文配置文件,定义Web应用程序特殊的参数(例如JNDI等)
lib目录:存放Tomcat需要的基础类库和JAR包。
logs目录:存放Tomcat的日志文件。主要文件有catalina.out和localhost_access_log.yyyy_mm_dd.txt。
webapps目录:用于存放Web应用程序的文件夹。我们可以准备好WAR包,放到webapps下面启动Tomcat即可自动解压(只有部署方式为自动部署时会解压)。
work目录:用于在运行时储存JSP页面的编译代码以及Servlet类文件。
temp目录:Tomcat配置默认的工作目录。
Tomcat的核心组件
Tomcat的核心组件包括:
- Catalina:Tomcat 的Servlet 容器和 Web 服务器。
- Jasper:Tomcat 的JSP 引擎。
- Coyote:Tomcat 的HTTP 连接器。
- Cluster:Tomcat 的集群服务。
- Tomcat Native:Tomcat 的本地组件,提供用于Tomcat的APR/Native实现。
其中,Coyote是实现 Tomcat 基本功能的核心组织, 是提供 HTTP(S) 访问的组件;而 Catalina 则是继承于 Coyote 之上的业务组件,是实现servlet和JSP规范API的Java类库集合。
示例说明
示例1:修改Tomcat默认端口
在conf/server.xml文件中找到如下两条配置:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
如上所示,Connector标签中的port参数用于设置Tomcat监听的端口号。我们可以把8080端口改成其他的端口号(如9090),并重启Tomcat服务器即可生效:
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
示例2:添加添加新的Web应用程序
我们把项目目录拷贝到Tomcat的webapps目录下,Tomcat会自动帮我们把这个项目进行解压并部署。如果我们要自己手动部署一个Web应用程序,需要创建一个新的目录,然后在该目录中添加Web应用程序工程结构。例如,假设我们把项目拷贝到了/home/projects/myapp目录下,我们可以使用如下命令为Tomcat添加一个新的上下文:
$ cd $CATALINA_HOME/conf/Catalina/localhost
$ sudo vi myapp.xml
在myapp.xml文件中添加一个Context标签,设置docBase属性并保存:
<Context path="/myapp" docBase="/home/projects/myapp" />
以上代码会在http://localhost:8080/myapp路径下显示我们自己的Web应用程序。需要注意的是,这样添加的Web应用程序通常都需要手动启动和停止。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Tomcat整体结构简单介绍 - Python技术站