win10专业站 - 最全面的操作系统下载网站

u盘教程游戏攻略电脑学习教程

windows7旗舰版
当前位置:主页 > xp系统教程 >

如何运用WEBWORK上传文件?

发布时间:2019-01-16 来源:win7旗舰版 浏览量:

Windows XP是美国微软公司研发的基于X86、X64架构的PC和平板电脑使用的操作系统,于2001年8月24日发布RTM版本,并于2001年10月25日开始零售。其名字中“XP”的意思来自英文中的“体验(Experience)”。该系统的默认桌面背景墙纸是Bliss,一张BMP格式的照片。是拍摄的纳帕县郊外的风景,照片中包括了高低起伏的绿山及有层积云和卷云的蓝天。

如何使用WEBWORK上传文件?XP系统之家小编教你利用WEBWORK上传文件的妙方。

  大家都知道webwork简洁、灵活功能强大,它是一个标准的Command模式框架实现,并且完全从web层脱离出来,致力于组件化和代码重用的J2EE Web框架,但是你不知道它的另一项不错的作用,那就是还可以利用使用WEBWORK实现文件上传,下面就给大家讲讲如何使用WEBWORK实现文件上传方法.

  webwork利用ognl实现的资料绑定是非常实用的功能, 能够避免繁琐调用request.getParameter, object setter, 也不需要任何的多余配置文件, 再加上转换器的功能, 我们就可以用一个业务对象, 从前台一直串到后台, 再也不需要考虑String转化, 不需要DTO, 不需要FormBean了.

  能够把web应用上常见的上传文件也用数据绑定来实现, 那么就是非常完美了: action再也不需要了解任何web信息, 需要对具体的Object进行操作, 就调用getObject, 需要对用户上传的文件进行操作, 就调用getFile.

  在webwork2.1.5以前,也有详细介绍这一问题的,在2.1.5以后, 这个拦截器被加入了正式release版本里面: com.opensymphony.webwork.interceptor.FileUploadInterceptor

  先来看一下我们的Action:

  代码

代码

  我们可以看到这个Action相当的简单, 只要定义一个File类型的属性以及setter, 我们就可以用这个File对象来作任何事情了.

  页面和普通的upload页面没有区别:

  代码

代码

  需要注意栏位名称和Action的属性同名就可以了, 剩下的事情就是配置拦截器:

xml 代码

xml 代码

  除此之外, 这个拦截器还提供了额外的信息: ContentType和FileName供我们使用:

  [File Name]ContentType: 文件的ContentType(可以用在做download的时候)

  [File Name]FileName: 实际的文件名

  在上面的action例子里, 那么有uploadFilesContentType和uploadFilesFileName这2个属性, 也能够被自动绑定.

  具体的代码可以参考webwork的upload example

  结论:灵活运用拦截器可以让原本复杂,繁琐的工作变得轻松,简单.

  另补充几点:

  webwork的文件上传实际上是封装了几种通用的File Upload lib,并不是自己实现的,这它包括了pell,cos,apache common三种实现。

  cos是oreilly的包,cos包的功能是最全面的,也是我最喜欢用的文件上传lib

  apache common 是apache的common中的一个

  pell的来源我没有考证过。

  webwork对这三个包的封装有些类似apache common logging,提供了一个通用的访问接口,至于具体用什么,则在webwork.properties中配置。

  如果你直接使用Webwork的FileUpload拦截器,推荐你使用pell,因为当你上传中文文件名称的文件的时候,只有pell包会正确的获得中文文件名称,apache common会将文件名称改为xxxxxxx.tmp这样的文件名,而cos会乱码,因此我们唯一的选择只有pell。

  webwork的封装丧失了很多cos的功能。cos需要设置request的character encoding,但是webwork的封装没有设置,所以就导致了cos的乱码问题,当然如果你单独使用cos,则会避免此类问题。

  在webwork的file upload 拦截器功能中,它提供的File只是一个临时文件,Action执行之后就会被自动删除,因此你必须在Action中自己出来文件的存储问题,或者写到服务器的某个目录,或者保存到数据库中。如果你准备写到服务器的某个目录下面的话,你必须自己面临着处理文件同名的问题,但是实际上cos包已经提供了文件重名的自动重命名规则。

  不复杂的应用直接使用webwork的拦截器,复杂的应用自己写拦截器调用cos来完成。


Windows XP服役时间长达13年,产生的经济价值也较高。据评测机构StatCounter的统计,2017年1月,在中国范围内,该系统的占有率为17.79%。主要原因是“习惯XP系统”而不愿意对其升级。 部分杀毒软件推出了诸如“XP盾甲”之类的服务,以提高系统安全性。

关键词: WEBWORK上传文件 
我要分享:

相关推荐

本站发布的ghost系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!

如侵犯到您的权益,请及时通知我们,我们会及时处理。

Copyright @ 2018 win10专业站(http://www.win10pc.cn) 版权所有  xml地图 邮箱: