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 "%r" %s %b" /> 19 </Host> 20 <Host name="www.gacl.cn" appBase="F:\JavaWebApps"> 21 <Context path="" docBase="F:\JavaWebApps\JavaWebDemo1"/> 22 </Host> 23 24 </Engine> 25 </Service> 26 </Server>