wangrongjia / JavaWebDemo

0 stars 0 forks source link

tomcat #1

Open wangrongjia opened 5 years ago

wangrongjia commented 5 years ago

tomcat

ver 8.5.15

 Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动Service,Service里面就会启动多个"Connector(连接器)",每一个连接器都在等待客户机的连接,当有用户使用浏览器去访问服务器上面的web资源时,首先是连接到Connector(连接器),Connector(连接器)是不处理用户的请求的,而是将用户的请求交给一个Engine(引擎)去处理,Engine(引擎)接收到请求后就会解析用户想要访问的Host,然后将请求交给相应的Host,Host收到请求后就会解析出用户想要访问这个Host下面的哪一个Web应用,一个web应用对应一个Context

简化的server.xml:

 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:\JavaWebApps\JavaWebDemo1"/>
22       </Host>
23 
24     </Engine>
25   </Service>
26 </Server>

虚拟目录的映射方式

1. 配置host元素(重启tomcat,不推荐)

host标签:

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

添加Context标签:

<Context path="/JavaWebApp" docBase="D:\JavaWebDemoProject" />

docBase目录下放一个index.html

重启tomcat,访问 http://localhost:8080/JavaWebApp

2. webapps路径下自动映射

标默认的属性 >`appbase=webapps` :web项目路径 >`''unpackWARs="true"`:自动解压war包 >`autoDeploy="true"`:自动部署路径下的项目 将JavaWebDemoProject路径拷贝到webapps下,不需要配置,自动映射 ### 3. conf/Catalina/localhost目录下自定义配置文件 目录下添加`path1.xml` ```xml ``` 不需要重启tomcat,访问[http://localhost:8080/path1](http://localhost:8080/path1) ## 添加自己的Host `server.xml`中 添加 ```xml

`C:\Windows\System32\drivers\etc`路径下 修改`hosts`文件添加

127.0.0.1 xixi


重启tomcat,访问[xixi:8080/JavaWebApp](xixi:8080/JavaWebApp)

参考: [https://www.cnblogs.com/xdp-gacl/category/574705.html](https://www.cnblogs.com/xdp-gacl/category/574705.html)