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

struts2 和 ewebeditor不能下传的冲突有关问题解决办法

2012-10-08 
struts2 和 ewebeditor不能上传的冲突问题解决方法在集成ewebeditor到项目中时出了问题,不能上传图片,开始

struts2 和 ewebeditor不能上传的冲突问题解决方法
在集成ewebeditor到项目中时出了问题,不能上传图片,开始以为是配置没有配置好,找了一遍后发现没有问题,后来在网上找到了两篇文章。
http://hi.baidu.com/hsazj/blog/item/33f032119404251bb9127b89.html

http://aiesechugo.spaces.live.com/blog/cns!60E32E617081B7AA!6430.entry
很是奇怪,两人都说解决了这个问题,不知道他们是怎么解决的,其实两个人都只解决了一半。现在把我修改的问题做一个详细配置说明。

首先:也是很重要的,在web.xml中,为了防止出现struts出现不能使用的意外情况,配置时如下:

<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>

正如其中一人说所,struts2把说有的都请求都出了一遍。处理代码如下:
try {            prepare.createActionContext(request, response);            prepare.assignDispatcherToThread();            prepare.setEncodingAndLocale(request, response);            request = prepare.wrapRequest(request);            ActionMapping mapping = prepare.findActionMapping(request, response);            if (mapping == null) {                boolean handled = execute.executeStaticResourceRequest(request, response);                if (!handled) {                    chain.doFilter(request, response);                }            } else {                execute.executeAction(request, response, mapping);            }        } finally {            prepare.cleanupRequest(request);        }

这就就造成我们无法访问的最终原因,当图片上传时其实是被struts截获了,并且出了,这样ewebeditor后台处理时就会出现一定的问题,导致最终不能上传。
   还有一个原因是ewebeditor使用的.jsp文件来上传,那么就和struts在处理的时候有冲突,当然,按第一种方法最简单,只需要在try{}catch之前加上判断,如果是图片上传,那么就不处理。但是jsp后坠多少有点不好(我也没有去测试,我是改过来的。为的是免得以后和jsp造成冲突),个人认为,最好的解决方案是,把后缀改下,当然要改的地方也就多了。具体改的方法见连接。

热点排行