轉自http://hi.baidu.com/zml525/blog/item/59a3a277ed10ba19b051b957.html

1.C:\WINDOWS\system32\drivers\etc下的hosts文件
  

加入域名解析相關的東西,比如:
   127.0.0.1        localhost
   127.0.0.1        test.001m.cn
   127.0.0.1        www.001m.cn
   如果在實戰中,前邊的127.0.0.1換作公有IP地址

2.Tomcat 5.0\conf下的server.xml文件
  

(2.1)
     修改端口號(默認為8080,現改為80):
     <!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified    during installation   -->
     <Connector port="80"    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                debug="0" connectionTimeout="20000"
                disableUploadTimeout="true" />

    (2.2)
        添加發布文件夾,并為每個文件夾指定要綁定的域名:
        因為想要實現,在發布文件夾根目錄下發布項目,所以,一個文件夾只能發布一個項目,所以,要指定不同的文件夾。
        在<Host name=" 此處是要綁定的域名 " debug="0"   appBase=" 此處是發布目錄 "
          unpackWARs="true" autoDeploy="true"      xmlValidation="false" xmlNamespaceAware="false">
        如果要建多個發布目錄,可以在<Host name.....></Host> 的前邊再加上一個<Host name....></Host>

    (2.3)
       在前邊的工作做好之后,啟動服務器,就會發現,Tomcat 5.0\conf\Catalina下多了幾個文件夾,文件夾名就是你前邊<Host..>
       </Host>中存在的發布文件夾的名字。然后,把相應的配置文件*.xml放在對應的Tomcat 5.0\conf\Catalina里的文件夾里。
       而且讓他們的路徑是根目錄下,這樣訪問時就可以直接打綁定好的域名訪問了。比如:
       <Context path="" reloadable="true" docBase="hnnj">
      <Resource name="jdbc/hnnj" auth="Container" type="javax.sql.DataSource"/>
      <ResourceParams name="jdbc/hnnj">
     
3.好啦,一切問題就解決了。好爽啊!
補:127.0.0.1        test.001m.cn這里的域名要和<Host name=" 此處是要綁定的域名 "..>這里的域名一致,否則
     也不會在Tomcat 5.0\conf\Catalina下生成文件夾,就不會達到既定目標了。呵呵!

4.附錄:
   (4.1)
      C:\WINDOWS\system32\drivers\etc下的hosts文件,內容格式為:IP地址    域名
      例如:  
      202.102.240.91    web.nyist.net
   (4.2)
      Tomcat 5.0\conf下的server.xml文件,內容基本為:(注:server.xml里的一些注釋我給省去了
      <!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
      parent-child relationships with each other -->

<!-- A "Server" is a singleton element that represents the entire JVM,
      which may contain one or more "Service" instances.   The Server
      listens for a shutdown command on the indicated port.

      Note:   A "Server" is not itself a "Container", so you may not
      define subcomponents such as "Valves" or "Loggers" at this level.
-->

<Server port="8005" shutdown="SHUTDOWN" debug="0">


   <!-- Comment these entries out to disable JMX MBeans support -->
   <!-- You may also configure custom components (e.g. Valves/Realms) by
        including your own mbean-descriptor file(s), and setting the
        "descriptors" attribute to point to a ';' seperated list of paths
        (in the ClassLoader sense) of files to add to the default list.
        e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
   -->
   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
             debug="0"/>
   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
             debug="0"/>

   <!-- Global JNDI resources -->
   <GlobalNamingResources>

     <!-- Test entry for demonstration purposes -->
     <Environment name="simpleValue" type="java.lang.Integer" value="30"/>

     <!-- Editable user database that can also be used by
          UserDatabaseRealm to authenticate users -->
     <Resource name="UserDatabase" auth="Container"
               type="org.apache.catalina.UserDatabase"
        description="User database that can be updated and saved">
     </Resource>
     <ResourceParams name="UserDatabase">
       <parameter>
         <name>factory</name>
         <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
       </parameter>
       <parameter>
         <name>pathname</name>
         <value>conf/tomcat-users.xml</value>
       </parameter>
     </ResourceParams>

   </GlobalNamingResources>

   <!-- A "Service" is a collection of one or more "Connectors" that share
        a single "Container" (and therefore the web applications visible
        within that Container).   Normally, that Container is an "Engine",
        but this is not required.

        Note:   A "Service" is not itself a "Container", so you may not
        define subcomponents such as "Valves" or "Loggers" at this level.
    -->

   <!-- Define the Tomcat Stand-Alone Service -->
   <Service name="Catalina">

     <!-- A "Connector" represents an endpoint by which requests are received
          and responses are returned.   Each Connector passes requests on to the
          associated "Container" (normally an Engine) for processing.

          By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
          You can also enable an SSL HTTP/1.1 Connector on port 8443 by
          following the instructions below and uncommenting the second Connector
          entry.   SSL support requires the following steps (see the SSL Config
          HOWTO in the Tomcat 5 documentation bundle for more detailed
          instructions):
          * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
            later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
          * Execute:
              %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
              $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA   (Unix)
            with a password value of "changeit" for both the certificate and
            the keystore itself.

          By default, DNS lookups are enabled when a web application calls
          request.getRemoteHost().   This can have an adverse impact on
          performance, so you can disable it by setting the
          "enableLookups" attribute to "false".   When DNS lookups are disabled,
          request.getRemoteHost() will return the String version of the
          IP address of the remote client.
     -->

     <!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified
          during installation   -->
     <Connector port="80"                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                debug="0" connectionTimeout="20000"
                disableUploadTimeout="true" />
     <!-- Note : To disable connection timeouts, set connectionTimeout value
      to 0 -->

<!-- Note : To use gzip compression you could set the following properties :

       compression="on"
       compressionMinSize="2048"
       noCompressionUserAgents="gozilla, traviata"
       compressableMimeType="text/html,text/xml"
-->

     <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
     <!--
     <Connector port="8443"
                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" disableUploadTimeout="true"
                acceptCount="100" debug="0" scheme="https" secure="true"
                clientAuth="false" sslProtocol="TLS" />
     -->

     <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
     <Connector port="8009"
                enableLookups="false" redirectPort="8443" debug="0"
                protocol="AJP/1.3" />

     <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
     <!-- See proxy documentation for more information about using this. -->
     <!--
     <Connector port="8082"
                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false"
                acceptCount="100" debug="0" connectionTimeout="20000"
                proxyPort="80" disableUploadTimeout="true" />
     -->

        
     <!-- Define the top level container in our container hierarchy -->
     <Engine name="Catalina" defaultHost="localhost" debug="0">



       <Logger className="org.apache.catalina.logger.FileLogger"
               prefix="catalina_log." suffix=".txt"
               timestamp="true"/>


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

      <Host name="www.001m.cn" debug="0" appBase="test"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
      </Host>

      <Host name="test.001m.cn" debug="0" appBase="webapps"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
    
         <Logger className="org.apache.catalina.logger.FileLogger"
                  directory="logs"   prefix="localhost_log." suffix=".txt"
             timestamp="true"/>

       </Host>

     </Engine>

   </Service>

</Server>
      (4.3)
        現在文件夾的結構是:
        Tomcat-->bin\common\conf\logs\server\work\temp\sharedwebapps\test;
        conf-->Catalina-->test.001m.cn\www.001m.cn;
        test.001m.cn-->hnnj.xml;
        www.001m.cn-->hnnj_test.xml
        test-->hnnj_test;
        webapps-->hnnj;
        其中,hnnj和hnnj_test是項目目錄;test和webapps是發布目錄;