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

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

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

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

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

Struts 2的文件上传相关推荐

  1. Struts 2(八):文件上传

    第一节 基于Struts 2完成文件上传 Struts 2框架中没有提供文件上传,而是通过Common-FileUpload框架或COS框架来实现的,Struts 2在原有上传框架的基础上进行了进一步 ...

  2. 在Struts 2中实现文件上传

    前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题. 实现原理 Struts 2是通过Commons FileUpload文件上传.Commons ...

  3. java action 上传文件_Struts2实现单文件或多文件上传功能

    一.简述 Struts2的文件上传其实也是通过拦截器来实现的,只是该拦截器定义为默认拦截器了,所以不用自己去手工配置, 二.指定用户上传文件的大小,有两种方式 1)默认是在default.proper ...

  4. 11月30在spring mvc中使用Validator框架和文件上传

    首先回顾了spring mvc中的表单验证和业务逻辑校验失败后,回到表单页面中显示错误信息的整个内部运行流程. 表单校验出错后回到表单注册页面是由默认的SimpleFormController的pro ...

  5. Struts2之文件上传(单文件/多文件)

    <一>简述: Struts2的文件上传其实也是通过拦截器来实现的,只是该拦截器定义为默认拦截器了,所以不用自己去手工配置,<interceptor name="fileUp ...

  6. Struts2之文件上传

    正式学习文件上传之前,需要搞清楚一件事,所谓的文件上传指的就是用户将本地文件通过某种方式提交到服务器端,然后保存在服务器端主机的某个地方,跟文件下载不同的是,文件下载需要解决的是文件如何从服务器到客户 ...

  7. struts2实现文件上传

    struts 2 实现文件上传 1.结构 2. FileUploadAction.java package com.hainu.action;import java.io.File; import j ...

  8. 文件上传的基本原理(一)

    一.概述  Struts/Spring MVC 文件上传实现都是基于Commons-fileupload,但背后的原理,大多数估计没有关注,最近阅读Commons-fileupload源码也发现,只有 ...

  9. struts文件上传

    文件上传的三种方案: 1.上传到tomcat服务器 (上传图片的存放位置与tomcat服务器的耦合度太高,会导致系列的问题) 2.在数据库表中建立二进制字段,将图片存储到数据库(会导致数据库的表数据量 ...

最新文章

  1. c#中对Cross-thread operation not valid错误的处理办法
  2. css 命名规范 BEM
  3. 设计模式04_抽象工厂模式
  4. Oracle的闪回特性之恢复truncate删除表的数据
  5. Elasticsearch技术解析与实战(五)Document解析
  6. P4111 [HEOI2015]小Z的房间
  7. 编程兴趣真的是由“热情”驱动的吗?
  8. 机器视觉系统中相机镜头选型技巧_工业相机在机器视觉系统中的地位和作用
  9. Linux文本编辑器之vim
  10. SAP License:SAP顾问如何写运维报告
  11. avl树 php,PHP实现平衡二叉树(AVL树)
  12. 浏览器兼容性-JS篇
  13. 郑州大学期末php试题,郑州大学英语期末考试试题及答案
  14. 模拟集成电路设计基础知识(二):MOS管二级效应及其小信号等效
  15. Vue开发实例(04)之更换项目入口
  16. ctype函数_Ctype函数简介
  17. PHP中的日期相减函数,在php中有没有日期相减的函数
  18. 施密特触发器——用于正弦波转方波、脉冲波整形
  19. Python中关于with open file as 的用法
  20. 独孤求败剑学考证 zz

热门文章

  1. Hey!你的 CSDN 年度报告已出炉,请查收~
  2. GAN 模型生成山水画,骗过半数观察者,普林斯顿大学本科生出品
  3. WCF 设计和实现服务协定(01)
  4. 从零开始机器学习比赛经验(bird分享)
  5. BMP文件的读取与显示
  6. java反射中,Class.forName和classloader的区别
  7. WinForm界面开发之“HTML内容编辑控件”
  8. okhttp请求文件异常解决方法
  9. .net项目发布到本地IIS
  10. nagios监控安装