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

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

方法/步骤

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

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

  2. 配置二:

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

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

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

  3. 配置三:

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

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

    如项目放在D:\tomcat\webapps目录,则该tempfile临时文件夹就在D:\tomcat\bin目录下。

  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。如果是这样,那这个方法既配置麻烦又不好维护。

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

详解struts.multipart.saveDir的临时文件路径的更多相关文章

  1. Struts2中的struts.multipart.saveDir的配置

    <constant name="struts.multipart.saveDir" value="D:\\AsimsTemp"></const ...

  2. 上传文件报错--Unable to find 'struts.multipart.saveDir' property setting.

    struts2 上传文件时,有时候会报这个错误. Unable to find 'struts.multipart.saveDir' property setting. Defaulting to j ...

  3. Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法

    Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法 在使用struts2的项目中上传文件的时候出现了一个这样的错误: 2011-7 ...

  4. Unable to find 'struts.multipart.saveDir' property setting.

    今天在项目开发中遇到如下问题 项目使用的是struts2 Unable to find 'struts.multipart.saveDir' property setting. 后来在网上查询特此记录 ...

  5. INFO Dispatcher:42 - Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir

    INFO Dispatcher:42 - Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax ...

  6. Struts2-整理笔记(一)介绍、搭建、流程、详解struts.xml

    Struts2是一种前端的技术框架 替代Servlet来处理请求   Struts2优势 自动封装参数 参数校验 结果的处理(转发|重定向) 国际化 显示等待页面 表单的防止重复提交   搭建框架:导 ...

  7. iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)

    前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...

  8. S2SH框架集成详解(Struts 2.3.16 + Spring 3.2.6 + Hibernate 3.6.10)

    近期集成了一次较新版本的s2sh,出现了不少问题,网上资料也是良莠不齐,有的甚至就是扯淡,简单的把jar包扔进去就以为是集成成功了,在这里整理一下详细的步骤,若哪位有什么不同看法,可以留言,欢迎批评改 ...

  9. iOS 2D绘图详解(Quartz 2D)之路径(stroke,fill,clip,subpath,blend)

    Stroke-描边 影响描边的因素 线的宽度-CGContextSetLineWidth 交叉线的处理方式-CGContextSetLineJoin 线顶端的处理方式-CGContextSetLine ...

随机推荐

  1. init进程解析rc文件的相关函数分析

    init进程的源码文件位于system/core/init,其中解析rc文件语法的代码放在五个函数中, init_parse_config_file (init_parser.c), read_fil ...

  2. Eclipse中将classes文件删除之后显示:找不到或无法加载主类解决方案

    第一步: 将Eclipse自动编译打开 Project -> Build Automatically 第二步: Eclipse - Project - Clean

  3. 查询json数据结构的8种方式

    查询json数据结构的8种方式 你有没有对“在复杂的JSON数据结构中查找匹配内容”而烦恼.这里有8种不同的方式可以做到: JsonSQL JsonSQL实现了使用SQL select语句在json数 ...

  4. 函数buf_ptr_get_fsp_addr

    #define FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID  34 /****************************************************** ...

  5. DTD约束文件

    在讲解DTD文件之前,我要说说一份合格的XML应该符合怎么样的规则? 就我总结一下几点,大家看看就好了: 1.一份XML有且仅有一个根元素. 2.XML是严格区分大小写的,<book>元素 ...

  6. boostrap兼容ie及其案例

    多梦网络 wordpress主题 http://www.dmeng.net/

  7. 关于设置sqlplus提示符样式的方法

    摘要:大家在日常工作中,我想99%都会用到sqlplus工具来登陆你的数据库,对数据库进行管理.调优.配置.运维.那么如果有n多台数据库的时候,我们在连接后全部是统一的SQL>提示符,就有可能发 ...

  8. 声明顺序 (Bootstrap 编码规范)

    相关的属性声明应当归为一组,并按照下面的顺序排列: Positioning Box model Typographic Visual 由于定位(positioning)可以从正常的文档流中移除元素,并 ...

  9. JPA--多对多关系

    JPA中,多对多关系用@ManyToMany标示. 关系维护端: package com.yl.demo1.bean.manyTomany; import java.util.HashSet; imp ...

  10. Hbase 建表基本命令总结

    访问hbase,以及操作hbase,命令不用使用分号 hbase shell 进入hbase list 查看表 hbase shell -d hbase(main):024:0> scan '. ...