Tomcatでserver.xmlのContextの構成


Webアプリケーションを開発した後、他のユーザーがアクセスできるように、アプリケーションをWebサーバにパブリッシュする必要があります.JAVAのWEB開発分野では、通常TOMCATをWEBサーバとしてテストまたは正式に導入しています.
一般的に、WEBアプリケーションをWAR形式にパッケージ化し、TOMCATのWEBAPPディレクトリにコピーしてパブリッシュします.通常、TOMCATはWARファイルを自動的に解凍して対応するディレクトリを生成し、メモリにこのWEBアプリケーションに対応するCONTEXTパスを動的に作成します.例えばWARファイルはSampleですwar,では解凍したディレクトリがSampleディレクトリであり,メモリに動的に作成されたContextパスが/Sumpleである.開発段階ではこのようなデフォルトの動作は許容できますが、正式な導入の場合、アプリケーションのContextパスを変更してニーズに適応する必要があります.
ユーザーにドメイン名だけを入力してSampleアプリケーションにアクセスさせるには、TomcatのContext設定を変更する必要があります.具体的にContextパスを設定方法は、{TOMCAT_HOME}/conf/serverを修正する2つある.xmlファイル、もう1つはContextクリップファイルをwebappsディレクトリの下に配置することです.ここでは最初の方法を紹介します.
任意のテキストエディタを使用してserverを開きます.xmlファイル、ノードの下にノードを追加し、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>