`

Struts2与FCKeditor整合解决方案

阅读更多
今天遇到Struts2与FCKeditor整合的问题,我很是无奈,上传图片有问题。还好网上有非常多的解决方案。

我的解决方案和那些差不多,struts2的filter把所有的请求都由org.apache.struts2.dispatcher.FilterDispatcher

转发了,fck的servlet也没有幸免,所以无法上传。可能会出现java.lang.NullPointerException


at com.fredck.FCKeditor.uploader.SimpleUploaderServlet.doPost(SimpleUploaderServlet.java:142)等诸多问题

我现在做个总结,集百家之所长,给出完美解决:

还是改web.xml

代码如下:
<?xml version="1.0" encoding="UTF-8" ?> 
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
  <servlet-name>Connector</servlet-name> 
  <servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class> 
  <init-param>
  <param-name>baseDir</param-name> 
  <param-value>/UserFiles/</param-value> 
  </init-param>
  <init-param>
  <param-name>debug</param-name> 
  <param-value>true</param-value> 
  </init-param>
  <load-on-startup>1</load-on-startup> 
  </servlet>
  <servlet>
  <servlet-name>SimpleUploader</servlet-name> 
  <servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class> 
  <init-param>
  <param-name>baseDir</param-name> 
  <param-value>/UserFiles/</param-value> 
  </init-param>
  <init-param>
  <param-name>debug</param-name> 
  <param-value>true</param-value> 
  </init-param>
  <init-param>
  <param-name>enabled</param-name> 
  <param-value>true</param-value> 
  </init-param>
  <init-param>
  <param-name>AllowedExtensionsFile</param-name> 
  <param-value /> 
  </init-param>
  <init-param>
  <param-name>DeniedExtensionsFile</param-name> 
  <param-value>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</param-value> 
  </init-param>
  <init-param>
  <param-name>AllowedExtensionsImage</param-name> 
  <param-value>jpg|gif|jpeg|pjpeg|png|bmp</param-value> 
  </init-param>
  <init-param>
  <param-name>DeniedExtensionsImage</param-name> 
  <param-value /> 
  </init-param>
  <init-param>
  <param-name>AllowedExtensionsFlash</param-name> 
  <param-value>swf|fla</param-value> 
  </init-param>
  <init-param>
  <param-name>DeniedExtensionsFlash</param-name> 
  <param-value /> 
  </init-param>
  <load-on-startup>1</load-on-startup> 
  </servlet>
  <servlet-mapping>
  <servlet-name>Connector</servlet-name> 
  <url-pattern>/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern> 
  </servlet-mapping>
  <servlet-mapping>
  <servlet-name>SimpleUploader</servlet-name> 
  <url-pattern>/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern> 
  </servlet-mapping>
  <filter>
  <filter-name>struts2</filter-name> 
  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
  </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name> 
  <url-pattern>/struts/*</url-pattern> 
  </filter-mapping>
  <filter-mapping>
  <filter-name>struts2</filter-name> 
  <url-pattern>*.action</url-pattern> 
  </filter-mapping>
  <filter-mapping>
  <filter-name>struts2</filter-name> 
  <url-pattern>*.jsp</url-pattern> 
  </filter-mapping>
  <filter-mapping>
  <filter-name>struts2</filter-name> 
  <url-pattern>*.js</url-pattern> 
  </filter-mapping>
  <welcome-file-list>
  <welcome-file>index.jsp</welcome-file> 
  </welcome-file-list>
  </web-app>



还有个上传注意事项,上传的图片必须是英文名,不能是中文。

分享到:
评论
4 楼 xingyuezy 2011-03-21  
xingyuezy 写道
cn-done 写道
  <filter-name>struts2</filter-name>
  <url-pattern>*.action</url-pattern>
  </filter-mapping>

关键是这个地方 如果配置为/*的话,FCK的图片请求将会被拦截

?

?
3 楼 xingyuezy 2011-03-21  
cn-done 写道
  <filter-name>struts2</filter-name>
  <url-pattern>*.action</url-pattern>
  </filter-mapping>

关键是这个地方 如果配置为/*的话,FCK的图片请求将会被拦截

?
2 楼 hanyuhaha 2009-09-04  
按以上方法,虽不报错,但是图片也上传不成功,是不是忘记什么了没有发上来?
1 楼 cn-done 2009-05-15  
  <filter-name>struts2</filter-name>
  <url-pattern>*.action</url-pattern>
  </filter-mapping>

关键是这个地方 如果配置为/*的话,FCK的图片请求将会被拦截

相关推荐

    FCKEditor与Struts2整合.doc

    #### 四、FCKEditor与Struts2整合的关键问题及解决方案 在整合过程中,开发者可能会遇到以下主要问题: 1. **文件上传**:在Struts1中,文件上传相对简单,但是Struts2对HTTP请求进行了封装,这导致了FCKEditor...

    jsp编辑器 fckeditor

    在解决Struts2与FCKeditor的兼容性问题时,可能需要在这里配置特定的过滤器或Servlet映射,以确保FCKeditor的请求能正确地被处理。 最后,`struts2不兼容解决.txt`可能是记录了如何解决FCKeditor与Struts2框架不...

    Struts2+Hibernate+Spring框架整合所需的jar文件

    Spring框架则是一个全面的后端解决方案,它支持依赖注入(DI)、面向切面编程(AOP)、事务管理等。Spring的核心jar文件包括spring-context、spring-web、spring-tx等,它们为应用程序提供了一个灵活的运行时环境。 ...

    fckeditor-java-2.6-src

    5. **与其他技术的整合**:可能会涉及如何将FCKeditor与Spring、Struts等框架集成,以及与数据库、文件系统交互,处理用户上传的文件。 6. **示例代码**:提供实际的Java代码片段,展示如何在项目中应用FCKeditor,...

    fck资源整合包

    总的来说,这个资源整合包是为了解决在Struts和Hibernate环境下使用FCKeditor时可能出现的中文乱码问题,提供了一套完整的解决方案。对于开发人员来说,理解和掌握这三个技术的集成与配合,不仅能有效解决当前问题,...

    myvoice新闻系统

    从这些文件我们可以推测,myvoice新闻系统提供了一个完整的新闻发布、编辑和管理的解决方案,用户可以通过富文本编辑器创建和格式化新闻内容,同时系统支持多种数据库选择,具有一定的灵活性和可扩展性。对于想要...

    软件开发中动态表单的解决方案 (2010年)

    通过分析动态表单的实现原理和运行机制,采用MVC架构,运用Struts,Spring和iBATIS整合的轻量级J2EE的多层软件架构和模块化思想,结合Fckeditor在线编辑器和FreeMarker组件,设计并实现了一个B/S结构的、可视化的动态表单...

    宏天JAVA开发平台

    广州宏天软件有限公司,作为一家由前IBM、华为、复旦大学金仕达、博商软件等JAVA企业级应用领域的顶尖专家创立的企业,自成立以来便致力于结合其深厚的背景优势与广泛的行业资源...

Global site tag (gtag.js) - Google Analytics