Tomcat学习与使用
一. Tomcat安装及配置
二.项目部署(虚拟目录映射)
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
虚拟目录的映射方式一:在server.xml文件的host元素中配置(高版本Tomcat不建议用)
找到server.xml文件的host元素,如下图所示:
在<Host></Host>这对标签加上<Context path="/JavaWebApp" docBase="F:JavaWebDemoProject" />即可将在F盘下的JavaWebDemoProject这个JavaWeb应用映射到JavaWebApp这个虚拟目录上,JavaWebApp这个虚拟目录是由Tomcat服务器管理的,JavaWebApp是一个硬盘上不存在的目录,是我们自己随便写的一个目录,也就是虚拟的一个目录,所以称之为"虚拟目录",
<Context path="/JavaWebApp" docBase="F:JavaWebDemoProject" />
其中,Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性,
Ⅰ.path:用来配置虚似目录,必须以"/"开头。
Ⅱ.docBase:配置此虚似目录对应着硬盘上的Web应用所在目录。
虚拟目录的映射方式二:让tomcat服务器自动映射
即将项目文件放到webapps下
虚拟目录的映射方式三:定义xml
在tomcat服务器的confCatalinalocalhost目录下新建一个xml文件,其名称就是context元素的path属性,
在xml文件中添加Context元素映射JavaWeb应用,代码如下:
1 <Context docBase="F:JavaWebDemoProject" />
三.打包javaweb应用
在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录下,当Tomcat服务器启动时,就会自动将webapps目录下的war包解压。
比如现在将放到放到Tomcat服务器的webapps目录下
Tomcat服务器启动后会自动"Deploying web application",将这个war文件解压缩,如下图所示:
四、Tomcat的体系结构
Tomcat服务器的启动是基于一个server.xml文件的
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> //启动server <Service name="Catalina"> //启动service <Connector port="8080" protocol="HTTP/1.1" //多个Connector等待连接 connectionTimeout="20000" redirectPort="8443" /> <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="123456"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> //将用户请求交给引擎处理 <Host name="localhost" appBase="webapps" //引擎解析出想访问的host后交其处理 unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> <Host name="www.gacl.cn" appBase="F:JavaWebApps"> //host解析出用户想访问的web应用,一个应用对应一个context <Context path="" docBase="F:JavaWebAppsJavaWebDemo1"/> </Host> </Engine> </Service> </Server>
五.互联网上的加密原理
Tomcat的connector分为加密连接器http连接与非加密连接器https连接。默认8080端口为非加密连接器
拓展:对称加密与非对称加密,对称加密即加密解密使用相同的加密算法,非对称加密即加密解密密钥不同