首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

struts2 使用 jakarta 下传文件时commons fileupload的错误捕捉

2012-11-10 
struts2 使用 jakarta 上传文件时commons fileupload的异常捕捉问题:??????? struts2 使用jakarta 上传文

struts2 使用 jakarta 上传文件时commons fileupload的异常捕捉

问题:

??????? struts2 使用jakarta 上传文件时,如果上传文件的大小超出commons fileupload(jakarta上传文件还是依赖commons-fileupload)设置的大小就会在进入action以前抛出异常.
??????? 如果想返回用户的输入界面(input),那么页面原来的参数会丢失。

首先看一下struts2 执行一个action的过程

1.? 将用户请求发给org.apache.struts2.dispatcher.Dispatcher,
???? wrapRequest(HttpServletRequest request, ServletContext servletContext)? 方法会判断是否"multipart/form-data",如果是建立一个multiPartRequest 的实例,并且建立MultiPartRequestWrapper

?4.这之后才开始逐个进入interceptor,见DefaultActionInvocation.invoke()

?

7.copy org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest,只是import上面自己的ServletFileUpload.这样就可以保存页面的所有参数了。

8.更改struts配置文件加入你自己的JakartaMultiReques

?9.更改struts.properties

struts.multipart.parser=jakarta_yourself

10.就OK啦

?

?

1 楼 netfork 2008-12-04   时间变化真快,楼主08年5月份发的贴,现在再看涉及到的源代码,已经变化不小了。

不过说实在的,FileUploadBase这个类写的真得不怎么样,把错误信息直接throw了,struts2的JakartaMultiPartRequest类也不怎么样,把异常的错误信息直接加到errors中就算完事了,太不负责任了吧,国际化在哪里啊?

commons-fileupload组件抛异常有他的道理,楼主的作法会引发一个大的漏洞,我作了个上传文件的完整分析,大家可以看下面的文章。
http://www.iteye.com/topic/287800 2 楼 xtpgyaps 2008-12-16   楼主,问下,,怎么我重构了JakartaMultiPartRequest这个类后,好像struts2不走我重构的这个类,怎么回事呢

热点排行