ckeditor等編輯器和struts結合,無法上傳圖片問題

ckeditor與struts結合的時候,需要注意Struts的filter將會處理上傳文件,而導致無法正常上傳文件
推薦解決方案,
重寫struts的StrutsPrepareAndExecuteFilter
Java代碼 複製代碼 收藏代碼
  1. import java.io.IOException;  
  2.   
  3. import javax.servlet.FilterChain;  
  4. import javax.servlet.ServletException;  
  5. import javax.servlet.ServletRequest;  
  6. import javax.servlet.ServletResponse;  
  7. import javax.servlet.http.HttpServletRequest;  
  8.   
  9. import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;  
  10.   
  11. /** 
  12.  *  
  13.  * 解決圖片上傳bug的struts過濾器 
  14.  * 
  15.  */  
  16. public class MyStruts2Filter extends StrutsPrepareAndExecuteFilter{  
  17.   
  18.     @Override  
  19.     public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain) throws IOException, ServletException {  
  20.         HttpServletRequest request = (HttpServletRequest) arg0;  
  21.         String uri = request.getRequestURI();  
  22.         if(uri.endsWith("/ckfinder/core/connector/java/connector.java")){//其他在線編輯器也可能存在此情況,依此方法解決  
  23.             chain.doFilter(arg0, arg1);  
  24.         }else{  
  25.             super.doFilter(arg0, arg1, chain);  
  26.         }  
  27.     }  
  28.   
  29.       
  30. }  


對應在web.xml中修改
Java代碼 複製代碼 收藏代碼
  1. <filter>  
  2.         <filter-name>struts2</filter-name>  
  3. <!--        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>-->  
  4.         <filter-class>MyStruts2Filter</filter-class>  
  5.     </filter>  
  6.   
  7.     <filter-mapping>  
  8.         <filter-name>struts2</filter-name>  
  9.         <url-pattern>/*</url-pattern>  
  10.     </filter-mapping>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章