`
pharaohsprince
  • 浏览: 295824 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

通过虚拟地址解决fckeditor错误的加载/fckeditor/fckstyles.xml

阅读更多

原创来自:http://clarancepeng.iteye.com/blog/110483
感谢:
clarancepeng
------------------------------------------------------------------------------
fckeditor是一个很好的在线文本编辑器,它友好的界面,强大的功能,得到了很多使用者的好评,在tomcat底下使用它,觉得挺顺利的,一旦把程序移植到
weblogic底下,就碰到了一个烦人的问题
Error loading "/fckeditor/fckstyles.xml"
Do you want to see more info?

此时就纳闷起来了,这个fckstyles.xml明明在里面,而且也能通过url直接访问到它,却不能加载成功,此时立马想到了第一种解决方案,这段不就是调试
信息吗?跑到fckconfig.js中找到相应位置,注释掉它不就好了啊,但毕竟不是什么良策。
接着就抱着转牛角尖的心态,跑到fckeditor的论坛上面逛了一圈,发现果真有好些人遇到了跟我相似的情况, 却苦于找不到解决方案, 其中一个人的解决
方案给了我一些启发,他分析了产生问题的原因是因为fckstyles.xml没有被ie用contentType:text/xml方式下载,所以导致了不能解析,他是在php底下做
开发的,他直接把fckstyles.xml的第一行改成
<?php header('Content-type: text/xml');?><?php echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"; ?>
我的代码是java的,这种方式先不说可行不,至少对我来说, 是没有任何用处, 但给了我一些启发,所以我的第二种解决方案的核心是:保证fckstyles.xml
能以text/xml方式下载:这次又想到用urlrewrite.xml做一个地址转换,同时在转换的过程中设置一下contentType
<rule>
<from>^/fckeditor/xml/([_.0-9a-zA-Z]+).xml$</from>
<to>/fckeditor/$1</to>
<set type="content-type">text/xml</set>
</rule>
同时修改
FCKConfig.StylesXmlPath=FCKConfig.EditorPath + 'fckstyles.xml' ;

FCKConfig.StylesXmlPath=FCKConfig.EditorPath + 'xml/fckstyles.xml.xml' ;
到此,再跑一下程序, 错位消失,一切ok了

-----------------------------------------------------------------------
备注:
期间要用到的urlrewrite包 参考如下
第一步:http://tuckey.org/urlrewrite/ 上下载urlrewrite-3.0.3.jar包,放到webapp classpath下

第二步:在web.xml配置UrlRewriteFilter:

代码
  1. <filter>  
  2.     <filter-name>UrlRewriteFilter</filter-name>  
  3.     <filter-class>  
  4.          org.tuckey.web.filters.urlrewrite.UrlRewriteFilter   
  5.     </filter-class>  
  6.     <init-param>  
  7.         <param-name>logLevel</param-name>  
  8.         <param-value>WARN</param-value>  
  9.     </init-param>  
  10. </filter>  
  11. <filter-mapping>  
  12.     <filter-name>UrlRewriteFilter</filter-name>  
  13.     <url-pattern>/*</url-pattern>  
  14. </filter-mapping>  

第三步:在web-inf下新建urlrewrite.xml文件,简单填入以下内容:

代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"   
  3.      "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">  
  4.   
  5. <urlrewrite>  
  6.     <rule>  
  7.         <note>  
  8.              - 这是一个通用请求url rewrite   
  9.              - 将请求forword url加上“.do”的处理器上。   
  10.              - 例:   
  11.              -    请求 http://{domain}/user/login     将被forward到 http://{domain}/user/login.do   
  12.              -    请求 http://{domain}/user/login/    将被forward到 http://{domain}/user/login.do   
  13.              -    请求 http://{domain}/user/logout/   将被forward到 http://{domain}/user/logout.do   
  14.         </note>  
  15.         <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?$</from>  
  16.         <to type="forward">/$1.do</to>  
  17.     </rule>  
  18.   
  19. </urlrewrite>  

第四步:启动web应用,将原来需要.do的请求改为去掉.do后请求,看看结果。

第五步:更详细的规则定义,请看http://tuckey.org/urlrewrite/manual/3.0/

 

另外,tomcat自 5.0.15 后,提供了一个类似rewrite做法(for simple balance):

filter + 自带或定制的rule规则实现 + redirect重定向(没有forward,故url将被改为被重定向后的地址)。

在rewrite处理上,tomcat提供的功能是比较一般的,不及上面介绍的jar包。
但是tomcat的做法是根据具体的HttpServletRequest来做判断的,不仅仅是进来的请求的url,所以,各有千秋。

参考资料:
http://tomcat.apache.org/tomcat-5.5-doc/balancer-howto.html
http://src.opensolaris.org/source/xref/sfw/usr/src/cmd/tomcat/apache-tomcat-5.5.17-src/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java 



分享到:
评论

相关推荐

    已解决FCKeditor在Weblogic下发布Error Loading错误的例子

    已解决FCKeditor在Weblogic下发布Error Loading错误的例子,采用了网上比较流行的"通过虚拟地址解决fckeditor错误的加载/fckeditor/fckstyles.xml”,具体方法可参照:...

    PHP FCKeditor_2.6.6 瘦身精简版 带重命名上传+实例使用说明

    /fckstyles.xml /fckeditor_php5.php /fckeditor_php4.php /fckeditor.php /fckeditor.js /fckconfig.js /editor/ fckeditor.php : BasePath为默认Fckeditor的目录,也可以在调用的时候指定. 三、\fckconfig.js 语言...

    FCKEDITOR学习笔记资料.pdf

    - 保留必要的配置文件,如fckconfig.js、fckeditor.js、fckstyles.xml、fcktempletes.xml、fckpackager.xml以及fckeditor文件夹,并删除所有以“_”开头的文件和文件夹,因为它们通常是测试或示例文件。 4. **编辑...

    FCKeditor的一些说明

    网上说还有一个东西要下,就是xalan.jar,xml.apache.org是它的网站。 现在开始设置,先到tomcat-&gt;webapps里建立一个文件夹叫mysite。把FCKeditor里的/editor和fckconfig.js, fckeditor.js, fckstyles.xml, ...

    FCKeditor 在JSP上的完全安装.doc

    - 删除`/FCKeditor/`目录下除`fckconfig.js`, `fckeditor.js`, `fckstyles.xml`, `fcktemplates.xml`四个文件以外的所有文件。 - 删除`/editor/_source`目录。 - 删除`/editor/filemanager/browser/default/...

    fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法

    本文实例讲述了fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法。分享给大家供大家参考,具体如下: 当部署含有Fckeditor编辑器的应用程序时,在tomcat下什么问题都没有,但当部署到weblogic下...

    在jsp环境中配置使用FCKEditor

    6. **清理不必要的文件**: 完成配置后,建议清理掉FCKeditor目录中的多余文件,保留必要的文件如fckconfig.js、fckeditor.js、fckstyles.js等,保持目录的整洁。 通过以上步骤,可以在JSP环境中成功配置并使用...

    HTML编辑器FCKeditor在J2EE项目的使用配置

    将解压后的`fckconfig.js`, `fckeditor.js`, `fckstyles.xml`, `fcktemplates.xml`等核心文件以及整个`web`目录复制到你的J2EE项目的Web根目录下,创建一个名为`FCKeditor`的新目录,并将这些文件和目录放入其中。...

    FCKedit详细配置说明

    3. 同样解压缩FCKeditor_2.3.2.zip,将fckconfig.js、fckeditor.js、fckstyles.xml和fcktemplates.xml文件复制到WebRoot目录。 4. 解压缩FCKeditor.java-2.3.zip,将\web\WEB-INF\lib下的两个jar文件移动到项目的Web...

    FCKeditor在java web程序中的使用介绍

    同时,将`fckconfig.js`、`fckeditor.js`、`fckstyles.xml`和`fcktemplates.xml`文件也复制到项目根目录。 3. 解压缩FCKeditor.java-2.3.zip文件,将`web/WEB-INF/lib`目录下的两个JAR文件移动到项目的`WEB-INF/lib`...

    FCKEditor2.6和fckeditor-java2.4的使用.doc

    - 我们需要关注的是`editor`文件夹以及`fckeditor`目录下的五个文件:`fckconfig.js`、`fckeditor.js`、`fckpackager.xml`、`fckstyles.xml`、`fcktemplates.xml`。 2. **部署至web应用**: - 将上述文件复制到...

    最新FCKeditor_2.6 版本 FCKeditor编辑器和控件

    兼容目前的浏览器 里面包含... 根目录下,只保留文件夹editor,文件fckconfig.js、fckeditor.js、fckpackager.xml、fckstyles.xml和fcktemplates.xml。 子目录editor/filemanager/connectors下,只保留文件夹aspx。

    php配置fckeditor 2.6.6

    php4.php`(PHP 4调用文件)、`fckeditor_php5.php`(PHP 5调用文件)、`fckstyles.xml`(样式文件)、`fcktemplates.xml`(模板文件)以及`editor`文件夹内的文件。 - 删除除上述文件外的所有其他文件。 2. **...

    php配置fckeditor2.6.6[借鉴].pdf

    - `fckstyles.xml`: 样式文件。 - `fcktemplates.xml`: 模板文件。 - `editor`文件夹: 包含编辑器的核心文件。 2. **删除非必需文件**: - 删除`/editor/_source/`目录及其内容。 - 删除`/editor/filemanager/...

    FCKeditor在线编辑器的使用

    为了减少项目的体积并提高加载速度,建议删除一些不必要的文件,例如`fckconfig.js`、`fckeditor.js`、`fckstyles.xml`、`fcktemplates.xml`等。同时,也可以删除一些子文件夹,如`_source`、`filemanager`下的某些...

    Fckeditor 2.6.4的详细配置,解决了中文文件夹,中文图片的问题

    2. 使用 `fckstyles.xml` 文件定义自定义样式,以便在编辑器中应用。 3. 如果需要调整字体、颜色等默认样式,可以修改 `fckeditor.css` 文件。 **五、安全与优化** 1. 注意设置上传文件类型限制,避免安全隐患。 2...

    Fckeditor2.6.3

    1.FCKeditor出现"this connector is disabled Please check the"editor/filemanager/connectors/aspx/config.aspx"错误的解决办法 打开editor/filemanager/connectors/aspx/config.ascx修改CheckAuthentication()...

    fckeditor设置和使用方法

    - FCKeditor支持自定义样式和模板,可以通过修改`fckstyles.xml`和`fcktemplates.xml`来实现。 - 可以利用`Plugins`目录中的插件扩展功能,或者开发自己的插件。 通过以上步骤,你可以在ASP.NET项目中成功集成并...

    fckeditor配置

    保留`editor`文件夹,以及`fckconfig.js`, `fckeditor.js`, `fckstyles.xml`, `fcktemplates.xml`等核心文件,其中: - `fckconfig.js`:编辑器的配置文件,可以自定义编辑器行为。 - `fckeditor.js`:API文件,...

Global site tag (gtag.js) - Google Analytics