`
speed_guo
  • 浏览: 313860 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
社区版块
存档分类
最新评论

jspsmartupload 下载文件出错提示:getOutputStream() has already been called

阅读更多

ype Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:528)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
 

root cause

java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.catalina.connector.Response.getWriter(Response.java:608)
org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:200)
org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:189)
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:122)
org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:79)
org.apache.jsp.do_005fdownload_jsp._jspService(do_005fdownload_jsp.java:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
 

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.2 logs.

----------------------

 由于jsp container在处理完成请求后会调用releasePageContet方法释放所用的PageContext object,并且同时调用getWriter方法,由于getWriter方法与在jsp页面中使用流相关的getOutputStream方法冲突,所以会造成这种异常,解决办法是:

只需要在jsp页面的最后加上两条语句:  
out.clear(); 
out=pageContext.pushBody();即可(其中out,pageContext均为jsp内置对象!)

 

 1<%@ page language="java" contentType="text/html; charset=utf-8"
 2    pageEncoding="utf-8" import="com.jspsmart.upload.*"%>
 3<%
 4    String dfilename = request.getParameter("dfilename");
 5
 6    SmartUpload su = new SmartUpload();
 7    su.initialize(pageContext);
 8    su.setContentDisposition(null);
 9    su.downloadFile("/upload/" + dfilename);
10    out.clear();
11    out = pageContext.pushBody();
12%>

 

 

 

 

 

注明:转自http://www.cppblog.com/fenglin/articles/126788.html

分享到:
评论

相关推荐

    jspsmartupload组件源码.zip_ jspSmartUpload_jsp_jsp 上传文件_jspSmartUplo

    **JSpsmartupload组件**是一个基于Java的上传文件解决方案,主要应用于JSP(Java Server Pages)环境中。这个组件提供了一种简单且强大的方式来处理用户通过网页上传的文件。在标题和描述中提到的,该组件的核心是用...

    使用jspSmartUpload实现文件上传下载

    `jspSmartUpload`是一个非常实用的库,它简化了处理文件上传和下载的复杂性。本文将深入探讨如何使用`jspSmartUpload`来实现这两个功能,并详细解释其工作原理和相关知识点。 首先,`jspSmartUpload`是一个基于Java...

    jspSmartUpload.jar下载.rar

    "jspSmartUpload.jar下载.rar"这个标题和描述暗示了我们讨论的主题是关于一个Java Servlet页面(JSP)上的文件上传功能。`jspSmartUpload.jar`是一个库文件,通常用于帮助开发者在JSP应用中实现文件上传功能。`.rar`...

    jspSmartUpload 组件的上传下载完整实例

    采用jspSmartUpload 组件实现的上传下载的完整实例 下载即可运行,但是这个压缩包不支持中文名称的文件下载功能,我上传了一个可以下载中文的不会乱码的jspSmartUpload 组件,网址:...

    JspSmartUpload文件上传下载.zip

    《JspSmartUpload:JavaWeb中的文件上传与下载实践》 在JavaWeb开发中,文件上传和下载功能是常见的需求,而JspSmartUpload库则为开发者提供了方便、高效的文件处理工具。本教程将深入探讨如何利用JspSmartUpload...

    jspSmartUpload上传下载

    《深入理解JSP SmartUpload上传下载机制》 在Web开发中,文件上传和下载功能是不可或缺的一部分,尤其是在处理用户交互和数据交换时。JSP SmartUpload是一个常用的Java库,专门用于处理文件上传任务,它简化了在JSP...

    使用JSP实现上传下载文件jspSmartUpload

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和jspSmartUpload库来实现文件的上传与下载功能。JSP是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,从而创建交互式的Web应用程序。而jsp...

    jspsmartupload-解决中文乱码

    最近实验室做了一个项目,使用jspsmartupload来实现的文件的上传下载,原来在windows平台运行的挺好,但是后来系统移植到linux平台上,结果在上传或下载的文件名中有中文时就会出现乱码。后来查了网上一些人的解决...

    使用jspSmartUpload组件在jsp中实现上传和下载

    1. **下载并解压**:首先从官方网站下载jspSmartUpload的最新版本,使用WinZip或WinRAR解压缩,得到jspSmartUpload.zip文件。 2. **JAR文件处理**:将解压缩后的jspSmartUpload.jar放置于Tomcat的shared/lib目录下...

    jspSmartUpload实现文件上传下载

    ### jspSmartUpload实现文件上传下载 #### 一、SmartUpload简介 SmartUpload是一个非常流行的Java Web组件,用于处理文件的上传与下载操作。它简化了文件上传过程中的复杂度,使得开发人员能够轻松地在Web应用中...

    用jspsmartupload下载文件

    详细介绍了用jspsmartupload下载文件的几种方法,非常的实用!

    使用jspSmartUpload轻松实现上传和下载

    通过以上步骤,你可以利用`jspSmartUpload`在Java Web应用中实现高效且安全的文件上传和下载功能。注意,尽管`jspSmartUpload`是一个强大的工具,但它已经有些年头了,可能不支持最新的Java和Web技术。在新项目中,...

    JspSmartUpload上传文件实例.rar

    JspSmartUpload上传文件实例,基于JspSmartUpload组件的文件上传实例,JspSmartUpload 上传类,在JSP中进行文件上传的类,内含文档和使用例子。这个在JSP编程环境下,使用频率还是挺高的,这个例子可帮助你在JSp环境...

    JSPSmartUpload.zip 下载

    7. **错误处理**:JSPSmartUpload提供了异常处理机制,当上传过程中出现问题,如文件过大、文件类型不匹配等,可以通过捕获异常来进行相应的错误提示和处理。 8. **安全性考虑**:在实际应用中,需要注意防止文件...

    jspsmartupload上传下载攻略.txt

    ### jspsmartupload上传下载攻略 #### 一、简介与特点 `jspsmartupload`是一款专门为Java Web应用设计的文件上传组件,它提供了一种简单而强大的方式来处理文件的上传需求。与传统的文件上传相比,jspsmartupload...

    jspsmartupload上传下载实例

    JSpsmartUpload是一款强大的Java Servlet组件,专门用于处理文件上传和下载的需求。本篇文章将深入探讨如何利用JSpsmartUpload实现这一功能,并提供一个具有代表性的实例。 **一、JSpsmartUpload组件介绍** JSp...

    JspSmartUpload实现文件上传下载及Mysql函数实现列表分页功能

    在JavaWeb开发中,文件上传和下载是常见的需求,而`JspSmartUpload`是一个流行的库,用于处理这些任务。`JspSmartUpload`提供了一种简单的方式,使得在JSP页面上可以方便地实现文件的上传和下载,极大地简化了开发...

    jspSmartUpload.zip

    jspSmartUpload是一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。 2...

Global site tag (gtag.js) - Google Analytics