単独でtomcatを起動するのは正常ですが、eclipseではtomcatを正しく起動できない問題の解決


転載は出典を明記してください.http://blog.csdn.net/dongdong9223/article/details/69356378 本文は【私は干物のブログです】から
eclipseを使用してtomcatを起動します.tomcatのconf/server.xmlファイルで起動するシステムのパスを設定し、tomcatのwebappsパスではなく起動するシステムのパスを設定するには、tomcatのconf/server.xmlファイルのServiceクリップにContextクリップを追加する必要があります.注意が必要な点があります.
以前、Tomcatを使用している間に8080ポートがプロジェクトを直接マッピングできないという問題で、eclipseでtomcatを起動する問題に言及しました.また、Tomcatのconf/server.xmlを手動で変更するには、eclipseのserverを削除して再作成する必要があります.conf/server.xmlを変更する際の注意点について説明します.次のような問題があります.
単独でtomcatを起動するのは正常ですが、eclipseではtomcatの問題の解決を正しく起動できません.
問題を解決する方法をまとめると、以下の点が含まれています.
1最初のサービスフラグメントを空白のままにする
tomcatのconf/server.xmlファイルでは、最初のServiceクリップが空である必要があります.一般的には8080ポートですが、もちろん別のポートに変更することもできますが、何も入れずに原形を保つことを保証します.
<Service name="Catalina">

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">


      <Realm className="org.apache.catalina.realm.LockOutRealm">

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

      <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 "%r" %s %b" />

      Host>
    Engine>
  Service>
次のようなContextクリップは追加しないでください.
<Context
            path=""
            docBase="E:\eclipsews\TestProj\WebRoot"
            reloadable="true" >   
        Context>
これらの内容は、起動に成功しません.
2第2のServiceフラグメントにContextフラグメントを追加
起動するContextフラグメントを2番目のServiceフラグメントに追加します(ポート番号の変更を忘れないでください).たとえば:
<Service name="Catalina">

    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">


      <Realm className="org.apache.catalina.realm.LockOutRealm">

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

      <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 "%r" %s %b" />

        <Context
            path=""
            docBase="E:\eclipsews\TestProj\WebRoot"
            reloadable="true" >   
        Context>

      Host>
    Engine>
  Service>
ポートも8081と8010に変更されました.これにより、2番目のServiceクリップに追加されたContextクリップが指すシステムにアクセスできます.
注意1と2はすべてやり遂げてずっと.