2019独角兽企业重金招聘Python工程师标准>>>

使用JFinal对之前的系统进行重构,老系统使用了CKEditor+CKFinder编辑器,发现在web.xml中配置ConnectorServlet会被JFinalFilter过滤处理,而且使用JFinal之后也不想在web.xml中增加额外的配置,所以尝试的写了JFinal整合CKFinder的Handler,由于我对CKEditor+CKFinder不熟悉,可能整合的并不完整,这里只当参考,欢迎提供更好的解决方案~~

package com.jfinal.ext.handler;import java.util.Enumeration;
import java.util.Properties;import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.ckfinder.connector.ConnectorServlet;
import com.hikvision.util.base.PropertiesKit;
import com.jfinal.handler.Handler;public class CKFinderHandler extends Handler
{private String visitPath = "/ckfinder/core/connector/java/connector";private ConnectorServlet servlet = new ConnectorServlet();private Properties properties;public CKFinderHandler() {}public CKFinderHandler(String cfgPath) {this.properties = PropertiesKit.loadPropertyFile(cfgPath);}public CKFinderHandler(String visitPath, String cfgPath){this.visitPath = visitPath;this.properties = PropertiesKit.loadPropertyFile(cfgPath);}@Overridepublic void handle(String target, final HttpServletRequest request, HttpServletResponse response, boolean[] isHandled){if (target.startsWith(visitPath)) {isHandled[0] = true;try {servlet.init(new ServletConfig(){@Overridepublic String getServletName() {return null; }@Overridepublic ServletContext getServletContext() {return request.getSession().getServletContext(); }@SuppressWarnings("rawtypes")@Overridepublic Enumeration getInitParameterNames() {return null; }@Overridepublic String getInitParameter(String name){return properties.getProperty(name);}});servlet.service(request, response);} catch (Exception e) {throw new RuntimeException(e);}}else {nextHandler.handle(target, request, response, isHandled);}}
}
@Override
public void configHandler(Handlers me)
{me.add(new CKFinderHandler("classes/ckfinder.properties"));
}

ckfinder.properties

debug=false
XMLConfig=/WEB-INF/config.xml

转载于:https://my.oschina.net/u/866950/blog/130183

JFinal整合CKFinder相关推荐

  1. jfinal整合shiro回顾

    2019独角兽企业重金招聘Python工程师标准>>> 目前jfinal使用shiro进行身份验证和授权的后台实现已完成,现在我再来总结下学习过程及代码实现过程.最近半年多项目开发都 ...

  2. JFinal整合Shiro(二)

    原文:http://zhangxiao.org/2016/jfinal-shiro-integration2/ 续上一篇<JFianl整合Shiro(一)> 我准备在这里,具体的描述下JF ...

  3. jfinal整合quartz实现定时任务的两种方式

    第一种实现方式 1.导入包 <dependency>             <groupId>org.quartz-scheduler</groupId>    ...

  4. jfinal整合IJPay paypal支付

    这里写目录标题 环境准备 1.注册paypal账户 2.登录开发者中心 3.创建沙箱账户 4.在沙箱模式创建一个app,平台默认创建好了一个 4.1填写信息 4.2绑定某个沙箱账号 4.3Client ...

  5. jfinal整合妹子UI初步完成

  6. Ckeditor+Ckfinder+Ext4 整合

    @author:杨虹昌 原文地址:http://blog.csdn.net/yanghongchang_/article/details/12778695 时间:2013年10月15日 CSDN讨论组 ...

  7. CKfinder 和 CKEditor 在 ASP.NET 下的配置

    A配置 CKfinder 和 CKEditor 不需要配置,直接拷贝就好.CKfinder 有个bin需要引用,位置就在文件夹下 B因为安全原因,文件不可浏览.请联系系统管理员并检查CKFinder配 ...

  8. jfinal框架增加微信jsapi支持

    部分手机在图片上传的时候,调取不到sd卡相册或其他图片,为了解决这个兼容性问题,同一个页面使用了两种图片上传方案. html5 :图片编码成base64 ,发送到后台,解码存储.这种方法用于解决非微信 ...

  9. jfinal使用shiro注解大体流程

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇答题梳理了jfinal整合shiro的流程,jfinal读取shiro注解,这一篇将作为补充. 1.JFinalShir ...

最新文章

  1. Flex Air程序打包成独立的exe安装文件
  2. mysql创建非聚集索引_聚集索引和非聚集索引的区别
  3. InnoDB与MyISAM的六大区别(转)
  4. 如何找到SAP Cloud for Customer标准培训和认证方面的信息
  5. 面向对象(封装对象private关键字)
  6. jquery检测input变化_jquery 监控input输入框值得变化
  7. 对Python列表进行封装和二次开发实现自定义栈结构
  8. Java Web开发技术教程入门-Model1和Model2
  9. Ubuntu环境搭建零:安装Linux虚拟机
  10. 苹果电脑如何使用Tuxera NTFS for mac抹掉NTFS格式
  11. 初级药师职称需要考计算机英语吗,药师职称评审政策解读:初级药师不用再考了!...
  12. PART 1.3 风控利率那些事儿(名义利率 实际利率 还款方式 以及 计算逻辑汇总)
  13. Adobe Photoshop CC 2014图文永久安装教程 1
  14. 旋转(Rotation)矩阵转欧拉角(euler)
  15. js正则表达式 验证非负数
  16. Vue2Editor 中文API
  17. 【Lesson 6】 add2和弦
  18. 快速排序讲解+示意图
  19. 认认真真推荐9个高质量公众号
  20. 涠洲岛日出日落时间表_在涠洲岛看日出日落

热门文章

  1. WebService应用一例,带有安全验证
  2. windows 服务实例
  3. WinRAR 命令行简体中文说明
  4. 在linux系统中查看组管理信息命令,Linux用户和组管理常用命令
  5. 计算机网络第5章(传输层)
  6. 江苏计算机信息录入技师选拔考试题,2010年江苏省机关事业单位工人技师资格选拔考试试卷...
  7. java删除一级域名下cookie_java操作cookie示例(删除cookie)
  8. windows2003 apache php mysql_Windows 2003搭建Apache PHP MySQL环境经验分享
  9. GC的作用域,方法区和堆
  10. APP技巧:一次性给手机充电到100%最佳?大部分人都做错了