java上传图片的图片为什么在tomcat下,我想存在项目的upload下

java上传图片的图片为什么在tomcat下,我想存在项目的upload下,我想在获取的绝对地址就是tomcat下,
我用的CommonUpload方法

request.getServletContext().getRealPath("/"); 得到你的项目的部署目录,然后我们可以使用它作为基准点再使用相对目录找到其它目录下去创建你的 upload 子目录,一般我们建议把“数据”放在“程序”所在的目录之外,比如不是直接放在 $tomcat/webapps/myapp/upload 下而是 $tomcat/appdata/myapp/upload 这种目录结构。如果数据不在程序的目录下,以后我们重新部署程序时可以简单地直接把程序目录删除就可以了,数据在另一个地方不受影响。追问

我是想放在项目里,不是tomcat下, 再一个我获得的是tomcat部署的目录,我怎么获取到项目的目录呢

追答

你说的”项目目录“是指什么,在 Eclipse workspace 中的源码的目录 ?如果是这个源码的目录,那是不可能的,我们必须用参数来解决。

Java 中可以通过 System.getProperty("my.data.dir") 这种方式来读取从命令行 java.exe -Dmy.data.dir=C:/abc/data 这样设置的参数,这个时候我们就可以把eclipse 中源码位置当成参数传递给它。在tomcat 设置中(开始菜单》Apache Tomcat ?.0 》Configure Tomcat 中的 JVM 参数中加上 -Dupload.dir=D:/workspace/myapp/upload 这样的参数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-06
配置虚拟路径,和tomcat下的update映射就可以了,在service.xml中加上这句,写在最下面的Context标签上面就行,docBase就是真实的路径,path是虚拟路径,映射tomcat中的update,
注意往数据库存路径和读取路径的时候,加上相应的真实路径,具体说不太清楚,自己试一下就明白了
<Context crossContext="true" docBase="/home/xxx/upload" path="/upload" reloadable="true"/>追问

可以细说一下吗,刚做这,具体技术好不明白

追答

tomcat中的update每次重启数据库的时候,里面的东西都会被清空的,所以映射一个虚拟路径就可以了,就是上面说的那样,在tomcat服务器Service中的service,xml中配置那句话就可以了,原来有一个总结的,这两天U盘坏了,东西全丢了,没办法给你看了,你就按我说的试一试,在数据库中就单独存一个文件名就可以了,在前台页面读取的时候,可以在路径前加一个“/update”就可以了。

本回答被提问者采纳
相似回答