CKEditor學習筆記3(CKEditor與CKFinder的Java整合)

下載地址CKEditor
我下載的版本ckfinder_java_2.4
解壓之後,會看到一個CKFinderJava-2.4.war文件,直接放到Tomcat/webapps發佈目錄下,把服務打開就自動解壓了,然後將ckfinder目錄Copy到你項目WebRoot下。
步驟一:將CKFinderJava-2.4下的jar包Copy到你的項目下,還有WEB-INF/config.xml文件Copy到你的項目WEB-INF/下。
步驟二:修改config.xml文件(說明:CKFinderJava/userfiles/目錄存儲文件的目錄)
<enabled>true</enabled>
<baseURL>/CKEditorAndCKFinder/CKFinderJava/userfiles/</baseURL>
步驟三:在web.xml文件,配置Servlet
<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>false</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>ConnectorServlet</servlet-name>
		<url-pattern>
			/ckfinder/core/connector/java/connector.java
		</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>
步驟四:修改ckeditor/config.js文件(當前也可以是自己編寫的js配置文件,上一篇介紹過)
config.filebrowserBrowseUrl =  '/CKEditorAndCKFinder/ckfinder/ckfinder.html' ;  
config.filebrowserImageBrowseUrl =  '/CKEditorAndCKFinder/ckfinder/ckfinder.html?type=Images' ;  
config.filebrowserFlashBrowseUrl =  '/CKEditorAndCKFinder/ckfinder/ckfinder.html?type=Flash' ;  
config.filebrowserUploadUrl =  '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files' ;  
config.filebrowserImageUploadUrl =  '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images' ;  
config.filebrowserFlashUploadUrl =  '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash' ;  
config.filebrowserWindowWidth = '1000';  
config.filebrowserWindowHeight = '700';  
config.language =  "zh-cn" ;

關於文件名亂碼,圖片不能顯示問題。
解決方案一:修改Tomcat web.xml配置文件
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="6060" protocol="HTTP/1.1" redirectPort="8443"/>
當然,該方式不合適,導致全部站點使用同樣的編碼方式(對於GET請求還存在其它問題)。
解決方案二:
修改源代碼,實現文件重命名
1、通過UUID.randomUUID().toString()
2、日期命名法
我創建新的項目,將CKFinder源碼導入,修改FileUploadCommand類的saveTemporaryFile方法,將newFileName重命令即可。
1、用壓縮軟件打開jar包,找到修改文件的路徑。
2、把編譯好的class文件添加到jar包的該路徑下替換原來的文件
3、收工!

不上代碼了,希望大家自己能夠獨立解決哦。下一篇,介紹一下CKEditor一些基本常用配置。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章