java中的war文件要放在Tomcat哪个目录下可以使用?

Python08

java中的war文件要放在Tomcat哪个目录下可以使用?,第1张

war在哪才能使用,取决于你的配置文件tomcat下会有一个webapp文件夹,这里就是默认的,存放war的路径。如你想更改,那么你打开conf文件夹下的server.xml文件,你会找到这句话:<pre t="code" l="xml"><Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">appBase所指定的就是默认的文件夹路径,这里使用的是相对路径,tomcat会根据自动配置的环境变量来找到自己的安装根目录,然后在加上webapps就是完整路径了。

如果你想把自己的项目放到其它地方,比如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")