第一篇博文,条理不清还请见谅……
ckeditor想必有很多人使用,而其文件上传功能需要配合ckfinder来使用,当然也有自行制作的。ckeditor与ckfinder的配置方法这里就不阐述了,网上有很多介绍的博文,而且官网也有配置介绍。这里讲述一下我在同时使用struts2和ckfinder时遇到的问题。
问题现象:
配置好ckeditor与ckfinder后,使用ckfinder上传文件,浏览服务器可以正常弹出界面,浏览没有问题。选择上传文件后,没有显示文件上传进度条、或者进度条很快就读完,但是服务目录中并没有之前选择上传的文件。
查找原因:
一开始以为是ckfinder没有配置好,琢磨了好久。后来直接又新建了一个测试项目,测试项目中就只配置了ckeditor和ckfinder,配置好了之后发现可以正常使用。但是两个插件所需的文件都与我正式的项目一样,唯一不同的就是web.xml。在我的项目中事先配置好struts2。比对web.xml后,发现我的项目中多了一个struts2的filter,将struts2的filter去掉之后发现ckfinder可以正常使用。
但是情况比较特殊的是,我的struts2的filter中url-pattern是这样设置的:<url-pattern>/*</url-pattern>
也就是说,对ckfinder的请求同时也被struts2的filter过滤了。具体的web.xml中filter的执行过程参看web.xml中filter的用法
解决办法:
我是直接改掉了struts2的filter,改成<url-pattern>*.action</url-pattern>,这样就不会拦截所有请求
PS: 使用java开发网站经验不足,有很多不熟悉的地方,上述中如有不对的地方还请指正!