zoukankan      html  css  js  c++  java
  • 详解struts.multipart.saveDir的临时文件路径

    Struts2中的struts.multipart.saveDir主要是用来设置上传文件的临时目录,在不同的配置方式下,它的临时文件目录大有不同,好多人在设置后往往找不到这个临时目录在哪里,下面我就来详细说明一下。

    注意:下面的web服务器以tomcat为例。

    方法/步骤

    1. 配置一:不设置struts.multipart.saveDir

      这种情况下,临时文件就放在tomcat安装目录下的"workCatalinalocalhost项目名称"目录下。

    2. 配置二:

      <constant name="struts.multipart.saveDir" value="/tempfile"/>

        这种情况下,临时文件放在项目所在的根磁盘下的tempfile目录下。

      如项目放在D盘,则该tempfile临时文件夹就在D盘根目录下。

    3. 配置三:

      <constant name="struts.multipart.saveDir" value="tempfile"/>

        这种情况比上面少了一个斜杠,这种情况下,临时文件放在项目所在的tomcat的bin目录下的tempfile目录下。

      如项目放在D: omcatwebapps目录,则该tempfile临时文件夹就在D: omcatin目录下。

    4. 配置四:

      <constant name="struts.multipart.saveDir" value="D:/mytemp/tempfile"/>

      这种情况规定了绝对的路径,这种情况下,临时文件就在所配置的绝对路径了。即D:/mytemp/tempfile目录。

      注意:mytemp文件夹先得手动建立好,否则会报错。

    5. 可以看出:以上四种方法都没能将临时目录设置在【项目】之中。

      第四种方法看似可以做到将绝对路径设置为项目当中的路径,但是如果项目移植到别处,该绝对路径就会找不到,反而会报错,不适合。

      第三种方法放在tomcat的bin目录下,不伦不类,破坏了tomcat程序的结构,所以也不适合。

      第二种方法放在根目录下,这样某一天看到这个文件不知道从哪来,和哪个程序有关,被删了也说不定。所以也不适合。

      算下来第一种方法不算最优,但也算相对较优了。最起码它和项目所在tomcat关联最近且不会破坏tomcat程序结构。

      所以这个struts.multipart.saveDir干脆不设置了,留下时间做其他的事吧。

    6. 补充:网上还有另一种方法:

      在系统启动的时候,用ServletContextListener修改系统属性。 System.setProperty("user.dir","你的Tomcat的目录下的webapps");

      然后再配置<constant name="struts.multipart.saveDir" value="yourproject/temp"></constant>

      这种方法我有下面两个疑问:

    7. (1)你的Tomcat的目录下的webapps--》指的是d:/tomcat/webapps这个绝对路径么?

      (2)如果是这个绝对路径,那项目移植到别处的时候,比如F盘,这个地方是不是还得把d改成f。如果是这样,那这个方法既配置麻烦又不好维护。

      我自己试了试,反正是没成功,要是有谁成功了,记得评论给我。

  • 相关阅读:
    python异常处理--try except else raise finally
    WEB自动化+Allure+Jenkins定时构建
    pytest框架优化——将异常截屏图片加入到allure报告中
    pytest框架优化——清理历史截图图片和allure报告文件
    allure 定制化输出测试报告,用例模块名称、用例名称、测试用例的严重级别、测试用例的步骤、用于向测试报告中输入一些附加的信息,通常是一些测试数据信息、链接、用例描述
    Jenkins—Master/Slave 模式
    Jenkins新建节点,启动方式没有“通过Java Web启动代理”选项怎么办?
    pytest 框架之 allure 报告
    pytest 之重运行机制:rerunfailures
    pytest 之 fixture 的前置后置功能
  • 原文地址:https://www.cnblogs.com/a757956132/p/4266919.html
Copyright © 2011-2022 走看看