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 ,如需转载请自行联系原作者

相关文章
|
存储 NoSQL Redis
redis-(error)-MISCONF。Redis。is。configuredto。save。RDBsnapshots
redis-(error)-MISCONF。Redis。is。configuredto。save。RDBsnapshots
1105 0
|
11月前
|
关系型数据库 MySQL 数据库
mysql 里创建表并插入数据
【10月更文挑战第5天】
598 1
|
9月前
|
人工智能 自然语言处理 数据挖掘
从行业痛点到AI前沿:揭秘AGI时代企业培训的终极之选
近几年接触到的各类培训合作方越来越多,从国际咨询巨头、互联网科技培训平台,到本土独角兽型的专业培训公司;从专攻新技术与创新场景的培训团队,到深谙传统行业痛点的咨询顾问。作为一名在央企、国企、上市公司人力资源培训条线深耕多年的HR负责人,深知在这片竞争激烈的培训服务蓝海中,寻找高质、高效的合作伙伴并不简单,因为企业培训的逻辑正在悄然改变。
|
设计模式 移动开发 Java
【阿里规约】阿里开发手册解读——代码格式篇
本文所有代码格式规范遵循《阿里规约》,从编码、换行符、空格规则、括号规则、字符数等方面展开,详细阐述方法参数、强制转换、运算符、缩进等元素的编写规范。
【阿里规约】阿里开发手册解读——代码格式篇
|
10月前
|
传感器 安全 物联网
5G车联网技术:智能交通的未来
【10月更文挑战第26天】
459 1
|
存储 Java 测试技术
阿里巴巴java开发手册
这篇文章是关于阿里巴巴Java开发手册的整理,内容包括编程规约、异常日志、单元测试、安全规约、MySQL数据库使用以及工程结构等方面的详细规范和建议,旨在帮助开发者编写更加规范、高效和安全的代码。
|
弹性计算 Windows
震惊!ECS Windows 系统磁盘竟“撒谎”,空间去哪儿了?别急,这里有终极破解法!
【8月更文挑战第15天】在使用ECS Windows系统时,可能会遇到磁盘显示占用的空间远超实际文件大小的情况,导致空间不足。原因包括系统还原点、卷影副本累积及回收站文件未彻底删除等。解决方法有:清除系统还原点(`vssadmin delete shadows /all`),清空回收站,删除临时文件夹中的文件,以及检查并修复磁盘错误。这些步骤能有效释放空间,保证系统稳定运行。
260 4
|
存储 索引
【数据结构】核心数据结构之二叉堆的原理及实现
【数据结构】核心数据结构之二叉堆的原理及实现
【数据结构】核心数据结构之二叉堆的原理及实现
|
网络协议 jenkins 持续交付
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker
2823 0
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker
|
自然语言处理 算法 视频直播
如何 get 一个终身免费续期的定制数字人?
活动有效期到什么时间? 限时福利活动有效期为 2023 年 11 月 30 日 24 点前请在规定期内完成数字人定制任务提交操作。
294 2