tomcat 修改项目发布路径

本文介绍了如何修改Tomcat的默认发布路径,以避免影响默认项目。提供了两种方法:直接修改<Host>标签的appBase属性,或者在<Host>下添加<Context>标签来指定新的项目路径。同时详细解释了appBase、unpackWARs、autoDeploy等属性的作用以及AccessLogValve的日志记录配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tomcat默认的而发布路径为 tomcat/webapps/,但是如果这个目录下有一些默认的项目,在tomcat启动的时候会跟着一起加载。如果不想删除这些项目,可以把tomcat发布的路径修改到其他地方。

那么怎么修改呢? 找到conf/server.xml 在里面找到<Host>标签

<Server>
   <Service>         
       <Engine  name="Catalina" defaultHost="localhost"> 
            ##  Engine组件在Service组件中有且只有一个;Engine是Service组件中的请求处理组件。
            ##  Engine组件从一个或多个Connector中接收请求并处理,并将完成的响应返回给Connector,最终传递给客户端。
       <Host name="localhost">
             ## Host是Engine的子容器。Engine组件中可以内嵌1个或多个Host组件,每个Host组件代表Engine中的一个虚拟主机。
             ## Host组件至少有一个,且其中一个的name必须与Engine组件的defaultHost属性相匹配。
             <Host name="localhost"      appBase="webapps"  unpackWARs="true" autoDeploy="true">
               ##  appBase="webapps"        appBase属性指定Web应用所在的目录,默认值是webapps 这是一个相对路径,代表Tomcat根目录下webapps文件夹  ,  这里可以用相对路径,也可以用绝对路径 
              ##   unpackWARs="true"        unpackWARs 为是否自动解压war文件,如果设置为true,表示把war文件先展开再运行。  如果为false则直接运行war文件 
               ##   autoDeploy="true"      autoDeploy,默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用
               <Valve>
               ##  Valve放在Host下,便可以记录该Host处理的所有请求
                 
              <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" />
                 ##  className:规定了Valve的类型,是最重要的属性,  AccessLogValve对象的作用是通过日志记录其所在的容器中处理的所有请求
                 ##  directory:指定日志存储的位置,本例中,日志存储在$TOMCAT_HOME/logs目录下

               ##     prefix:指定了日志文件的前缀。    suffix:指定了日志文件的后缀

               ##    pattern:指定记录日志的格式                 
        </Host>
        
        讲了这么多还是没有讲到重点,我们怎么修改自己的项目路径,有两种方法
        1、直接修改<Host>的属性   appBase="E:\\jetty"  简单粗暴
        2、如果这么简单粗暴的修改,可以在<Host>下面加上这句即可 
        <Context path="" docBase="E:\\jetty" reloadable="true"/>  不破坏原有结构,可以两个并存
        ##   path代表用浏览器访问的时候的的路径,如http://localhost:8080/web来访问path=”/web”  如果不写就是根路径,你 webapps/ROOT里面就无法访问
       ##    docBase为你的项目的路径,这里同样既可以用相对路径,也可以用绝对路径。设置好了之后就会把项目自动映射到ROOT
       ##    reload able,如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用
        
        
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值