Contribute to this guideReport an issue

指南概述

CKFinder 是一个 Ajax 应用程序,其前端完全使用 JavaScript 编写。它通过 JSON 消息与服务器通信。在服务器端,有一个用特定服务器语言编写的“连接器”,用于处理前端请求。下图说明了这一点

Diagram of CKFinder architecture overview.

# 连接器架构

CKFinder 3 for Java 连接器是一个基于 Spring 功能构建的常规 servlet

  • spring-context – 用于依赖注入、事件和资源管理。
  • spring-web – 用于与 Web 相关的任务。

# 路径扫描

CKFinder 的 servlet 初始化其自己的内部应用程序上下文,并对 com.cksource.ckfinder 包执行路径扫描以发现和注册所有组件。如果您需要添加自定义路径以扫描组件,可以使用 scan-path servlet 初始化参数。

要注册您的自定义组件(例如 Authenticator),您需要将代码放在 com.cksource.ckfinder 包中,或者放在您使用 scan-path servlet 初始化参数注册的包中。

Servlet 初始化参数可以通过多种方式设置。在下面,您可以看到使用标准部署描述符(web.xml 文件)设置 scan-path 参数的示例。由于这一点,CKFinder 的 Authenticator 或任何其他自定义代码可以放置在您选择的包中。在下面给出的示例中,它位于名为 com.example.ckfinder 的包中。

<!-- web.xml -->
<servlet>
    <init-param>
        <param-name>scan-path</param-name>
        <param-value>com.example.ckfinder</param-value>
    </init-param>
    <servlet-name>CKFinder</servlet-name>
    <servlet-class>com.cksource.ckfinder.servlet.CKFinderServlet</servlet-class>
    <multipart-config>
        <location>/tmp</location>
        <max-file-size>5242880</max-file-size><!--5MB-->
        <max-request-size>20971520</max-request-size><!--20MB-->
        <file-size-threshold>0</file-size-threshold>
    </multipart-config>
</servlet>