`

Struts2文件上传详解

阅读更多

Struts2文件上传:
 一:请选参看Struts2_9中的Struts2上传原理
 二:加入Struts2的支持
 三:页面
  <s:form action="upload" method="post" enctype="multipart/form-data">
   <s:textfield name="username" label="用户名"></s:textfield>
   <s:password name="password" label="密码"></s:password>
   <s:file name="myfile" label="文件"></s:file>
   <s:submit></s:submit>
  </s:form>
 四:strus.xml配置说明:
  <struts>
   <!-- 设置request的编码方式 -->
   <constant name="struts.i18n.encoding" value="gbk"></constant>
   <!-- 上传大文件临时目录 -->
   <constant name="struts.multipart.saveDir" value="c:\"></constant>
   <!--
    上传的文件大于多少时将放到临时目录中,否则放到内存中
    Struts2默认的大为2097152即2M
    <constant name="struts.multipart.maxSize" value=""></constant>
    -->
   <package name="mengya" extends="struts-default">
    
    <action name="upload" class="com.mengya.action.UploadAction">
     <result name="success">/result.jsp</result>
    </action>
    
   </package>
  </struts>
 五:上传的Action说明:
  /**
   * Struts2上传
   * @author 张明学
   *
   */
  public class UploadAction extends ActionSupport {
   private String username;
  
   private String password;
   /**
    * 对应页面中的File标签的名称
    */
   private File myfile;
  
   /**
    * 这个属性由Struts2自动生成。规则:File字段的属性名+FileName和File字段的属性名+ContentType
    * File字段的属性名+FileName表示上传的文件名
    */
   private String myfileFileName;
  
   /**
    * File字段的属性名+ContentType表示上传的文件的类型
    */
   private String myfileContentType;
  
   @Override
   public String execute() throws Exception {
    
    InputStream is=new FileInputStream(myfile);
    /**
     * 上传到服务器的目录
     */
    String root=ServletActionContext.getRequest().getRealPath("/upload");
    
    File destFile=new File(root,this.getMyfileFileName());
    
    OutputStream os=new FileOutputStream(destFile);
    
    byte[] buffer=new byte[400];
    
    int length=0;
    
    while((length=is.read(buffer))>0){
     os.write(buffer,0,length);
    }
    os.close();
    is.close();
    
    return SUCCESS;
   }
  
   public File getMyfile() {
    return myfile;
   }
  
   public void setMyfile(File myfile) {
    this.myfile = myfile;
   }
  
   public String getPassword() {
    return password;
   }
  
   public void setPassword(String password) {
    this.password = password;
   }
  
   public String getUsername() {
    return username;
   }
  
   public void setUsername(String username) {
    this.username = username;
   }
  
   public String getMyfileContentType() {
    return myfileContentType;
   }
  
   public void setMyfileContentType(String myfileContentType) {
    this.myfileContentType = myfileContentType;
   }
  
   public String getMyfileFileName() {
    return myfileFileName;
   }
  
   public void setMyfileFileName(String myfileFileName) {
    this.myfileFileName = myfileFileName;
   }
  
  }

  • Struts2_10.rar (3.6 MB)
  • 描述: 我的Struts2文件上传实例
  • 下载次数: 63
分享到:
评论

相关推荐

    Struts2之struts2文件上传详解案例struts011

    在这个"Struts2之struts2文件上传详解案例struts011"中,我们将深入探讨如何实现这一功能。 首先,我们需要了解Struts2中的Action类,它是处理用户请求的核心组件。为了支持文件上传,我们需要创建一个继承自`org....

    Struts2属性文件详解

    该属性设定了Struts 2文件上传中整个请求内容的最大字节数限制,以防止过大的文件上传导致的问题。 #### struts.custom.properties 指定了Struts 2应用加载的用户自定义属性文件,自定义属性文件中的设置不会覆盖`...

    Struts 2 properties文件详解

    这些属性决定了Struts 2的行为特征以及与其他组件如Spring、文件上传组件等的集成方式。下面将详细介绍`struts.properties`文件中可以定义的关键配置项。 #### struts.configuration **描述**: 此属性用于指定加载...

    Struts2之Servlet文件上传详解案例struts010

    本案例“Struts2之Servlet文件上传详解”将聚焦于如何使用Struts2框架配合Servlet实现文件上传功能。在Web应用中,文件上传是一个常见的需求,例如用户可能需要上传头像、附件等。 首先,我们来理解文件上传的基本...

    Struts2的常量详解

    struts.multipart.maxSize 属性指定 Struts 2 文件上传中整个请求内容允许的最大字节数。 11. struts.custom.properties struts.custom.properties 属性指定 Struts 2 应用加载用户自定义的属性文件,该自定义属性...

    struts2常量设置详解 struts2常量设置详解

    **说明**:该配置项用于设置上传文件的临时存放位置,对于大型文件上传尤为重要,因为文件可能首先被保存到磁盘上再进一步处理。 ##### 11. `struts.multipart.maxSize` **描述**:限制单个上传文件的最大大小。 ...

    struts2的struts.properties配置文件详解

    16. struts.multipart.maxSize:这是multipart请求信息的最大尺寸(文件上传用),Struts2用于限制文件上传的尺寸。 17. struts.multipart.parser:这是一个multipart请求解析器,Struts2用于处理multipart请求。 ...

    struts2多文件上传和下载

    在Struts2中,文件上传和下载是常见的功能,对于用户交互和数据交换至关重要。这篇内容将深入讲解如何在Struts2中实现多文件的上传和下载。 1. **文件上传** 文件上传在Web应用中常常用于让用户提交各种类型的文件...

    struts2常量详解

    例如,通过调整`struts.multipart.maxSize`可以防止因文件过大导致的服务器崩溃,而选择合适的`struts.multipart.parser`可以优化文件上传的效率。总之,掌握Struts2的常量配置是优化和调试Struts2应用的关键步骤。

    Struts2配置文件详解

    - **示例**: `struts.multipart.parser=cos`表示使用Cos库处理文件上传。 - **注意事项**: 使用非默认值时需确保相应的库已添加到项目的类路径中。 **9. struts.multipart.saveDir** - **功能**: 指定上传文件的...

    Uploadify + Struts2 实现文件上传详解

    【Uploadify + Struts2 实现文件上传详解】 在Web开发中,文件上传是一个常见的功能需求,尤其是在内容管理系统、论坛或者其他需要用户提交图片、文档等资料的场景。Uploadify是一款基于jQuery的文件上传插件,它...

    Struts2文件上传和下载教程

    ### Struts2文件上传与下载教程 #### 一、文件上传原理及实现 **1.1 基础概念** 文件上传是Web开发中的常见需求之一。在Struts2框架中,实现文件上传主要依赖于表单的`enctype`属性设置为`multipart/form-data`。...

    struts.xml文件详解.doc

    10. struts.multipart.maxSize:定义文件上传请求内容的最大允许字节数。 11. struts.custom.properties:指定Struts 2应用加载的用户自定义属性文件,允许扩展配置。 struts.xml文件则是Struts 2框架的核心配置,...

    struts文件上传详解

    在Struts中,文件上传是一个常见的需求,它允许用户从客户端上传文件到服务器。Apache Commons FileUpload库是Struts实现文件上传功能的核心组件。 首先,`DiskFileUpload`类是Apache Commons FileUpload库的主要类...

    struts2文件上传

    ### Struts2文件上传实现详解 #### 实现原理与机制 在探讨Struts2如何实现文件上传之前,我们首先需要了解其背后的核心机制。Struts2框架中的文件上传功能主要依赖于Apache Commons FileUpload组件。这个组件的...

    Struts2文件上传

    ### Struts2文件上传与下载实现详解 #### 实验背景及目标 在现代Web开发中,文件上传与下载是常见的需求之一,尤其在构建具备多媒体交互能力的应用时尤为重要。Struts2作为Java Web开发中的一个重要框架,提供了...

    Struts2属性文件详解.doc

    8. `struts.multipart.parser`:这个属性决定了处理多部分请求(如文件上传)的框架。默认值`jakarta`使用的是Apache Commons FileUpload,还可以选择`cos`或`pell`框架,但需要相应的JAR文件。 9. `struts....

Global site tag (gtag.js) - Google Analytics