struts2实现简单文件上传
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实现简单文件上传的更多相关文章
- Struts2 之 实现文件上传和下载
Struts2 之 实现文件上传和下载 必须要引入的jar commons-fileupload-1.3.1.jar commons-io-2.2.jar 01.文件上传需要分别在struts.xm ...
- [转]Struts2多个文件上传
转载至:http://blog.csdn.net/hanxiaoshuang123/article/details/7342091 Struts2多个文件上传多个文件上传分为List集合和数组,下面我 ...
- 笨鸟先飞之Java(一)--使用struts2框架实现文件上传
无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: ...
- Struts2 之 实现文件上传(多文件)和下载
Struts2 之 实现文件上传和下载 必须要引入的jar commons-fileupload-1.3.1.jar commons-io-2.2.jar 01.文件上传需要分别在struts.xm ...
- struts2中的文件上传和下载
天下大事,必做于细.天下难事,必作于易. 以前见过某些人,基础的知识还不扎实就去学习更难的事,这样必定在学习新的知识会非常迷惑结果 再回来又一次学习一下没有搞懂的知识,这必定会导致学习效率的下降!我写 ...
- PHP简单文件上传
一个简单的PHP上传文件的例子: upload.html <html> <body> <form action="upload.php" method ...
- 4.struts2中的文件上传,下载
Struts2中文件的上传下载,是借用commons里面的包实现文件的上传,需要导入两个jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar 实现 ...
- salesforce 零基础学习(四十二)简单文件上传下载
项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...
- struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持
Struts2的上传 1. Struts2默认采用了apache commons-fileupload 2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...
随机推荐
- appium+python自动化57-chromedriver与chrome版本
前言 由于app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了,每次都需要重新去下载对应的chromedriver版本.如何根据当 ...
- 第9章 初识STM32固件库—零死角玩转STM32-F429系列
第9章 初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- Mongodb 常用命令2
1.把一个collection里面的数据复制到另一个collection中,比如category集合中数据备份到category_clone中 db.category.find().forEach(f ...
- 开发者和系统管理者最喜爱的开源工具Vim 起步学习的五个技巧
多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...
- Linux挂载命令mount用法及参数详解
导读 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了. 挂接命令(mount) 首先,介绍 ...
- 利用MyEclipse开发一个调用webservice接口的程序
上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选 ...
- 退出app 退出应用程序
退出app的两种方式1 创建activity的基类,让所有的activity都继承该基类,在基类中创建一个静态的activity列表,并在oncreate方法添加该activity,在退出时,遍历 ...
- 多用户角色权限访问模块问题”的解决思路( 位运算 + ActionFilterAttribute )
如果你还是不太懂位运算,请看我的文章:那些年我们一起遗忘的位运算! 下面是我在这次项目中学习到的,我眼中的位运算的应用!主要是实现 通知的3个操作: 1. 置顶 2. 设为首页 3. 同时为 “ ...
- 〖Linux〗不知谁写的,很实用的Linux命令
第一部分 . sudo 运行上一条命令 sudo !! . HTTP方式共享当前目录 python -m SimpleHTTPServer . vim保存一个root用户文件 :w !sudo tee ...
- 40、JDBC相关概念介绍
1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据 ...