`
chinagdvea
  • 浏览: 132380 次
  • 性别: Icon_minigender_1
  • 来自: 韶关
社区版块
存档分类
最新评论

Strut2学习笔记(2) - 简单的文件上传系统

阅读更多
简单的文件上传系统

1.编写FileAdd.jsp -(View)

<%@ page language="JAVA" contentType="TEXT/HTML; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

...

<body>
  <h4>Add File<h4>
  
  <! enctype必须为multipart/form-data,该属性告诉框架这个请求需要被当做上传处理 >
  <s:form action="FileUploader" method="post" enctype="multipart/form-data" >
    <s:file name="file" label="FileName" />
    <s:submit />
  </s:form>
</body>

...


2.编写FileUploader.java -(Model)

public class FileUploader {

//上传文件方法
  public void FileUpload(File file, String fileName, String DestinationPath) {
    FileInputStream in;
    FileOutputStream out;

    File dir = new File(DestinationPath); //将给定路径名字符串转换为抽象路径名来创建一个新 File 实例,此File表示路径
    if (!dir.exists()) {
      dir.mkdir();  //按DestinationPath创建一个文件夹
    }
    
    //创建一个绝对路径targetPath
    String targetPath = dir.getPath() + dir.separator + fileName;
    File targetFile = new File(targetPath);

    //上传文件
    try {
      in = new FileInputStream(file);
      out = new FileOutputStream(targetFile);
      int c;
    
      while ((c = in.read()) != -1) {
        out.write(c);
      }
    } finally {
      if (in != null) {
        in.close();
      }
      if (out != null) {
        out.close();
      }
    }
  }
}
 

3.编写FileUploaderAction.java -(Model)

public class FileUploaderAction extends ActionSupport {
  public String excute() {
    private fu = new FileUploader();

    try {
      fu.FileUpload(getFile(), getFileName(), destinationPath);
    } catch (Exception ex) {
      ex.printStack();
    }
    
    return SUCCESS;
  }   

  private File file;
  private String fileName;
  private String destinationPath;
  
  ...  /* 各成员变量的getter及setter */
  
}


4.配置sturts.xml

<struts>
  <constant name="struts.devMode" value="true" />
  <package name="Upload" extends="struts-default" >
    <action name="FileAdd" >
      <result>/FileAdd.jsp</result>
    </action>

    <action name="FileUploader" class="com.vea.FileUploaderAction" >
      <param name="destinationPath">./UploadFolder/</param>
      <result>/FileAdded.jsp</result>
      <result name="INPUT">/FileAdd.jsp</result>
    </action>
  </package>
</struts>


5.配置欢迎页面 index.jsp -(View)
加入如下语句
<meta http-equiv="REFRESH" content="1;URL=FileAdd.action" />
分享到:
评论

相关推荐

    struts2 学习重点笔记

    - **文件上传**:利用 Struts2 的 FileUploadInterceptor 实现文件上传功能。 - **文件下载**:可以通过 Action 的响应流来实现文件下载。 #### 五、Struts2 实践技巧与优化 **5.1 性能优化** - **减少 Action ...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记(完美总结)——转自OPEN经验库

    在实际项目中,Struts2可以处理类型转换、文件上传下载、拦截器(Interceptor)防止重复提交等问题。Interceptor是Struts2中的重要特性,它允许在Action执行前后插入额外的处理逻辑,如登录验证、日志记录等。深入...

    struts2学习笔记

    ### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,适合初学者通过实际案例了解框架的基本用法。 - **Docs目录**:官方文档...

    struts2综合笔记

    - `commons-fileupload-1.2.2.jar`: 文件上传组件。 - `commons-io-2.0.1.jar`: 文件操作支持库。 - `commons-lang-2.5.jar`: Java 语言包增强。 - 可参考 `struts-2.3.15.3-all\struts-2.3.15.3\apps\struts2-...

    struts2学习笔记1-HelloWorld项目

    本篇学习笔记将引导我们从零开始,通过一个简单的"HelloWorld"项目,了解Struts2的基础知识。 首先,我们需要在本地环境中搭建Struts2的开发环境。这包括安装JDK、配置Java环境变量、下载Apache Struts2的最新版本...

    Struts2学习笔记

    ### Struts2学习笔记知识点梳理 #### 一、Struts2框架概述 - **背景**:Struts2作为Struts1的升级版本,融合了WebWork框架的优点,由Apache基金会维护,是一个开源、免费的MVC框架。尽管随着时间的推移,Spring MVC...

    struts2课程笔记

    文件上传功能则允许用户通过表单提交文件,Struts2提供了一套完整的处理机制。 拦截器是Struts2的核心特性之一,它可以插入到Action调用前后,执行预处理和后处理任务,如日志记录、权限检查、事务管理等。表单验证...

    传智播客struts2全程学习笔记

    ### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...

    Struts2.1学习笔记

    ### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...

Global site tag (gtag.js) - Google Analytics