范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

JSP文件上传(CommonsFileUpload)

  文件上传就是对文件进行读写,需要编写大量的代码来实现,而且容易发生异常。幸运的是,有很多实用的工具,可以帮助我们实现文件上传的功能,其中应用比较多的是 Commons-FileUpload 组件。本节我们在 JSP 中使用 Commons-FileUpload 组件来实现文件上传。
  Commons-FileUpload 组件具有以下特点:
  使用简单:Commons-FileUpload 可以内嵌到 JSP 页面中,所以只需要编写少量的代码就可以完成文件的上传功能。
  能够全程控制上传内容:使用 Commons-FileUpload 组件提供的对象及操作方法,可以获得上传文件的信息,即文件名称、类型和大小等。
  能够控制上传文件的大小和类型:为了避免在上传过程中出现异常数据,Commons-FileUpload 组件提供了相应的方法来控制上传文件。
  Commons-FileUpload 组件依赖于 FileUpload 和 Commons,需要 commons-fileupload-xx.jar 和 commons-io-xx.jar 文件。
  commons-fileupload-xx.jar 下载地址:https://commons.apache.org/fileupload/
  commons-io-xx.jar 下载地址:https://commons.apache.org/io/  Commons-FileUpload组件API
  下面我们介绍一下 Commons-FileUpload 组件的接口和实现类。
  1. ServletFileUpload类
  ServletFileUpload 类用于实现文件上传操作,常用方法如下:
  方 法
  说 明
  public void setSizeMax(long sizeMax)
  设置上传文件总量的最大值 (包含文件和表单数据)
  public List parseRequest(HttpServletRequest req)
  解析 form 表单提交的数据,返回一个 FileItem 实例的集合
  public static final boolean isMultipartContent(HttpServletRequest req)
  判断请求信息中的内容是否是"multipart/form-data"类型,是则返回 true,否则返回 false。
  public void setHeaderEncoding(String encoding)
  设置转换时所使用的字符集编码
  2. FileItem接口
  FileItem 接口用于封装单个表单字段元素的数据,一个表单字段对应一个 FileItem 实例,本节示例中使用的是其实现类 DiskFileItem。FileItem 接口提供的常用方法如下:
  方 法
  说 明
  public boolean isFormField()
  用于判断 FileItem 类对象封装的数据是一个普通文本表单字段,还是一个文件表单字段,如果是普通表单字段则返回 true,否则返回 false。因此,可以使用该方法判断是否为普通表单域,还是文件上传表单域。
  public String getName()
  获取文件上传的文件名
  public String getFieldName()
  返回表单字段元素的 name 属性值
  public long getSize()
  获取上传文件的大小
  public String getString()
  将 FileItem 对象中保存的主体内容以一个字符串返回。其重载方法 public String getString(String encoding) 中的参数用指定的字符集编码方式
  public void write()
  将 FileItem 对象中保存的主体内容保存到指定的文件中。
  3. FileItemFactory接口与实现类
  创建 ServletFileUpload 实例需要依赖 FileItemFactory 工厂接口。DiskFileItemFactory 是 FileItemFactory 接口的实现类,该类的常用方法如下。
  方 法
  说 明
  public void setSizeThreshold(int sizeThreshold)
  设置内存缓冲区的大小
  public void setRepository(String path)
  设置临时文件存放的目录
  JSP上传文件
  JSP 和 HTML Form 标签一起使用,来允许用户把文件上传到服务器。上传的文件可以是文本文件、图像文件或其它任何文档。
  创建上传文件表单时,需要注意以下几点:
  表单的 method 属性必须设置为 POST 方法,不能使用 GET 方法。
  表单 enctype 属性应设置为 multipart/form-data。
  表单 action 属性应设置为对应的 Servlet,用来处理文件上传的逻辑代码,下面示例中使用 FileUploadServlet 处理逻辑。
  使用 标签上传单个文件,属性 type="file"。上传多个文件需添加多个 标签。
  拓展
  表单的 enctype 属性有以下 3 个值:
  1、application/x-www-form-urlencoded:默认值,用于处理少量文本数据的传递。向服务器发送大量的文件或二进制数据时,效率很低。
  2、multipart/form-data:上传二进制数据,只有使用了 multipart/form-data 才能完整的传递文件数据,进行上传操作。
  3、text/plain:用于向服务器传递大量文本数据,适用于电子邮件的应用。
  开课吧广场-人才学习交流平台

