String contenttype = rs.getString("contentType");
String filename = rs.getString("fileName");
response.setContentType(contenttype);
response.setHeader("Content-disposition","attachment;filename=" + filename.replace('"', ' '));
java.io.InputStream instream = rs.getBinaryStream("fileData");
byte[] b = new byte[1000];
while (instream.read(b) > 0) {
try {
response.getOutputStream().write(b);
}
catch(Exception e) {}
}
try {
response.getOutputStream().flush();
}
catch(Exception e) {}
通常,它应该允许调用response.getOutputStream()
任意次。我认为您同时呼叫response.getOutputStream()
和response.getWriter()
。
请检查您是否正在呼叫response.getWriter()
任何地方,或者该请求是否正在写入的JSP中进行response.getWriter()
。
我正在用Spring做一个项目,我有这个问题,我谷歌了错误信息,我找到了解决方案,甚至所有关于这个问题的帖子 有人能帮忙吗?
问题内容: 我谷歌的错误消息 ,很多人说,这是因为后面的空格或换行,但在我的代码,没有一个空格或一个换行符。我在Linux上使用tomcat6。 根本原因 问题答案: 好的,你应该使用servlet而不是JSP,但是如果你确实需要…在页面顶部添加以下指令: 或者在jsp-config部分中,你的web.xml 此外flush/ close中OutputStream和返回完成时。
我正在尝试使用以下代码段在浏览器中打开pdf文件: 我收到以下错误: 我还尝试使用以下方式关闭: 有人能帮我吗?
我有一个包含表的JSP页面。加载页面时,将填充表。我还有一个每隔X秒的ajax调用,它必须刷新表内容。 加载时,按预期填充内容。但在ajax调用期间,它会失败,并出现以下错误: 我检查了这个问题上存在的问题,但没有什么好结果。我没有在代码中使用scriplets。 JSP代码: 控制器代码:
稍后,在同一个JSP中,我调用一个方法,该方法最终调用jasper-reports: HttpServletResponse对象“Response”被传递给以下方法,在调用时发生错误: 我已经查看了以下堆栈溢出帖子,仍然需要一些关于如何修复此问题的指导:
代码: 我的如下所示: 在JSP中,我只是给出了一个按钮,它给出了对话框。单击该按钮后,我将获得异常。 如何避免这一点?
我得到了已为此响应调用。。即使我没有呼叫在try或catch块中,我也没有在我的servlet代码中使用。。。 这是我的代码... 异常堆栈跟踪是...............