如果你想把自己的项目放到其它地方,比如tomcat安装在C盘,项目放到D盘,你可以修改为<pre t="code" l="xml"><Host appBase="D:/myProject/xxx" autoDeploy="true" name="localhost" unpackWARs="true">所以war可以在哪里使用,取决于你的配置路径。
多说一句:Host标签下还有一个Context标签,也是用来指定项目前缀或路径的,当二者都使用绝对路径时,会导致项目被加载2次,需注意。
war包:Java web工程,都是打成war包,进行发布,如果我们的服务器选择TOMCAT等轻量级服务器,一般就打出WAR包进行发布;打成war包的好处是不会缺少目录,并且只管理好一个发布文件就好。另外,容器在部署的时候还有其他一些操作,例如,针对容器的优化之类的。你用了WebSphere就知道和Tomcat不一样了。比如,自动删掉空目录。
我的war包路径/war/WEB-INF/test/foo.txt所以你可以用以下两句话来获取到war包里的文件:
ServletContext context = getContext()
String fullPath = context.getRealPath("/WEB-INF/test/foo.txt")