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