错误信息:java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:614)
org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:210)
org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:167)
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:160)
org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:235)
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:160)
org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:120)
org.apache.jsp.jsp.soft.util_jsp._jspService(util_jsp.java:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
com.goldcool.comim.filter.EncodingConvert.doFilter(EncodingConvert.java:22)
org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:614)
org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:210)
org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:167)
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:160)
org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:235)
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:160)
org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:120)
org.apache.jsp.jsp.soft.util_jsp._jspService(util_jsp.java:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
com.goldcool.comim.filter.EncodingConvert.doFilter(EncodingConvert.java:22)
解决方案 »
- Hibernate多表查询问题!
- 关于java的重载-学习
- Spring实时统计与监控Spring-Dashboard及Spring集群Terracotta for Spring
- 一个HQL语句不会写(求助)
- AA:各位GG进来帮助哈要毕业的小弟.........谢谢
- bean连接数据库时的问题!
- 有研究sun的宠物店1.3.1的朋友们吗,进来
- 会话bean的状态和非状态,是否可以理解为.....
- 我想调用*.jar里面的类,请问怎么import和设置环境变量呢?
- SSH整合连接ORACLE,老是出错,大家帮忙看看,多谢!
- 请问weblogic下如何设置在WEB.XML中如何配置初始页面,
- 想写一套开源的用户权限管理系统,给个建议,谢谢
数据库用的big5,页面用gb2312会不会出现问题。
import javax.servlet.http.*;public class Download extends Action {
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
/**@todo: complete the business logic here, this is just a skeleton.*/
try {
String id = httpServletRequest.getParameter("id");
String name = httpServletRequest.getParameter("name");
String dir = httpServletRequest.getParameter("dir"); if (id == null || name == null || dir == null) {
return new ActionForward(actionMapping.getInput());
}
String path = "/WEB-INF/download/" + dir + "/" + name;
httpServletRequest.setAttribute("path",path);
}catch(Exception e) {
System.out.println(e.getMessage());
return new ActionForward(actionMapping.getInput());
} return actionMapping.findForward("success");
}
}下载页代码:
<%@ page contentType="text/html;charset=gb2312"
import="com.jspsmart.upload.*,java.util.*,java.io.*" %><%
String file = (java.lang.String)request.getAttribute("path");
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.setContentDisposition(null); su.downloadFile(file);
%>
而且我不用jspsmartupload直接在页面写下载的代码也出同样错,
具我观察,是在关闭getOutputStream流的时候出错,
我也断点看过,前边读取都没有任何错误,就在关闭的时候就报错
import="com.jspsmart.upload.*,java.util.*,java.io.*"%><%
String file = (java.lang.String)request.getAttribute("path");
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(),request,response);//《--
su.setContentDisposition(null); su.downloadFile(file);
%>