jsp关于jspsmart下载问题
<a href="loaddown.jsp">广告发布 </a>
点击执行load.jsp,如下程序
<%@ page contentType="text/html;charset=gb2312"
import="com.jspsmart.upload.*" import="java.sql.*"%>
<jsp:useBean id="db" class="jizhetuan.connectDB" />
<%
ResultSet rs = null;
String sql = "select * from news";
rs = db.executeQuery(sql);
// 新建一个SmartUpload对象
out.clearBuffer();
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
// 下载文件
try {
if (rs.next()) {
String lu = rs.getString("content");
String str = "/images/upload/" + lu;
su.downloadFile(str);
}
} catch (Exception e) {
e.printStackTrace();
}
try {
db.closeDB();
} catch (Exception e) {
e.printStackTrace();
}
%>
执行这一段程序时出现异常为:java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:163)
org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:122)
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:115)
org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:190)
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:115)
org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)
org.apache.jsp.loaddown_jsp._jspService(loaddown_jsp.java:94)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
|