微信回应内测刷掌支付内部技术预研,目前无应用计划中新经纬客户端8月17日电(常涛)针对媒体报道称微信支付正在内测一项名为刷掌支付的全新支付功能,微信方面17日午间回应中新经纬记者称,刷掌支付仅为微信内部技术预研,未开启测试,目前荣耀Magic3Pro评测无短板顶级旗舰一前言时隔3年的首次更新荣耀重回高端战场在经历了破茧重生之后,荣耀迅速用一系列新产品一步步收复失地,很快就回到了市场前列,在中端手机市场更是取得了国内前三的佳绩。虽然荣耀整体增长势帝国虽立未固,莫寒了米粉心帝国虽立未固,莫寒了米粉心,浅谈MIX4MIUI等发布后米粉之于小米的幽怨之恋。每位米粉心中都有属于自己心目中的那个小米帝国。本次就近期发布的小米MIX4,MIUI等联想米粉谈谈对萌趣舒适,更适合女神使用的鼠标雷柏M650多模无线鼠标评测对于经常使用笔记本的用户来说,蓝牙鼠标应该是很熟悉了,它可以帮助我们更高效的进行办公。那么什么样的鼠标更适女神使用呢?今天和大家分享这款雷柏M650多模无线鼠标,外观时尚萌新,体积最前线英特尔发布高性能显卡品牌Arc,首款产品2022年初上市8月16日晚间,英特尔公布了全新高性能显卡产品品牌英特尔Arc,正式宣布进入独立显卡市场。英特尔Arc专为消费端打造,其硬件产品将涉及多代,不仅包括首代基于XeHPG微架构的Alc顶级性能与操控体验iQOO8Pro手机图赏iQOO8系列正式发布。iQOO8Pro搭载骁龙888Plus,120W超快闪充50W10W反向充电,2K屏120Hz高刷。iQOO8Pro传奇版配色采用三色纹设计,以及iQOO手内行人也在用的3款全能旗舰机,几乎没有短板,颜值性能都在线外行人买手机总是会被参数所影响,但实际上很多手机的配置参数并没有那么强悍,实际体验跟性能参数是不匹配的,所以在购买手机的时候容易踩雷。如果你也有购机的计划,就看看内行业也在用的这34nm骁龙898或在年底发布小米12按例首发8月份以来,小米MIX4荣耀Magic3相继发布,两款定位高端的旗舰手机均采用了高通骁龙888Plus芯片。相较于骁龙888,骁龙888Plus在性能上稍有提升,但在功耗处理能力等苹果妥协了?不强制用户升级iOS15,iOS14。7仍有续作?据推特网友BrendanShanks爆料,苹果Xcode开发工具中显示可用的iOS系统版本时,出现了iOS14。8版本,这是目前还没有发布的更新。iOS从来没有进行过。8的版本进行智慧眼每天检测公路病害照片突破55万张广州日报讯(全媒体记者王纳)人工智能已经逐渐走进我们的生活,并广泛应用于各个领域,它不仅给许多行业带来了巨大的经济效益,也为我们的生活带来了许多改变和便利。近日,一款智慧交通一体化诺基亚630080004G手机已支持支付宝扫码支付功能诺基亚手机今天宣布,Nokia63004G和Nokia80004G已支持支付宝扫码支付功能,系统更新后就能使用。主动扫码还是出示付款码,你说了算!需要将诺基亚80004G和诺基亚6
已获超过55个游戏支持DLSS超分辨率技术发展现状从当初图灵架构显卡发布首次出现DLSS开始到现在已经过去了接近三年时间,在这三年里DLSS从一个辅助角色,俨然成了NVIDIA各种显卡技术里的MVP。只要开启DLSS,显卡立马像打UE5超分辨率技术TSR作者对DLSS2。2画质为何更出色表态这应该是我本月的第n篇超分辨率相关的头条了,在之前我们曾经报道过DLSS和FSR在技术上的本质区别DLSS2。2与前版DLSS的差别等头条,而今天,我带来的继续这个话题,这次的主角三年前的冥王峡谷也能玩转AMDFSR超分辨率?冥王峡谷或者说HadesCanyon是Intel在2018年推出的旗舰级NUC小主机,最为特别之处是它采用的KabyLakeG处理器集成了来自AMD的RadeonRXVegaMGH神秘的COPAGPU,NVIDIA下一代GPU架构昭然若揭GPU发展日新月异,不仅和电脑普通用户密切相关,而且现在俨然已经成为全球驱动计算性能的重要产品,NVIDIA则是这个行业当下的佼佼者,在独立GPU份额方面是处于第二位的AMD的5倍尼康Zfc复古无反相机明日发布更多细节和图片流出就如同AMDYes一样,不知道什么时候起尼康这边也出了一个非官方口号用尼康我们都是兄弟,基味隆隆,但是也反映了现实中很多用户也感受到了尼康的不易,纷纷上网抱团取暖。说实话,尼康的当从器材党角度看佳能RF尼康Z卡口的新百微距离2018年已经过去了三年时间,佳能和尼康在无反全画幅的主要镜头布局基本完成,大三元大光圈大变焦,均已在货架上出现,相对于佳能而言,由于尼康在APSC方面也有布局,因此产品线其实可以和苹果说拜拜了Windows将提供自定义强制色彩管理在很长一段时间里,苹果电脑都是设计师摄影师等图形相关工作的主力电脑,其中一个非常重要的原因是苹果的OSX或者说macOS操作系统提供了全局色彩管理。所谓全局色彩管理就是色彩管理由操人类首次实现芯片级运行量子计算操作系统根据cambridgeindependent的报道,来自剑桥的量子科学公司Riverlane与纽约和伦敦的数字量子公司Seeqc合作,首次实现了让量子计算操作系统运行于芯片上。这个6900XT只配和3070Ti对打?毁灭战士永恒光追测试N卡大获全胜毁灭战士永恒或者说DOOMEternal是idSoftware2020年3月份发布的第一人称射击游戏,游戏采用了Vulkan图形编程界面,是毁灭战士系列的第五部主线作品,在PC和游形势已定中高端游戏显卡价格将在近期出现显著回落随着金融稳定措施和碳中和环保政策的落地,各种辣招排山倒海般击向了导致半年来显卡价格暴涨的根本原因挖虚无小钱钱,20号以后各个中心的算力出现了显著的下降,例如H字头的E记中心算力从8售价349美元,任天堂OLED版Switch掌机十月上市和微软和索尼相比,现在的任天堂是完全异类般的存在,自从退出主机性能大战后,任天堂已经将游戏必须老少咸宜先决放在第一位,游戏机的性能不再是吸引游戏玩家的重点,Switch是这个产品导