struts2 在内部已经帮我们做了很多封装的工作,我们只需要简单的写一些配置即可。

1 表单页面

    <form action="${pageContext.request.contextPath }/fileupload" method="post" enctype="multipart/form-data">
<input type="file" name="filesrc" ><br>
<input type="submit" value="提交"> </form>

注意:要记住input type=file 的 name属性值,后台会用到

2 FileUploadAction 类来处理文件上传,将上传来的文件存放到upload 文件夹里

public class FileUploadAction extends ActionSupport {
private File filesrc;
private String filesrcFileName;
private String filesrcContentType; public File getFilesrc() {
return filesrc;
}
public void setFilesrc(File filesrc) {
this.filesrc = filesrc;
}
public String getFilesrcFileName() {
return filesrcFileName;
}
public void setFilesrcFileName(String filesrcFileName) {
this.filesrcFileName = filesrcFileName;
}
public String getFilesrcContentType() {
return filesrcContentType;
}
public void setFilesrcContentType(String filesrcContentType) {
this.filesrcContentType = filesrcContentType;
} public String uploadFile(){
String path = ServletActionContext.getServletContext().getRealPath("/upload");
File destFile = new File(path, filesrcFileName);
try {
FileUtils.copyFile(filesrc, destFile);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
} return SUCCESS;
} }

注意:所有与上传文件有关的域变量命名规则开始要使用 form 表单中的name属性值。比如要有一个文件对象,就是filesrc,如果想知道文件名,就是:filesrcFileName,其中后面的FileName是固定的。至此就可以将文件存放到upload文件夹中。

当然此处没有设置文件大小、类型等判断。

3 action的配置,和一般的action配置相同。就不写了。可以参考之前的博文。struts2开发流程及配置,域对象对数据存储的3种方式

4 使用配置文件设置上传文件类型,上传文件大小。修改配置文件struts.xml,主要的类:FileUploadInterceptor,要使用的拦截器是:fileUploadStack

      <action name="fileupload" class="com.baidu.action.fileupload.FileUploadAction" method="uploadFile">
<interceptor-ref name="fileUpload">
<param name="allowedExtensions">text,xml</param>
<param name="maximumSize"></param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>

struts2实现简单文件上传的更多相关文章

  1. Struts2 之 实现文件上传和下载

    Struts2  之 实现文件上传和下载 必须要引入的jar commons-fileupload-1.3.1.jar commons-io-2.2.jar 01.文件上传需要分别在struts.xm ...

  2. [转]Struts2多个文件上传

    转载至:http://blog.csdn.net/hanxiaoshuang123/article/details/7342091 Struts2多个文件上传多个文件上传分为List集合和数组,下面我 ...

  3. 笨鸟先飞之Java(一)--使用struts2框架实现文件上传

    无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: ...

  4. Struts2 之 实现文件上传(多文件)和下载

    Struts2  之 实现文件上传和下载 必须要引入的jar commons-fileupload-1.3.1.jar commons-io-2.2.jar 01.文件上传需要分别在struts.xm ...

  5. struts2中的文件上传和下载

    天下大事,必做于细.天下难事,必作于易. 以前见过某些人,基础的知识还不扎实就去学习更难的事,这样必定在学习新的知识会非常迷惑结果 再回来又一次学习一下没有搞懂的知识,这必定会导致学习效率的下降!我写 ...

  6. PHP简单文件上传

    一个简单的PHP上传文件的例子: upload.html <html> <body> <form action="upload.php" method ...

  7. 4.struts2中的文件上传,下载

    Struts2中文件的上传下载,是借用commons里面的包实现文件的上传,需要导入两个jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar 实现 ...

  8. salesforce 零基础学习(四十二)简单文件上传下载

    项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...

  9. struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持

    Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...

随机推荐

  1. MySQL系列:innodb源码分析之内存管理

    http://blog.csdn.net/yuanrxdu/article/details/40985363 http://book.2cto.com/201402/40307.html 从MySQL ...

  2. 卸载oracle数据库

    Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleOr ...

  3. 解决:解压zip文件却变成cpgz文件

    众所周知,zip是一种压缩文件格式,MAC OS默认支持的文件格式,当时偶尔当你打开zip文件想要解压时,却自动变成了cpgz文件而没有解压,再双击这个cpgz文件,Archive Utility又会 ...

  4. iOS:提示框(警告框)控件UIActionSheet的详解

    提示框(警告框)控件2:UIActionSheet 功能:当点击按钮或标签等时,弹出一个提示框,显示必要的提示,然后通过添加的按钮完成需要的功能.它与导航栏类似,它继承自UIView.   风格类型: ...

  5. 深度Linux Deepin系统安装教程使用体验

    很早以前,试用过一次深度的OS,那时深度刚出自己的Linux修改版系统,过了有两年了,准备看看Deepin OS有什么变化,和雨林木风的Start OS比,有什么不同 1.安装的引导菜单和Start ...

  6. js轮播功能 标签自动切换 同页面多轮播js

    需要加入jquery 1.43及以上版本 下面还有个简单版,一个页面只支持一个轮播 同页面多轮播js <div> <div class="yt_content"& ...

  7. Java中Action层、Service层、Modle层和Dao层的功能区分

    一.Java中Action层.Service层.Modle层和Dao层的功能区分: 首先,这是现在最基本的分层方式,结合了SSH架构. modle层就是对应的数据库表的实体类.(即domain) Da ...

  8. Linux laravel安装

    第一步:安装php套件 目前为止laravel是5.1版本,需要对php有要求,要php5.59以上 The Laravel framework has a few system requiremen ...

  9. MySQL服务器安装完之后如何调节性能

    原文作者: Peter Zaitsev原文来源: http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server ...

  10. 【Networking】(转)一个非常好的epoll+线程池服务器Demo

    (转)一个非常好的epoll+线程池服务器Demo Reply 转载自:http://zhangyafeikimi.javaeye.com/blog/285193 [cpp] /** 张亚霏修改 文件 ...