最近学习使用ckfinder实现文件上传,下面详细介绍一下ckfinder在JSP中的应用
1、下载ckfinder
ckfinder官网下载Java版本的ckfinder。
2、解压文件
解压下载的zip文件,解压后的目录下有CKFinderJava.war文件,把该文件放入Tomcat的webapp目录下,启动Tomcat,Tomcat的webapp目录下会生成CKFinderJava文件夹。
3、配置java web项目
(1).复制WEB-INF目录下的config.xml文件到你的项目WEB-INF目录下,并修改如下两处
<enabled>false</enabled>修改为<enabled>true</enabled>
<baseURL>/CKFinderJava/userfiles/</baseURL>其中CKFinderJava为你的项目名称
(2).复制lib里的所有jar文件
把CKFinderJava文件夹里的WEB-INF\lib目录下的所有jar文件复制到自己的Web项目的WEB-INF\lib目录下。
(3).修改你的java web项目的web.xml文件
打开CKFinderJava文件夹里的WEB-INF目录下的web.xml文件,并把以下的代码复制到自己的Web项目的WEB-INF目录下的web.xml文件中。在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>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> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
4、把ckfinder文件加入WEB项目
CKFinderJava文件夹下的ckfinder文件夹复制到WEB项目的WebContent文件夹下
5、在JSP中使用ckfinder
JSP使用ckfinder代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="ckfinder/ckfinder.js"></script>
<title>JSP使用ckfinder实现Ajax文件上传</title>
</head>
<body>
<script type="text/javascript">
var finder = new CKFinder();
finder.basePath = 'ckfinder/';
finder.create();
</script>
</body>
</html>
6、把WEB项目部署到Tomcat,然后启动Tomcat,在浏览器中输入你的jsp访问地址,如:http://localhost:6060/CKFinderJava/index.jsp,效果图如下:
下面说说我在配置的过程中遇到的问题,访问JSP页面时,弹出“因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件”的提示!如下图所示:
解决办法:
修改WEB-INF目录下的config.xml文件,把 <enabled>false</enabled>修改为<enabled>true</enabled>即可解决。