Tomcat通过/访问项目

Tomcat通过/访问项目,Tomcat通过域名加端口访问项目。

网上看到好多都说是在 server.xml 文件中添加 <Context 标签 ,我试了,但是会有一个问题就是项目会重启两遍!

我觉得有必要记录一下搞清楚。

首先我们看下server.xml 加载项目路径的地方

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

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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>

appBase 指定的 webapps目录 就是tomcat 启动的时候会去这个目录下加载项目。这个目录是默认的

网上在家给出的 通过 / 访问项目 用的是下面这种配置

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">			
		<Context path="" docBase ="webShop" reloadable="true" />        
      </Host>

我是这么写的

      <Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true">
			
			<Context docBase="../check" path="/"/>

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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>

标签用的都一样,无非就是 docBase 这个属性到底怎么配置,为什么我配置的一样就可以呢?

先说一下第一种配置会有一个什么问题产生,项目会启动两次,原因就在于把项目 放在 webapps 目录下,(启动一次)
Context 标签又配置了一次,所以会启动两次,所以我的选择是,把项目放在了webapps 上一层目录。这样子,就避免了默认启动的时候启动一次。

还有一种方法:
把你的项目放在 webapps/ROOT目录里面 这种方式也是可以的。
需要提醒的是,是把项目里面的文件放到ROOT 目录里面 ,ROOT目录原本的东西可以都删了。
一般是这个样子的效果:

ROOT -META-INF
	 -WEB-INF
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值