1<Host name="www.xxx.com" appBase="webapps" unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false">
2 <Context path="" docBase="/usr/local/tomcat/webapps/object1/" debug="0" reloadable="true" crossContext="true">
1中的appBase="webapps" 我删除以后,启动tomcat发现也没有错误。但是我在1中设置路径/usr/local/tomcat/webapps/object2/ 同时设置path="/roottest"
    然后用http://localhost:8080/roottest访问却访问不了总提示404我的路径都是没问题的啊
    因为,我如果把这个设置,设置到二里面,的话就可以访问。我不知道在系统运行得时候是不是一般都把1中的appBase="webapps" 删除啊不知道1中的appBase="webapps",是指tomcat当前目录下的webapps目录吗?可以在1中配置path吗?可以通过配置的path访问应用吗?
应该怎么做啊谢谢啊

解决方案 »

  1.   

          <Host name="www.test2.com" appBase="/home/waterborn/hosts/test2/" unpackWARs="true" autoDeploy="true"            xmlValidation="false" xmlNamespaceAware="false">   
             <Context docBase="." path="" reloadable="true" />   
          </Host>可以通过appBase 配置来访问, 也可以配置docBase
      

  2.   

    1个Host 总得有/ 吧,这个就是在 <Host 里面设置
    而你又想把它改成 /roottest那么这个到底是 / 还是 /roottest 呢!所以,如果你要设置/ 就在 <Host 设置
    如果你要设置虚拟目录,就在 <Context 里面设置
      

  3.   

    当然是/roottest我主要想知道
    appBase="..."
     docBase="..."
    的区别和关系
      

  4.   

    <Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>
    这个才是真正的 / 的地址,那个 ROOT 就代表
    \tomcat\webapps\ROOT所以,那个 host 路经,只用于那些 war 方式发布的时候用的。
      

  5.   

    你把war文件复制到 appBase, 就会被自动部署的!
      

  6.   

    这个我明白可是我
    一、appBase="path" docBase="path"
    这两个写一样的时候 ,总是提示这个
    java.lang.IllegalArgumentException: Document base /usr/local/tomcat/./host-manager does not exist or is not a readable 
    directory
    host-manager这个目录已经被我删除啊!二、appBase="path" ,docBase="."
    如果我这样写 还是提示同样错误!三、如果我删除appBase,docBase="path"  还是提示同样错误!四、如果我appBase="webapps" docBase="path" 就不会报任何错误可是我把全部的项目都放在了webapps目录下,所以如果这样设置导致,进入任何一个项目
    ,只要写正确目录结构都可以进入其他的项目,
    不知道怎么解决啊!希望得到帮助啊55
      

  7.   

    怎么会是一个呢!
    1 appBase 下面可以有好多的 docBase
    你打开 tomcat/webapps 就看到了,好多目录的
    2 docBase 只是其中一个context的目录,
    所以是 tomcat/webapps/ROOT3 那 /examples 呢
    是 tomcat/webapps/examples 啦!
      

  8.   

    appBase 是默认的应用路径,他下面的每个子目录都是一个 context.
    当然,其中的一个可以指定为 /, 也就是那个ROOT,
    你不管它也可以你把 tomcat/webapps 下面的所有子目录全部删除, tomcat照样可以启动
    然后你把 context path="" docBase 指定到 其它目录
    127.0.0.1 就可以用了,而且是你指定的目录内容。