0%

tomcat

tomcat目录结构

web项目发布到Tomcat的三种常用方式

  • 将web项目直接放到tomcat的webapps目录下,tomcat会根据文件夹名称自动生成虚拟路径。
    这种方式在开发中经常用到,一般有集成开发工具自动帮助我们将项目发布到webapps目录下。

  • 在conf目录下创建Catalina目录,在此目录下新建localhost目录在localhost目录下新建xx.xml(建议xml的名字与项目名对应,当多个项目存在时,方便查找。)该xml基本配置如下:

      <#我是占位符#Context path="/项目名" docBase="E:/xxxx/projectName" reloadable="true" />
      
      path:指定访问该Web应用的URL入口。 
      
      docBase 是项目实际路径,这里一般写一个绝对的磁盘路径,当然也可以写相对路径,
      相对路径是相对于tomcat安装目录的webapps目录的,通常设置虚拟目录的目的
      是将tomcat的安装和项目的保存分开,所以这里建议你使用磁盘绝对路径,并且
      这个磁盘路径不是在tomcat安装目录下。
      
      workDir 是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,
      设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析
      
      reloadable 如果这个属性设为true,tomcat服务器在运行状态下会监视在
      WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class
      文件被更新的,服务器会自动重新加载Web应用。
    
  • 配置tomcat 安装目录下的conf/server.xml

      <Host name="loaclhost">标签里面添加  
      <Context path="/aaaa" docBase="C:\AAAA\BBBB" />  
    

eclipse的tomcat插件

插件安装

  • 解压安装

      将下载的文件解压,放到eclipse的plugins目录下,再在eclipse的Preferences>tomcat配置即可。
    

tomcat的三个端口

8005

  • 8005端口

      <Server port="8005" shutdown="SHUTDOWN">
      
      关闭tomcat通信接口
    

8009

  • 8009端口

      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
      
      与其他http服务器通信接口,用于http服务器集合
    

8080

  • 8080端口

      <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
      
      建立http连接 用,如浏览器访问
    

同一台服务器多个tomcat

  • 同一台服务器N个tomcat
      每个Tomcat需要上门一套端口。
      如果多个Tomcat安装在同一台操作系统上,需要分配N组3个端口,共N*3个不同的端口。
      否则报错:
      java.net.BindException: Address already in use: JVM_Bind
          
      java.lang.Exception: Socket bind failed    
    

war包tomcat发布到webapps目录下直接访问(无须加项目名)

  • conf/server.xml下增加
1
2
3
4
5
6
7
8
9
10
11
  <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" />

#指定war包名称
<Context path="" docBase="projectName" debug="0" reloadable="true"/>

</Host>

增加配置后把projectName.war放到webapps,tomcat会自动将war包解压到webapps名为projectName文件夹。

原先的访问路径localhost:8080/projectName,现在只需localhost:8080即可访问。