tomcat中context配置

举报
SHQ5785 发表于 2022/09/12 08:53:27 2022/09/12
【摘要】 tomcat中<context> docBase属性是什么意思?元素属性介绍:path:指定访问该Web应用的URL入口。 docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。(指定项目所在地址) reloadable:如果这个...

tomcat中<context> docBase属性是什么意思?

元素属性介绍:

  • path:指定访问该Web应用的URL入口。 

  • docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。(指定项目所在地址) 

  • reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classesWEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。


当我们开发完一个Web应用后,我们需要将该应用发布到Web Server中,以便其他用户可以访问。在JAVA的WEB开发领域,我们通常使用TOMCAT作为我们的WEB服务器进行测试或正式部署。


一般我们将WEB应用打包成WAR格式,然后拷贝到TOMCAT的WEBAPP目录下进行发布,在正常情况下,TOMCAT将自动解压WAR文件并生成对应的目录,而且会在内存中动态创建该WEB应用对应的CONTEXT路径。比如我们的WAR文件是Sample.war,那么解压后的目录就是Sample目录,在内存中动态创建的Context路径就是/Sample。在开发阶段这样的默认行为是可以接受的,但是在正式部署的情况下,我们通常需要修改应用的Context路径以适应我们的需要。


如果我们想让用户仅仅输入域名来访问我们的Sample应用,我们就需要修改Tomcat的Context设置。具体如何设置Context路径的方式有两种,一种是修改{TOMCAT_HOME}/conf/server.xml文件,另一种是建立一个Context片段文件放在webapps目录下。我们这里介绍第一种方式。


使用任何文本编辑器打开server.xml文件,在<Host>节点下增加<Context>节点,并设置path,docBase,debug和reloadable属性,如下:

<?xml version="1.0" encoding="UTF-8"?>

<Server>

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>

  <GlobalNamingResources>

    <Environment

      name="simpleValue"

      type="java.lang.Integer"

      value="30"/>

    <Resource

      auth="Container"

      description="User database that can be updated and saved"

      name="UserDatabase"

      type="org.apache.catalina.UserDatabase"

      pathname="conf/tomcat-users.xml"

      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"/>

  </GlobalNamingResources>

  <Service

      name="Catalina">

    <Connector

        port="8080"

        redirectPort="8443"

        minSpareThreads="25"

        connectionTimeout="20000"

        maxSpareThreads="75"

        maxThreads="150"

        maxHttpHeaderSize="8192">

    </Connector>

    <Connector

        port="8009"

        redirectPort="8443"

        protocol="AJP/1.3">

    </Connector>

    <Engine

        defaultHost="localhost"

        name="Catalina">

      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>

      <Host

          appBase="webapps"

          name="localhost">

        <Context

            path="/samples">

          <WatchedResource>WEB-INF/web.xml</WatchedResource>

        </Context>

        <Context

            path="/profiler">

          <WatchedResource>WEB-INF/web.xml</WatchedResource>

        </Context>

        <Context

            path="/flex">

          <WatchedResource>WEB-INF/web.xml</WatchedResource>

        </Context>

        <!-- 配置直接通过域名访问/Samples应用 -->

        <Context path="" docBase="/samples" debug="0" reloadable="true">

        </Context>

      </Host>

    </Engine>

  </Service>

</Server>



【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。