各位大哥,小弟我正在做一个上传图片的项目,是把图片上传到workspace里的项目里呢还是传到tomcat webapps里呢?workspace的路径为C:\Users\Ladrian\Workspaces\MyEclipse 8.5\uploadImg\WebRoot\upload  
tomcat webapps路径为:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\uploadImg\upload另外,在数据库存储 图片路径 是怎么存呢? 求大哥,大姐些指导,感激不尽

解决方案 »

  1.   

    数据库存相对路径 例如 /upload/a.jpg
    写到服务器时用 ServletContext.getRealPath("/")//方法名可能不对大概就是这么几个单词   得到tomcat的绝对路径然后写到相应的文件夹里
      

  2.   

    放哪儿看你个人意愿了,
    我的话就把图片上传到workspace里用绝对路径进行保存
      

  3.   

    万一哪天我Redeploy一下项目,保存到webapps\uploadImg  这个项目的图片会不会没有了?
      

  4.   

    放workspace里,那要用图片不是要给绝对路径?这样扩展性有没问题啊?
      

  5.   


    不要Redeploy   实际开发是不允许Redeploy的
      

  6.   

    放在workspace里?真不知道这人做过实际开发没有,又是瞎说的
      

  7.   

    谢谢提示,如果我用freeMarker生成静态页面的时候,图片路径是给相对还是给绝对的呢?
      

  8.   

    还是跟图片一样相对于tomcat的位置,不要再程序里写死ServletContext.getRealPath("/")得到的是你项目发布以后在服务器中的绝对路径
      

  9.   

    谢谢指导,另外我是在webapps里把upload项目复制了一份,重命名为ROOT来运行的,这样有没问题?
      

  10.   

    没有,只是不能使用tomcat mananger那玩意了可以把原来的ROOT改个名字然后在server.xml host节点间配置<Context  docBase="你项目所在位置,绝对路径(C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\uploadImg)" path="/" reloadable="false"//这个在开发的时候可以打开,可以自动加载你修改过的文件,实际运行就不要开了> 
      

  11.   


    比如你修改了一个servlet想看看效果就得重启服务器。
    reloadable="ture"就会自动加载你修改过的servlet   //开发时用
    reloadable="false"不会自动加载