JSP使用ckfinder实现Ajax文件上传

最近学习使用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实现Ajax文件上传_第1张图片
 

 下面说说我在配置的过程中遇到的问题,访问JSP页面时,弹出“因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件”的提示!如下图所示:


JSP使用ckfinder实现Ajax文件上传_第2张图片
 

解决办法:

      

       修改WEB-INF目录下的config.xml文件,把 <enabled>false</enabled>修改为<enabled>true</enabled>即可解决。

 

你可能感兴趣的:(jsp,Ajax,文件上传,ckfinder)