`
zhangfeilo
  • 浏览: 399156 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

struts2 + kindeditor 报服务器发生故障

阅读更多

1. 使用firefox的firebug调试发现路径没有问题,官网的案例讲的也比较明白。排除这些错误。

2. debug发现parseRequest方法异常,一查发现是struts2的原因,struts2将request封装成org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper 了。

解决方案:

1. 将web.xml 中?struts过滤器改成如下:

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
?</filter-mapping>

2. 重写上传文件部分

<%@?page?language="java"?pageEncoding="GBK"%> 
<%@page 
import="java.util.*,java.io.*, 
org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper, 
java.util.concurrent.locks.*"%> 
<% 
//Struts2 请求?包装过滤器 
MultiPartRequestWrapper?wrapper?=?(MultiPartRequestWrapper)?request; 
//?获得上传的文件名 
String?fileName?=?wrapper.getFileNames("imgFile")[0]; 
//获得未见过滤器 
File?file?=?wrapper.getFiles("imgFile")[0]; 
//-----------?重新构建上传文件名---------------------- 
final?Lock?lock?=?new?ReentrantLock(); 
String?newName?=?null; 
lock.lock(); 
try?{ 
//加锁为防止文件名重复 
newName?=?System.currentTimeMillis() 
+?fileName.substring(fileName.lastIndexOf("."), 
fileName.length()); 
}finally?{ 
lock.unlock(); 

//------------?锁结束?------------- 
//获取文件输出流 
FileOutputStream?fos?=?new?FileOutputStream(request.getSession() 
.getServletContext().getRealPath("/") 
+?"ke_upload\\"?+?newName); 
//设置?KE?中的图片文件地址 
String?newFileName?=?request.getScheme()?+?"://" 
+?request.getServerName()?+?":"?+?request.getServerPort() 
+?request.getContextPath()?+?"/ke_upload/"?+?newName; 
byte[]?buffer?=?new?byte[1024]; 
//获取内存中当前文件输入流 
InputStream?in?=?new?FileInputStream(file); 
try?{ 
int?num?=?0; 
while?((num?=?in.read(buffer))?>?0)?{ 
fos.write(buffer,?0,?num); 

}?catch?(Exception?e)?{ 
e.printStackTrace(System.err); 
}?finally?{ 
in.close(); 
fos.close(); 

//发送给KE 
out.println("<html><head><title>Insert?Image</title><meta?http-equiv='content-type'?content='text/html;?charset=gbk'/></head><body>"); 
out.println("<script?type='text/javascript'>"); 
out.println("parent.parent.KE.plugin['image'].insert('" 
+?wrapper.getParameter("id")?+?"','"?+?newFileName?+?"','" 
+?wrapper.getParameter("imgTitle")?+?"','" 
+?wrapper.getParameter("imgWidth")?+?"','" 
+?wrapper.getParameter("imgHeight")?+?"','" 
+?wrapper.getParameter("imgBorder")?+?"','" 
+?wrapper.getParameter("align")?+?"');</script>"); 
out.println("</body></html>"); 
%> 

?参考:

http://commons.apache.org/fileupload/faq.html#howto-parse-in-action

http://www.iteye.com/topic/599971

http://topic.csdn.net/u/20090514/10/ba62c761-e591-4c9e-859a-87907634ea13.html

分享到:
评论

相关推荐

    struts2+kindEditor4.1.7

    2、复制struts需要的jar包和kindEditor必须jar包到lib下,因为它们的jar包邮重复,选择最新的就ok 3、如果需要后台java代码获取内容,可以在action中定义content属性,getContent就可以获取到 需要注意的是,这里的 ...

    struts2+kindEditor图片上传问题

    只需把这个 upload_json.jsp 文件替换 原有的即可 轻松加愉快

    自己实现的简单weike系统(ssh+kindEditor)

    这个项目是一个自建的简易威客(weike)平台,它采用SSH(Spring、Struts2、Hibernate)框架进行开发,并集成了KindEditor作为富文本编辑器。SSH框架是Java Web开发中常用的三大开源框架组合,它们各自负责不同的...

    struts2版kindeditor

    1. **集成目的**:Struts2框架通常用于处理服务器端逻辑,而KindEditor作为前端组件,负责用户交互和内容编辑。将两者结合,可以实现在后端处理富文本编辑器提交的数据,如保存到数据库或进行其他业务操作。 2. **...

    spring4+hibernate4+mysql+ligerUI+kindeditor

    实际项目,修改数据库文件和对应的配置就能够自动生成数据库,可运行,springMVC的各种使用方式和aop的切面配置均可见到,里面spring4和hibernate4的整合配置弄了两天才解决,绝对物有所值

    struts2image kindeditor

    Struts2Image与KindEditor是两个在Web开发中常见的组件,它们主要用于提升用户交互体验和内容管理。在这里,我们将深入探讨这两个组件以及它们在实际应用中的结合。 **Struts2Image** Struts2Image通常指的是Struts...

    公式编译器整理jmeditor+kindeditor

    2. 用户体验:提供直观的公式输入方式,如支持快捷键、拖放等。 3. 性能优化:公式渲染的速度直接影响用户体验,需要合理选择和配置公式库。 4. 数据持久化:保存和加载带有公式的文本,需要处理好公式与普通文本的...

    struts2+kinEditor整合

    2、复制struts需要的jar包和kindEditor必须jar包到lib下,因为它们的jar包邮重复,选择最新的就ok 3、如果需要后台java代码获取内容,可以在action中定义content属性,getContent就可以获取到 需要注意的是,这里的 ...

    Extjs+Kindeditor的例子

    ExtJS和KindEditor是两个在Web开发中常用的库。ExtJS是一个强大的JavaScript框架,用于构建交互式的、数据驱动的富客户端应用。它提供了一系列组件化的UI控件,使得开发者能够轻松创建复杂的用户界面。而KindEditor...

    asp.net+kindeditor

    2. **创建编辑器实例**:在ASP.NET的代码中,找到合适的位置创建KindEditor的实例。这通常在HTML代码中通过JavaScript来实现,例如在页面的`&lt;body&gt;`部分或者在某个按钮的点击事件中初始化编辑器。 3. **服务器端...

    jquery + kindEditor使用

    ### jQuery + KindEditor 使用详解 #### 一、简介 KindEditor是一款非常强大的Web富文本编辑器,它基于JavaScript实现,并支持多种浏览器环境。KindEditor具备丰富的功能,如文本格式化、图片上传、代码高亮等,...

    jquery + kindEditor 单个图片上传

    ### jQuery + KindEditor 单个图片上传知识点解析 #### 一、概述 本文将详细介绍如何使用jQuery结合KindEditor实现单个图片的上传功能,并能在文本编辑器中展示已上传的图片。KindEditor是一款轻量级的富文本编辑器...

    jsp+kindeditor html 页面编辑

    2. **KindEditor简介** KindEditor是由韩国KindSoft公司开发的一款开源的在线HTML编辑器,支持多语言,提供丰富的API和自定义配置,可以方便地集成到各种Web应用中。它提供了一套完整的富文本编辑界面,包括字体...

    kindeditor-v4.0.6 Struts2修订版

    Kindeditor-v4.0.6 Struts2修订版是一个针对KindEditor编辑器与Struts2框架集成时出现的文件上传问题进行修复的版本。在原版的KindEditor中,当它与Struts2框架整合时,可能会遇到上传功能无法正常工作的情况。这...

    国内技术强强联手之Nutz+KindEditor+LHGDialog+My97DatePicker

    标题中的“国内技术强强联手之Nutz+KindEditor+LHGDialog+My97DatePicker”揭示了四个关键的IT技术组件,它们在中国的技术社区中被广泛使用,并且经常一起集成到项目中以提供强大的功能。现在,我们将深入探讨这些...

    kindEditor编辑器与struts2整合的源文件

    相对于FCKeditor,KindEditor在与Struts2框架整合时,有着更便捷的优势,因为它通常不需要开发者进行额外的过滤文件重写工作。这种无缝对接减少了开发时间,提高了开发效率。 Struts2是Java企业级开发中的一个流行...

    DWZ+ThinkPHP+kindeditor整合,及DWZ官方整合部分小BUG修复

    2、将kindeditor的上传功能及文件浏览功能整合到Thinkphp中,杜绝一些安全隐患。 3、原来 DWZ官方 整合的只有文章系统,没有文章分类,我将原来的文章的数据库字段做了一些修改,增加了无限级分类。 4、修复了一些...

    Struts2+Hibernate开发的BBS系统(可做毕业设计参考)

    Struts2和Hibernate是两种非常重要的Java开源框架,它们在Web应用开发中有着广泛的应用,尤其是在构建复杂的BBS(论坛)系统时。本项目“Struts2+Hibernate开发的BBS系统”提供了一个完整的示例,可以作为毕业设计的...

    Myeclipse struts2框架的文本在线编辑器kindeditor-4.1.9

    在MyEclipse中集成Struts2和KindEditor,首先需要确保已安装MyEclipse,并配置好Java环境以及Tomcat服务器。接下来,我们来详细讲解这个过程: 1. **创建项目** - 在MyEclipse中新建一个Dynamic Web Project,设置...

Global site tag (gtag.js) - Google Analytics