要说这是个小问题,但是对于公司新进的一套系统,没想到虚拟目录配置的方式不同,结果也不一样。
开发商那里,是在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里面,有点二级目录的意思。
先备忘下,以后有空处理。