应用重新发布部署后,原本其中非 war 中的文件和目录都会被删除!
解决方案:
在 sever.xml 中的 Context 中建一个虚拟路径,指定到服务器硬盘中的其他位置,比如放在 d: 的某个目录下。
同时可以将这个路径映射成为你当前工程名后面带个目录,比如说 /news/resource。
<Context path="/news/resource" docBase="d:/yyyy" />
如果访问 http://localhost:8080/news/resource/xxxx.html 的话,实际上是访问 d:/yyyy/xxxx.html 中的内容。
这样的话,就算应用重新部署与已经生成的静态文件没有丝毫的关系。
今后上传的话,这些文件都上传到 Context 配置的 docBase 目录中去。这个目录可以建在服务器的任何位置上。