`
yongtree
  • 浏览: 233947 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

解决Struts2和FckEditor冲突最简单的方法

阅读更多

没用 struts2.0之前 , fck能正常上传图片。 用了 struts2.0之后,fck上传图片 弹出 警告:Security error. You probably don't have enough permissions to upload. Please check your server 

什么原因呢?

一般情况下跟你的web.xml的配置有关系。一般的配置是

<filter-mapping>   

    <filter-name>struts2</filter-name>   

    <url-pattern>/*</url-pattern>   

</filter-mapping> 

这样做,使得struts2的过滤器也作用到了fckeditor的上传URL,从而引发冲突。

1、第一种解决的办法是修改你的web.xml文件。

<filter-mapping>   

    <filter-name>struts2</filter-name>   

    <url-pattern>*.action</url-pattern>   

</filter-mapping> 

只让过滤器对加有.action后缀的路径有效,如果需要拦截.jsp,加上*.jsp就行了。

但是,如果项目中定义了可以不加后缀,那么这种方式就没有效果了。这也是我现在碰到的问题。怎么办?

2、第二种解决办法是将fckeditor的上传方式修改成struts2的上传方式。

网上有位网友还做了struts2的fck插件,非常复杂,不建议这么做,代价太大了。

3、最简单的方法,可以有效的解决这个问题,是下面的方法。

自定义一个struts2的过滤器,将配置换成自己自定义的过滤器。当然这个过滤器要继承StrutsPrepareAndExecuteFilter.java。

然后重写doFilter方法:

Java代码
  1. public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain)throws IOException,ServletException{   
  2.     HttpServletRequest request = (HttpServletRequest)req;   
  3.     if("/fckeditor/editor/filemanager/connectors/fileupload".equals(request.getRequestURI())){   
  4.    chain.doFilter(req,res);   
  5.    }eles{   
  6.      super.doFilter(req,res,chain);   
  7.    }   
  8. }  

通过简单的重写就解决了fckeditor上传和struts2冲突的问题。

 

本文转载自百洋软件实验室 的http://www.po-soft.com/blog/yongtree/566.html

0
0
分享到:
评论
2 楼 yongtree 2010-01-12  
啊?很想回去
heglase 写道
想问一下青岛的薪资怎么样了啊?很想回去

很一般的,贫富差距蛮大的。中产阶级还是比较辛苦的。
1 楼 heglase 2010-01-12  
想问一下青岛的薪资怎么样了啊?很想回去

相关推荐

    struts2,fckeditor冲突解决

    总之,解决Struts2和FCKeditor的图片上传冲突,关键在于正确配置Struts2的Action、启用文件上传支持、处理文件保存逻辑,并提供合适的反馈给FCKeditor。同时,确保在整个过程中考虑到安全性,避免潜在的风险。

    Struts2与FCKeditor的整合.doc

    如果Struts2的filtermapping配置为"/*",可能与ConnectorServlet冲突,此时需要在struts.xml中添加excludePattern常量来解决这个问题。 3. 为了实现图片上传功能,你需要拷贝以下6个jar包到你的Web项目的lib目录下...

    struts2+fckeditor

    Struts2是一个非常流行的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。FCKeditor则是一款强大的在线文本...同时,学习并理解Struts2的拦截器机制和FCKeditor的工作原理,对于解决这类问题非常重要。

    struts2+FCKeditor

    在Struts2中配置FCKeditor,首先需要在项目的类路径下添加FCKeditor的库文件,包括JavaScript文件和相关的CSS样式表。这些文件通常可以从FCKeditor的官方网站下载得到,包含fckeditor.js、fckconfig.js等核心文件。 ...

    struts2+FCKeditor-2.3

    Struts2+FCKeditor-2.3 是一个集成解决方案,旨在为Java开发人员提供一个强大的文本编辑器,以便在Web应用程序中实现富文本输入。FCKeditor是一款开源的JavaScript组件,它允许用户在Web页面中编辑HTML内容,类似于...

    struts和fckeditor整合完整版

    Struts和FCKeditor是两种在Web开发中广泛使用的开源工具。Struts是基于MVC(Model-View-Controller)架构的Java Web框架,而FCKeditor则是一个强大的富文本编辑器,允许用户在Web页面上进行类似Word的文本编辑。 ...

    Fckeditor完美结合Struts2 教程

    在本文中,我们将深入探讨如何将富文本编辑器Fckeditor完美地整合到Struts2框架中,以便在Struts2项目中充分利用Fckeditor的图片上传和其他功能。Fckeditor是一款强大的在线文本编辑器,它提供了丰富的文本格式化...

    struts2+fckeditor关于信息发布的实例

    Struts2和FCKeditor是两个在Web开发中常见的开源工具,它们的结合使用能创建出功能丰富的信息发布系统。在这个实例中,我们将深入探讨如何利用这两个技术来构建一个信息发布的平台。 **Struts2框架** Struts2是...

    兼容struts2的FCKEditor(插件).rar

    5. **文件上传**:FCKEditor支持文件上传功能,这需要在Struts2中配置文件上传拦截器,设置允许的最大文件大小和类型。同时,需要提供一个Action来接收并保存上传的文件。 6. **安全考虑**:整合过程中需要注意XSS...

    Struts2项目 jsp页面FCKeditor使用

    本文将详细介绍如何在Struts2项目的JSP页面中成功部署和使用FCKeditor。 #### 二、准备工作 1. **下载FCKeditor** - 访问FCKeditor官方网站(http://sourceforge.net/projects/fckeditor/files/FCKeditor.Java/)...

    struts2下的FCKeditor插件

    struts2下的FCKeditor插件,解决了兼容问题,例子见本人上传的其他资源

    struts2BBS论坛

    Struts2 BBS论坛是一个基于Struts2框架和FCKeditor构建的小型在线讨论平台。Struts2是一个流行的Java Web应用程序框架,它提供了一种结构化的MVC(Model-View-Controller)设计模式实现,帮助开发者更有效地组织和...

    fckeditor和使用方法

    总之,FCKeditor是一款功能强大的Web富文本编辑器,通过简单的集成和配置,就能为你的网站提供便捷的内容编辑工具。无论是基本的文字格式化,还是更复杂的多媒体插入,FCKeditor都能轻松应对,极大地提升了用户的...

    jsp编辑器 fckeditor

    【标题】:JSP编辑器FCKeditor与Struts2的兼容性问题及解决方法 在Web开发中,FCKeditor是一款广泛使用的富文本编辑器,它为用户提供了一个类似于Word的在线编辑界面,使得在网页上编辑内容变得更加方便。FCKeditor...

    fckeditor 上传漏洞解决

    解决fckeditor 上传漏洞,类似asp;.jpg asp.jpg

    struts2下的fckeditor插件

    NULL 博文链接:https://jumpman.iteye.com/blog/299240

    FCKEditor for ASP有详细的教程和乱码解决方法

    本文将详细介绍FCKEditor在ASP环境下的使用,并针对在GBK编码下出现乱码问题的解决方法。 首先,让我们了解FCKEditor的基本功能。FCKEditor提供了一个类似桌面文字处理软件的用户界面,允许用户在Web页面上编辑HTML...

Global site tag (gtag.js) - Google Analytics