今天遇到Struts2与FCKeditor整合的问题,我很是无奈,上传图片有问题。还好网上有非常多的解决方案。
我的解决方案和那些差不多,struts2的filter把所有的请求都由org.apache.struts2.dispatcher.FilterDispatcher
转发了,fck的servlet也没有幸免,所以无法上传。可能会出现java.lang.NullPointerException
at com.fredck.FCKeditor.uploader.SimpleUploaderServlet.doPost(SimpleUploaderServlet.java:142)等诸多问题
我现在做个总结,集百家之所长,给出完美解决:
还是改web.xml
代码如下:
<?
xml version="1.0" encoding="UTF-8"
?>
- < web-app version ="2.5" xmlns ="http://java.sun.com/xml/ns/javaee" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
- < servlet >
< servlet-name > Connector </ servlet-name >
< servlet-class > com.fredck.FCKeditor.connector.ConnectorServlet </ servlet-class >
- < init-param >
< param-name > baseDir </ param-name >
< param-value > /UserFiles/ </ 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 > SimpleUploader </ servlet-name >
< servlet-class > com.fredck.FCKeditor.uploader.SimpleUploaderServlet </ servlet-class >
- < init-param >
< param-name > baseDir </ param-name >
< param-value > /UserFiles/ </ param-value >
</ init-param >
- < init-param >
< param-name > debug </ param-name >
< param-value > true </ param-value >
</ init-param >
- < init-param >
< param-name > enabled </ param-name >
< param-value > true </ param-value >
</ init-param >
- < init-param >
< param-name > AllowedExtensionsFile </ param-name >
< param-value />
</ init-param >
- < init-param >
< param-name > DeniedExtensionsFile </ param-name >
< param-value > php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi </ param-value >
</ init-param >
- < init-param >
< param-name > AllowedExtensionsImage </ param-name >
< param-value > jpg|gif|jpeg|pjpeg|png|bmp </ param-value >
</ init-param >
- < init-param >
< param-name > DeniedExtensionsImage </ param-name >
< param-value />
</ init-param >
- < init-param >
< param-name > AllowedExtensionsFlash </ param-name >
< param-value > swf|fla </ param-value >
</ init-param >
- < init-param >
< param-name > DeniedExtensionsFlash </ param-name >
< param-value />
</ init-param >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
- < servlet-mapping >
< servlet-name > Connector </ servlet-name >
< url-pattern > /FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector </ url-pattern >
</ servlet-mapping >
- < servlet-mapping >
< servlet-name > SimpleUploader </ servlet-name >
< url-pattern > /FCKeditor/editor/filemanager/upload/simpleuploader </ url-pattern >
</ servlet-mapping >
- < filter >
< filter-name > struts2 </ filter-name >
< filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class >
</ filter >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > /struts/* </ url-pattern >
</ filter-mapping >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > *.action </ url-pattern >
</ filter-mapping >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > *.jsp </ url-pattern >
</ filter-mapping >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > *.js </ url-pattern >
</ filter-mapping >
- < welcome-file-list >
< welcome-file > index.jsp </ welcome-file >
</ welcome-file-list >
</ web-app >
- < web-app version ="2.5" xmlns ="http://java.sun.com/xml/ns/javaee" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
- < servlet >
< servlet-name > Connector </ servlet-name >
< servlet-class > com.fredck.FCKeditor.connector.ConnectorServlet </ servlet-class >
- < init-param >
< param-name > baseDir </ param-name >
< param-value > /UserFiles/ </ 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 > SimpleUploader </ servlet-name >
< servlet-class > com.fredck.FCKeditor.uploader.SimpleUploaderServlet </ servlet-class >
- < init-param >
< param-name > baseDir </ param-name >
< param-value > /UserFiles/ </ param-value >
</ init-param >
- < init-param >
< param-name > debug </ param-name >
< param-value > true </ param-value >
</ init-param >
- < init-param >
< param-name > enabled </ param-name >
< param-value > true </ param-value >
</ init-param >
- < init-param >
< param-name > AllowedExtensionsFile </ param-name >
< param-value />
</ init-param >
- < init-param >
< param-name > DeniedExtensionsFile </ param-name >
< param-value > php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi </ param-value >
</ init-param >
- < init-param >
< param-name > AllowedExtensionsImage </ param-name >
< param-value > jpg|gif|jpeg|pjpeg|png|bmp </ param-value >
</ init-param >
- < init-param >
< param-name > DeniedExtensionsImage </ param-name >
< param-value />
</ init-param >
- < init-param >
< param-name > AllowedExtensionsFlash </ param-name >
< param-value > swf|fla </ param-value >
</ init-param >
- < init-param >
< param-name > DeniedExtensionsFlash </ param-name >
< param-value />
</ init-param >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
- < servlet-mapping >
< servlet-name > Connector </ servlet-name >
< url-pattern > /FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector </ url-pattern >
</ servlet-mapping >
- < servlet-mapping >
< servlet-name > SimpleUploader </ servlet-name >
< url-pattern > /FCKeditor/editor/filemanager/upload/simpleuploader </ url-pattern >
</ servlet-mapping >
- < filter >
< filter-name > struts2 </ filter-name >
< filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class >
</ filter >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > /struts/* </ url-pattern >
</ filter-mapping >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > *.action </ url-pattern >
</ filter-mapping >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > *.jsp </ url-pattern >
</ filter-mapping >
- < filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > *.js </ url-pattern >
</ filter-mapping >
- < welcome-file-list >
< welcome-file > index.jsp </ welcome-file >
</ welcome-file-list >
</ web-app >
还有个上传注意事项,上传的图片必须是英文名,不能是中文。
本文转自施杨博客园博客,原文链接:http://www.cnblogs.com/shiyangxt/archive/2008/11/04/1326711.html,如需转载请自行联系原作者