详解struts.multipart.saveDir的临时文件路径
Struts2中的struts.multipart.saveDir主要是用来设置上传文件的临时目录,在不同的配置方式下,它的临时文件目录大有不同,好多人在设置后往往找不到这个临时目录在哪里,下面我就来详细说明一下。
注意:下面的web服务器以tomcat为例。
方法/步骤
配置一:不设置struts.multipart.saveDir
这种情况下,临时文件就放在tomcat安装目录下的"work\Catalina\localhost\项目名称"目录下。

配置二:
<constant name="struts.multipart.saveDir" value="/tempfile"/>
这种情况下,临时文件放在项目所在的根磁盘下的tempfile目录下。
如项目放在D盘,则该tempfile临时文件夹就在D盘根目录下。

配置三:
<constant name="struts.multipart.saveDir" value="tempfile"/>
这种情况比上面少了一个斜杠,这种情况下,临时文件放在项目所在的tomcat的bin目录下的tempfile目录下。
如项目放在D:\tomcat\webapps目录,则该tempfile临时文件夹就在D:\tomcat\bin目录下。

配置四:
<constant name="struts.multipart.saveDir" value="D:/mytemp/tempfile"/>
这种情况规定了绝对的路径,这种情况下,临时文件就在所配置的绝对路径了。即D:/mytemp/tempfile目录。
注意:mytemp文件夹先得手动建立好,否则会报错。

可以看出:以上四种方法都没能将临时目录设置在【项目】之中。
第四种方法看似可以做到将绝对路径设置为项目当中的路径,但是如果项目移植到别处,该绝对路径就会找不到,反而会报错,不适合。
第三种方法放在tomcat的bin目录下,不伦不类,破坏了tomcat程序的结构,所以也不适合。
第二种方法放在根目录下,这样某一天看到这个文件不知道从哪来,和哪个程序有关,被删了也说不定。所以也不适合。
算下来第一种方法不算最优,但也算相对较优了。最起码它和项目所在tomcat关联最近且不会破坏tomcat程序结构。
所以这个struts.multipart.saveDir干脆不设置了,留下时间做其他的事吧。
补充:网上还有另一种方法:
在系统启动的时候,用ServletContextListener修改系统属性。 System.setProperty("user.dir","你的Tomcat的目录下的webapps");
然后再配置<constant name="struts.multipart.saveDir" value="yourproject/temp"></constant> 。
这种方法我有下面两个疑问:
(1)你的Tomcat的目录下的webapps--》指的是d:/tomcat/webapps这个绝对路径么?
(2)如果是这个绝对路径,那项目移植到别处的时候,比如F盘,这个地方是不是还得把d改成f。如果是这样,那这个方法既配置麻烦又不好维护。
我自己试了试,反正是没成功,要是有谁成功了,记得评论给我。
详解struts.multipart.saveDir的临时文件路径的更多相关文章
- Struts2中的struts.multipart.saveDir的配置
<constant name="struts.multipart.saveDir" value="D:\\AsimsTemp"></const ...
- 上传文件报错--Unable to find 'struts.multipart.saveDir' property setting.
struts2 上传文件时,有时候会报这个错误. Unable to find 'struts.multipart.saveDir' property setting. Defaulting to j ...
- Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法
Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法 在使用struts2的项目中上传文件的时候出现了一个这样的错误: 2011-7 ...
- Unable to find 'struts.multipart.saveDir' property setting.
今天在项目开发中遇到如下问题 项目使用的是struts2 Unable to find 'struts.multipart.saveDir' property setting. 后来在网上查询特此记录 ...
- 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 ...
- Struts2-整理笔记(一)介绍、搭建、流程、详解struts.xml
Struts2是一种前端的技术框架 替代Servlet来处理请求 Struts2优势 自动封装参数 参数校验 结果的处理(转发|重定向) 国际化 显示等待页面 表单的防止重复提交 搭建框架:导 ...
- iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...
- S2SH框架集成详解(Struts 2.3.16 + Spring 3.2.6 + Hibernate 3.6.10)
近期集成了一次较新版本的s2sh,出现了不少问题,网上资料也是良莠不齐,有的甚至就是扯淡,简单的把jar包扔进去就以为是集成成功了,在这里整理一下详细的步骤,若哪位有什么不同看法,可以留言,欢迎批评改 ...
- iOS 2D绘图详解(Quartz 2D)之路径(stroke,fill,clip,subpath,blend)
Stroke-描边 影响描边的因素 线的宽度-CGContextSetLineWidth 交叉线的处理方式-CGContextSetLineJoin 线顶端的处理方式-CGContextSetLine ...
随机推荐
- bzoj4009
这是一道神题,首先我们不难先到整体二分吧 下面的问题就是,求出对于每个水果,有多少盘子是他的子路径 直接考虑不是很容易,我们换个思路,考虑对于每个盘子,哪些水果能包含它 我们假设盘子a,b,dep[a ...
- UVa 11440 (欧拉函数) Help Tomisu
题意: 给出N和M,统计区间x ∈ [2, N!],x满足所有素因子都大于M的x的个数. 分析: 首先将问题转化一下,所有素因子都大于M 等价于 这个数与M!互素 对于k大于M!,k与M!互素等价于 ...
- [swustoj 917] K-lucky-number
K-lucky-number(0917) 问题描述 K-lucky-number is defined as add up the number of each bit is a multiple o ...
- Hibernate4.x之映射关系--继承映射
Hibernate的继承映射可以理解为持久化类之间的继承关系.例如:人和学生之间的关系.学生继承了人,可以认为学生是一个特殊的人,如果对人进行查询,学生的实例也将被得到. Hibernate支持以下三 ...
- Hessian介绍
Hessian是什么 Hessian类似Web Service,是一种高效简洁的远程调用框架. Hessian的主页:http://hessian.caucho.com/ 有关网上的对Hess ...
- 《Python基础教程(第二版)》学习笔记 -> 第三章 使用字符串
本章讲话介绍如何使用字符串格式化其他的值,并简单了解一下利用字符串的分割.联接.搜索等方法能做些什么. 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最大最小值)对字符 ...
- MyEclipse的Hibernate Reverse Engineering失败解决方法
当使用MyEclipse的Hibernate逆向工程功能时,有时出现不成功的情况,点击finish按钮后对应的源文件目录没有生产相关对象,这时应该如何解决呢? 在国内的网站找了很久没找到,最后在国外的 ...
- PHP常用的基本文件和目录操作总结
来源:http://www.ido321.com/835.html 一.基本文件的操作 文件的基本操作有:文件判断.目录判断.文件大小.读写性判断.存在性判断及文件时间等 1: <?php 2: ...
- 基于野火M3开发板(STM32F103VET6)的迷宫小球(重力感应控制)游戏开发
2013-03-03 这是研一上学期<实时嵌入式系统实验>课程的大作业,是利用野火板的资源,加上一个AHRS(Attitude and Heading Reference System,姿 ...
- 50道经典的JAVA编程题 (16-20)
50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...