Tomcat服务器学习和使用二·

一.打包javaWeb应用

在java中,使用"jar"命令来对将javaweb应用打包成一个war包,jar命令的用法如下:

执行完之后,就可得到一个

文件,平时开发完javaweb应用后,一般都会将javaweb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps 目录下,当Tomcat服务器启动时,就会自动将

webapps目录下的war包解压

比如现在将JavaWebDemoProject.war放到Tomcat服务器的webapps目录下

Tomcat服务器启动后会自动"Deploying web application" ,将javawebDemoProject.war这个war文件压缩,如下图所示:

二.Tomcat 的体系结构

Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动时首先会启动一个Server,Server里面就会启动Service,Service里面就会启动多个"Connector(连接器)",

每一个连接器都在等待客户机的连接,当有用户使用浏览器去访问服务器上面的web资源时,首先是连接到Connector(连接器),Connector(连接器)是不处理用户的请求的,

而是将用户的请求交给一个Engine(引擎)去处理,Engine(引擎)接收到请求后就会解析用户想要访问的Host,然后将请求交给相应的Host,Host收到请求后就会解析出用户想要访问这个Host下面的哪一个Web应用,一个web应用对应一个Context

 1<?xml version='1.0' encoding='utf-8'?>
 2 <Server port="8005" shutdown="SHUTDOWN">
 3   <Service name="Catalina">
 4     <Connector port="8080" protocol="HTTP/1.1"
 5                connectionTimeout="20000"
 6                redirectPort="8443" />
 7     <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
 8                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
 9                clientAuth="false" sslProtocol="TLS" 
10                keystoreFile="conf/.keystore" keystorePass="123456"/>
11     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
12     <Engine name="Catalina" defaultHost="localhost">
13 
14       <Host name="localhost"  appBase="webapps"
15             unpackWARs="true" autoDeploy="true">
16         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
17                prefix="localhost_access_log." suffix=".txt"
18                pattern="%h %l %u %t &quot;%r&quot; %s %b" />
19       </Host>
20       <Host name="www.gacl.cn" appBase="F:JavaWebApps">
21         <Context path="" docBase="F:JavaWebAppsJavaWebDemo1"/>
22       </Host>
23 
24     </Engine>
25   </Service>
26 </Server>
原文地址:https://www.cnblogs.com/csli/p/6893535.html