学而实习之 不亦乐乎

Java:ckfinder 在 Java Web 中的使用

2020-08-09 15:34:25

1.在官网下载ckfinder_java_2.x.x.zip文件并解压。

2.再将解压文件中的CKFinderJava.war文件解压拷贝ckfinder到工程目录下,与WEB-INF目录同级。

3.将CKFinderJava\WEB-INF\lib文件夹下的所有jar文件拷贝到自己工程的WEB-INF\lib

4.将WEB-INF\目录下的config.xml文件拷贝到自己工程WEB-INF目录下。

5.在web.xml文件中添加如下代码:

<servlet>
<servlet-name>ConnectorServlet</servlet-name>
<servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>XMLConfig</param-name>
<param-value>/WEB-INF/config.xml</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>test</servlet-name>
	<servlet-class>cktest.test</servlet-class>
  </servlet>
<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
<url-pattern>
/ckfinder/core/connector/java/connector.java
</url-pattern>
</servlet-mapping>
  <servlet-mapping>
	<servlet-name>test</servlet-name>
	<url-pattern>/servlet/test</url-pattern>
  </servlet-mapping>
<filter>
<filter-name>FileUploadFilter</filter-name>
<filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
	<init-param>
		<param-name>sessionCookieName</param-name>
		<param-value>JSESSIONID</param-value>
	</init-param>
	<init-param>
		<param-name>sessionParameterName</param-name>
		<param-value>jsessionid</param-value>
	</init-param>
</filter>
<filter-mapping>
<filter-name>FileUploadFilter</filter-name>
<url-pattern>
/ckfinder/core/connector/java/connector.java
		</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>10</session-timeout>
</session-config>

6.到页面应用

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<title>CKFinder - Sample - Popup</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<meta name="robots" content="noindex, nofollow"/>
	<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
	<script type="text/javascript" src="/ckfinder/ckfinder.js"></script>
</head>

<body>
<div>
	<textarea id="txtContent" runat="server" class="form-control"></textarea>
</div>
<script>

	var x;
	var editors = new Array();

	editors[0] = CKEDITOR.replace('txtContent', {height: 400});

	for (x in editors) {
		CKFinder.setupCKEditor(x, 'ckfinder/');
	}

</script>

</body>
</html>