zoukankan      html  css  js  c++  java
  • 重启服务器,上传的图片被删除

    你按这几个步骤去做,就能解决问题:
    1.把/tomcat/webapps/目录清空,删掉该文件夹的所有内容,
    2.修改/tomcat/conf/web.xml文件:
        

            default
            org.apache.catalina.servlets.DefaultServlet
           
                debug
                0
           
           
                listings
                true
           
            1
       


    3.修改/tomcat/conf/server.xml文件:


        
     

    其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到你的工程了,你上传的图片就不会跑到/tomcat/webapps/目录,而是直接到了你的工程里,不管你怎样重启项目,或者清理缓存,上传的文件依然存在!


    部署web项目,别在eclipse中点来点去的部署,那样虽然快捷,但实际上是复制项目到tomcat,有很多弊端!
    修改tomcat的配置文件正好解决这个问题,反过来想一想,javaweb项目的服务器一般都是linux系统,linux系统中不可能安装eclipse,
    所以在linux系统中部署项目,就是修改配置文件,然后运行命令启动tomcat,这样部署后,request.getSession().getServletContext().getRealPath("/");得到的是项目的WebRoot根目录,比如:D:projectmyProjectprjNameWebRoot,上传文件时的文件夹自然就会创建在项目中,如果你在eclipse中点来点去的部署,得到的却是tomcat的webapps根目录,文件夹就会创建在tomcat中,D:projectmyProjectprjNameWebRoot 这个路径是项目的web根目录,prjName是项目名称, 那么D:projectmyProjectprjNamesrc 就是你存放java文件的根目录了,/ser 就是项目应用的名称了,或者说是上下文路径,这个名称可以随意修改
    如果你的tomcat端口是 8080, 那么项目的访问路径就是 http://localhost:8080/ser
    上传时就会在D:projectmyProjectprjNameWebRoot 目录中创建文件夹,不管你怎样重启项目,或者清理缓存,上传的文件依然存在, 因为上传的文件都已经存在于你的项目中,这样方式只需要部署一次,没有重新部署的说法

    如果你是在eclipse中点来点去的部署项目,也就等于是把D:projectmyProjectprjNameWebRoot目录的所有文件和文件夹都复制到了 /tomcat/webapps/prjName/目录下,那么项目的访问路径就是 http://localhost:8080/prjName
    上传时就会在 /tomcat/webapps/prjName/ 目录中创建文件夹,只要重新部署或清理缓存,上传的文件都烟消云散了,因为重新部署时,先删除 /tomcat/webapps/prjName/ 目录,再复制一遍D:projectmyProjectprjNameWebRoot目录的所有文件和文件夹。

    引于:http://blog.sina.com.cn/s/blog_5446eca40101ijpw.html

  • 相关阅读:
    C#基础第五天-作业-用DataTable制作名片集
    C#基础第四天-作业答案-Hashtable-list<KeyValuePair>泛型实现名片
    C#基础第四天-作业-Hashtable-list<KeyValuePair>泛型实现名片
    C#基础第三天-作业答案-集合-冒泡排序-模拟名片
    C#基础第三天-作业-集合-冒泡排序-模拟名片
    C#基础第二天-作业答案-九九乘法表-打印星星
    C#基础第二天-作业-九九乘法表-打印星星
    C#基础第一天-作业答案
    C#基础第一天-作业
    C#-string.Format对C#字符串格式化
  • 原文地址:https://www.cnblogs.com/jeryM/p/7463528.html
Copyright © 2011-2022 走看看