Struts 2的文件上传

简介:

Struts 2并未提供自己的请求解析器,也就是说,Struts 2不会自己去处理multipart/form-data的请求,它需要调用其他上传框架来解析二进制请求数据。但Struts 2在原有的上传解析器基础上做了进一步封装,更进一步简化了文件上传。

Struts 2struts.properties配置文件中,我们看到了下面的配置代码,它们主要用于配置Struts 2上传文件时的上传解析器。

 
  1. # 指定使用COS的文件上传解析器  
  2. # struts.multipart.parser=cos  
  3. # 指定使用Pell的文件上传解析器  
  4. # struts.multipart.parser=pell  
  5. # Struts 2默认使用Jakarta的Common-FileUpload的文件上传解析器  
  6. struts.multipart.parser=jakarta  

Struts 2的封装隔离了底层文件上传组件的区别,开发者只要在此处配置文件上传所使用的解析器,就可以轻松地在不同的文件上传框架之间切换。

Struts 2默认使用的是JakartaCommon-FileUpload的文件上传框架,因此,如果需要使用Struts 2的文件上传功能,则需要在Web应用中增加两个JAR文件,即commons-io-1.3.2.jarcommons-fileupload-1.2.1.jar,将Struts 2项目lib下的这两个文件复制到Web应用的WEB-INF\lib路径下即可。

Struts 2默认使用JakartaCommon-FileUpload的文件上传,那是因为它们同是Apache组织下的项目,但并不意味着只能使用JakartaCommon-FileUpload文件上传,我们一样可以在Web应用中使用COSPell的文件上传支持。对于开发者而言,使用哪种文件上传支持,几乎没有任何区别——只需要修改struts.multipart.parser常量,并在Web应用中增加相应上传项目的类库即可。

Struts 2的文件上传支持在原有的文件上传项目上做了进一步封装,简化了文件上传的代码实现,取消了不同上传项目上的编程差异。

下面将以Struts 2默认的文件上传支持为例,详细介绍Struts 2文件上传相关方面的知识。


 

本文转自 fkJava李刚 51CTO博客,原文链接:http://blog.51cto.com/javaligang/887961 ,如需转载请自行联系原作者

相关文章
|
XML Java 数据格式
|
前端开发 JavaScript Java
struts2的文件上传
在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来比较繁琐,而且不灵活,在学习了struts2后,struts2为文件上传下载提供了更好的实现机制,在...
950 0
Struts2文件上传
1  在Struts2中上传文件需要 commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar 这两个包。  2  确认页面form表单上的提交方式为POST,enctype属性的值为“multipart/form-data”。
825 0
Struts1——文件上传
       在struts1中,框架本身引入commons-fileupload:         只需几行代码+配置,便可以完成文件的上传。      首先使我们form表单里面的配置:   然后在ActionForm中,将我们的input为file的提交项对应为FormFile类型: 在Action中,通过我们的ActionForm就可以直接拿到上传文件的信息,进行存盘,入库等操作。
1001 0
|
Java Spring Apache
struts2 文件上传 三种方式
struts.multipart.maxSize=10240000:用于限制上传文件的大小struts.multipart.allowedTypes=.xls,.zip:用于限制上传文件类型struts.multipart.parser=pell:解决上传空文件的报错问题 struts.multipart.saveDir:该属性指定上传文件的临时保存路径,该属性的默认值是javax.se
1412 0