要说这是个小问题,但是对于公司新进的一套系统,没想到虚拟目录配置的方式不同,结果也不一样。
开发商那里,是在server.xml里面配置host方式,才配置虚拟目录。我用的是在conf/Catalina/localhost下建立一个xml文件,用于主目录或者虚拟目录,而不需要去修改server.xml。
先备忘一下配置方式:
1.使用server.xml配置host
server.xml里面大概是:
<
Host
name
="myurl"
appBase
="D:\works\MyApp\WebContent"
unpackWARs
="true"
autoDeploy
="true"
>
<
Context
path
=""
docBase
="D:\works\MyApp\WebContent"
debug
="0"
/>
</
Host
>
这样配置后,myurl就和tomcat默认的localhost一样。不过,这就需要在电脑c:\windows\system32\driver\etc里面,来修改一下host,这个比较重要,加上一行 “127.0.0.1 myurl”。
然后就是直接访问:myurl:8080,就和localhost:8080原理一样了。
这种比较接近网站发布后的场景,所以基本没问题。我用的是下面的方式。
2.使用单独的xml文件配置虚拟目录。
在conf/Catalina/localhost下建立一个xml文件,这个代码大概:
<?
xml version='1.0' encoding='utf-8'
?>
<
Context
path
="/test"
docBase
="D:/works/test"
reloadable
="true"
crossContext
="true"
/>
这个xml文件,名字就要和path一样,test.xml。 然后tomcat的web.xml里面listen一项改为true。
这个会产生问题,用户注册的时候,某些验证的返回值找不到。可能是项目太复杂,这个test是在localhost里面,有点二级目录的意思。
先备忘下,以后有空处理。

