Struts2中的struts.multipart.saveDir主要是用来设置上传文件的临时存放地址,而这个参数设置方法的不同对应的地址也不同。
1、如果没有设置struts.multipart.saveDir,那么将默认使用javax.servlet.context.tempdir指定的地址,javax.servlet.context.tempdir的值是由服务器来确定的,例如:假如我的web工程的context是sencha,服务器使用Tomcat,那么savePath就应该是%TOMCAT_HOME%\work\Catalina\localhost\sencha,临时文件的名称类似于upload__1a156008_1373a8615dd__8000_00000001.tmp,每次上传的临时文件名可能不同,但是大致是这种样式。而且如果是使用Eclipse中的Servers里面配置Tomcat并启动的话,那么上面地址中的%TOMCAT_HOME%将不会是系统中的实际Tomcat根目录,而会是Eclipse给它指定的地址,例如我本地的地址是这样的:E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\sencha\upload__1a156008_1373a8615dd__8000_00000001.tmp。
2、如果设置了struts.multipart.saveDir,例如在struts.xml中设置:
<constant name="struts.multipart.saveDir" value="/repository"/>
那么文件存放的地址不会是大家想当然的在web工程的repository目录下,网上有人说在D盘下也就是D:\repository,但是我没有D盘,我本地的savePath是E:\repository,所以应该是选取非C盘的第一个逻辑磁盘创建struts.multipart.saveDir指定的文件夹并存放临时文件。
3、如果设置了struts.multipart.saveDir但是value中并没有"/",就像这样:
<constant name="struts.multipart.saveDir" value="repository"/>
,那么repository文件夹会创建在user.dir位置下,使用Eclipse环境时,user.dir为我本地Eclipse的根目录E:\Program Files\Indigo,你可以通过System.getProperty("user.dir")查看,所以savePath就是E:\Program Files\Indigo\repository,在Tomcat下user.dir是Tomcat目录下的bin目录,所以应该是%TOMCAT_HOME%\bin\repository。
4、干脆使用绝对路径,这样就不会有任何问题了,哈哈!
分享到:
相关推荐
总之,理解和配置`struts.multipart.saveDir`是Struts2文件上传功能的基础,通过设置这个参数,可以确保上传过程的顺利进行,避免因为找不到临时存储位置而导致的运行时错误。同时,合理规划文件存储策略,结合其他...
4. **saveDir**:在Struts的配置中,`struts.multipart.saveDir`是一个属性,用于指定服务器上临时存储上传文件的位置。当用户上传文件时,Struts会先将文件保存在这个目录中,然后再进行后续处理。 现在我们来看这...
struts.multipart.saveDir The directory to use for storing uploaded files 设置存储上传文件的目录夹 struts.objectFactory The com.opensymphony.xwork2.ObjectFactory implementation class ...
Struts2 框架中有许多重要的常量,它们负责控制着 Struts2 的行为和配置。下面我们将对 Struts2 中的一些常量进行详细的解释和分析。 1. struts.configuration struts.configuration 属性指定加载 Struts 2 配置...
Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....
在Struts2中,配置文件起着至关重要的作用,其中`struts.xml`用于管理Action映射和Result定义,而`struts.properties`文件则用于定义框架的全局属性。这个文件是基于Properties格式的,存储了一系列键值对,用于定制...
属性文件在Struts2中扮演着重要的角色,它们主要用于配置和定制框架的行为。以下是一些主要的Struts2属性及其详细解释: 1. `struts.configuration`:这个属性指定了配置文件管理器,负责加载Struts2的配置文件。...
首先,我们需要了解Struts2中的Action类,它是处理请求的核心。在这个例子中,可能会有一个名为`FileUploadAction`的类,它继承了Struts2的`ActionSupport`类,并且覆盖了`execute`方法。在`execute`方法内,我们...
在Struts2框架中,`struts.properties`文件是非常重要的配置文件之一,它主要用于定义Struts2应用的一些核心行为与特性。通过合理的配置,可以使得Struts2应用程序更加灵活、高效地运行。下面我们将详细解读几个关键...
在Struts2框架中,有两个核心配置文件特别重要:`struts.xml` 和 `struts.properties`。这两个文件共同决定了Struts2框架的行为特征和应用的运行逻辑。 #### 二、struts.xml 文件详解 `struts.xml` 文件是Struts2的...
### Struts2中的struts.properties配置详解 在Struts2框架中,`struts.properties`文件扮演着极其重要的角色,它用于定义各种配置项来控制框架的行为。下面将详细介绍该文件中的一些关键配置项。 #### struts....
在Struts2框架中,配置文件`struts.properties`用于定义一系列重要的系统级配置项,这些配置项对框架的行为模式和功能实现起着至关重要的作用。本文将详细介绍该文件中几个关键配置项的功能及其用法。 #### 二、...
### Struts2中struts.properties配置详解 #### 概述 在Struts2框架中,除了大家熟知的`struts.xml`配置文件之外,还有一个重要的配置文件——`struts.properties`。该文件主要用来存储一些Struts2的核心配置属性,...
本文将深入探讨Struts2中的常量配置,这些常量在框架的运行时扮演着至关重要的角色。 首先,我们要了解Struts2配置文件的层次结构。主要有以下几个核心配置文件: 1. **struts-default.xml**:这是Struts2核心库中...
`struts.properties` 文件是Struts 2框架中的核心配置文件之一,它包含了Struts 2框架运行时所需的一系列配置属性。这些属性决定了Struts 2的行为特征以及与其他组件如Spring、文件上传组件等的集成方式。下面将详细...
通过以上对`struts.properties`文件中各关键配置项的解析,我们可以看出这些配置项对于定制和优化Struts2应用有着至关重要的作用。开发者可以根据实际需求调整这些配置项,以实现更加高效和安全的应用程序。
若需要实现自定义的配置管理器,则需创建一个实现了`Configuration`接口的类,并在类中实现Struts 2配置文件的加载逻辑。 #### struts.locale 此属性指定了Web应用的默认Locale设置,用于确定应用的语言环境和区域...
在Struts2中,属性文件起着至关重要的作用,它们用来配置框架的行为和特性。以下是一些核心的Struts2属性及其详细解释: 1. `struts.configuration`: 这个属性指定了配置文件管理器,它负责加载Struts2的配置信息。...
在struts.xml中配置该方法,设置返回类型为流。 2. 解决中文文件名乱码: 在返回文件流前,设置响应头的`Content-Disposition`,并编码文件名,如: ```java response.setHeader("Content-Disposition", ...
`struts.xml`作为Struts2的核心配置文件,在项目中扮演着极其重要的角色。本文将详细介绍`struts.xml`文件中的关键配置项及其作用。 #### 二、核心配置项详解 **1. struts.configuration** - **功能**: 指定用于...