`
lzj0470
  • 浏览: 1273060 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jsp下载压缩文件

阅读更多
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> 
  <body>
    <%OutputStream o = response.getOutputStream();%>
    <% 
    	byte b[] = new byte[1024*2];
    	File fileload = new File("c:/12.rar");
    	response.setHeader("Content-disposition","attachment;filename=12.rar");
    	response.setContentType("application/x-tar");
    	long fileLength = fileload.length();
    	String length = String.valueOf(fileLength);
    	response.setHeader("Content_Length",length);
    	FileInputStream in = new FileInputStream(fileload);
    	int n = 0;
    	while((n=in.read(b))!=-1){
    		//o.write(b,0,n);
    	}
    	in.close();
    	o.flush();
    	o.close();
    	out.clear();
 	out  =  pageContext.pushBody();
	%>
  </body>
</html>

 在没加下面两条语句的时候,程序会抛出下面的错误:

java.lang.IllegalStateException: getOutputStream() has already been called for this response

 产生这样的异常原因:是web容器生成的servlet代码中有out.write(""),这个和JSP中调用的response.getOutputStream()产生冲突.即Servlet规范说明,不能既调用response.getOutputStream(),又调用response.getWriter(),无论先调用哪一个,在调用第二个时候应会抛出IllegalStateException,因为在jsp中,out变量实际上是通过response.getWriter得到的,你的程序中既用了response.getOutputStream,又用了out变量,故出现以上错误。
下面是解决办法:

 

    	out.clear();
 	out  =  pageContext.pushBody();

 

分享到:
评论

相关推荐

    java jsp+servlet实现文件下载(而不是在网页中显示出文件内容) 迅雷下载功能.zip

    综上所述,这个项目利用了`jsp`和`servlet`的技术,通过设置正确的HTTP响应头,实现了文件下载功能,同时也考虑了迅雷等下载工具的需求。在实际开发中,还需要考虑其他因素,如错误处理、日志记录和性能优化,以提供...

    JSP 帮助文件打包下载

    总之,这个“JSP帮助文件打包下载”应该为初学者提供了一套全面的JSP学习资料,涵盖了从基础概念到高级特性的广泛内容,同时结合JavaScript的应用,有助于提升Web开发技能。由于资源来源于互联网,建议在使用时结合...

    jsp文件上传下载带删除功能

    【标题】"jsp文件上传下载带删除功能"指的是在Java Web开发中,使用JSP(JavaServer Pages)技术实现的一项基础功能,它涵盖了文件的上传、下载以及删除操作。这样的功能通常用于用户交互,比如允许用户上传个人资料...

    jsp实现压缩打包

    2. **doZip 方法**: 此方法接收三个参数,`zipDirectory`指定要压缩的目录路径,`saveDir`指定保存压缩文件的位置,`name`为压缩文件的名称。 3. **handleDir 方法**: 这个递归方法用于处理目录及其子目录下的所有...

    jspSmartUpload.jar下载.rar

    4. **.rar文件**:RAR是一种流行的压缩文件格式,由WinRAR软件创建。它支持高压缩比和修复损坏文件的功能,常用于分享大文件或归档多个文件。 5. **文件上传**:在Web应用中,文件上传是指用户通过浏览器向服务器...

    jsp图片压缩

    ### jsp图片压缩技术详解 #### 一、概述 在Web开发中,图片处理是非常常见的一项任务,尤其是在涉及用户上传图片的功能时。图片处理包括但不限于压缩、缩放、切割、改变颜色以及转换格式等操作。这些操作不仅能...

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

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

    jsp程序下载 经典

    【压缩包子文件的文件名称列表】中提到的"文档声明.doc"可能是教学文档,详细解释了JSP的原理、语法以及如何编写JSP页面。文档声明通常会包括以下几个方面: 1. **JSP基本概念**:解释什么是JSP,它的作用,以及与...

    javascript合并压缩的jsp tag实现

    7. **版本控制**:在生产环境中,为避免用户因缓存导致的旧版 JavaScript 文件问题,可以在文件名中加入版本号或时间戳,确保浏览器每次都获取最新的压缩文件。 总之,通过 JSP Tag 实现 JavaScript 合并压缩是一种...

    ajax+jsp生成\读取\写入\下载文件

    本项目涉及的技术栈包括AJAX、HTML、J2EE、JavaScript以及JSP,主要实现了动态生成文件、读取文件、写入文件以及文件下载的功能。下面将详细介绍这些知识点。 1. **AJAX(Asynchronous JavaScript and XML)**: ...

    jsp+jspsmartupload实现上传下载方法及代码解析

    总之,使用jsp+jspsmartupload实现上传下载功能需要理解JSP的基础知识,熟悉SmartUpload组件的使用,以及掌握文件上传下载的基本原理。在实际开发中,还需要注意安全性、性能优化以及兼容性等问题。

    JSP文件管理系统

    "JSP文件管理系统"是一个基于JavaServer Pages (JSP) 技术开发的文件管理解决方案。JSP是一种服务器端的动态网页技术,它允许开发者在HTML或者XML文档中嵌入Java代码,从而实现动态内容的生成。在这个系统中,用户...

    Java调用Zip类批量压缩多个文件.rar

    //文件数据(待压缩文件)  JButton jbAdd; //增加文件按钮  JButton jbDelete; //删除文件按钮  JButton jbZip; //压缩按钮  JTextField target; //目标文件文本域  public ZipDemo(){  super("用ZIP...

    jsp文件上传到数据库里例子下载

    【标题】"jsp文件上传到数据库里例子下载"是一个典型的Java Web开发教程,它涉及到的主要知识点是如何使用JSP(JavaServer Pages)将用户上传的文件存储到数据库中。这一过程通常用于实现用户在网站上上传图片、文档...

    jsp文件上传包.zip

    JSP文件上传是常见的功能,比如用户需要上传图片、文档等。在处理文件上传时,特别是中文文件名,可能会遇到中文乱码的问题。这个"jsp文件上传包.zip"就是为了帮助开发者解决这个问题而设计的。 在JSP中,文件上传...

    web容器文件压缩 tk-filter tk-filter js,jsp,css,文件压缩包含源代码

    在Web开发中,为了提高网页加载速度和优化用户体验,经常...解压后,开发者可以根据提供的文档或示例来集成`tk-filter`到自己的Web应用中,通过调整配置,实现对js、jsp和css文件的有效压缩,从而提升网站的整体性能。

    Java.Web整合开发王者归来.JSP.Servlet(卷2/5卷压缩)

    《Java.Web整合开发王者归来.JSP.Servlet》 【324M】高清PDF,下了不后悔,由于本人上传权限有限,只能最大上传70M,所以不得已只能分5卷压缩,看清楚再下载,一共5卷压缩包,总共需要3分(第一卷3分,其他卷0分),...

    jspupload.rar_jspuplo_jspupload source_下载文件

    【标题】"jspupload.rar_jspuplo_jspupload source_下载文件" 是一个与Java Servlet Pages (JSP)相关的上传下载组件的源代码包。这个组件,名为jspupload,是一个专门为JSP开发的工具,它允许用户在Web应用程序中...

    jsp页面下载类

    支持多文件zip压缩下载。多文件zip压缩可在服务器保留或者删除副本。支持将特定的字符串或者byte数组以指定的文件名提供下载。 在下载过程中需要提供response对象。并且选择下载形式。 下载处理前先进行...

Global site tag (gtag.js) - Google Analytics