`

struts1.x 文件下载(解决下载过程中后台报错问题)

    博客分类:
  • SSH
阅读更多

最近发现struts1.x在下载文件时,当点击下载时,在弹出的保存、打开窗口时选择取消,后台报错,在网上查询了很久,用网络上的方法都没有解决这个问题,经测试发现struts2的文件下载并没有出现类似问题,因此查看了下struts2的源代码,修改了下载的代码,完美解决这个问题,在此备份以便以后查看

 

InputStream inputStream = null;
	OutputStream os = null;
	try {
		response.addHeader("Content-Type", "application/octet-stream;charset=UTF-8");
		response.addHeader("Content-Disposition", "attachment;filename=download.txt"); //下载时文件名称
		response.addHeader("Pragma", "no-cache");
		response.addHeader("Cache-Control", "no-cache");
		byte[] buff = new byte[8192];
		inputStream = new FileInputStream("D://2.txt"); //文件路径
		os = response.getOutputStream();
		int count = 0;
		while (-1 != (count = inputStream.read(buff))) {
			os.write(buff, 0, count);
		}
		os.flush();
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		if(inputStream != null) {
			inputStream.close();
		}
		if(os != null) {
			os.close();
		}
	}
分享到:
评论

相关推荐

    Struts1.x常用的开发包,需要学习struts1.x朋友可以下载

    学习Struts1.x需要理解其设计理念,掌握配置文件的编写,熟练运用Action、ActionForm、JSP标签,以及理解MVC模式在实际开发中的应用。虽然现在Struts1.x已经被Struts2等更新的框架所取代,但它的基础思想和设计模式...

    对struts1.x与struts2.x的区别的总结

    - **Struts2.x** 配置文件较少,主要为struts.xml,支持注解配置,减少XML配置的繁琐。 8. **插件与扩展性**: - **Struts1.x** 插件较少,扩展性相对较弱。 - **Struts2.x** 有丰富的插件系统,如Ajax、...

    struts1.x和struts2.x区别

    在Struts1.x中,Action是核心组件之一,它必须继承自org.apache.struts.action.Action类,并且需要覆盖execute方法。Action对象由框架创建和管理,每一个HTTP请求都对应一个Action实例。然而,在Struts2.x中,Action...

    struts1.x技术课程讲解.pdf

    - **手动搭建**:在 MyEclipse 中手动添加 Struts1.x 的相关依赖库,配置 web.xml 文件,并创建 struts-config.xml 文件来定义 Action 映射等配置。 - **IDE 工具支持**:利用 MyEclipse 或 Eclipse 等集成开发环境 ...

    struts1.x 上传下载

    在Struts1.x中,文件上传主要依赖于`org.apache.struts.upload`包中的类。最常用的是`MultipartRequestHandler`,它实现了Servlet API中的`HttpServletRequestWrapper`接口,允许处理multipart/form-data类型的请求...

    Struts1.x系列教程(网摘-全)

    3. **配置文件**:主要包括struts-config.xml,这是Struts1.x的主配置文件,用于定义Action、ActionForm、ActionMapping等组件。在这里,你可以配置URL与Action类的映射,设置数据验证规则等。 4. **ActionForm**:...

    struts1.x多文件上传

    Struts1.x提供了处理多文件上传的功能,使得开发者可以方便地集成到自己的应用程序中。 在Struts1.x中实现多文件上传,主要涉及以下几个核心概念和步骤: 1. **表单设计**:首先,你需要创建一个HTML表单,包含`...

    解决Struts2中下载文件时点击取消按钮后台报错问题

    总结来说,解决Struts2中下载取消报错问题的关键在于正确管理和控制文件流,确保在客户端取消下载时,服务器能够及时响应并终止操作。通过监控`ServletResponse`的状态和`ServletOutputStream`的关闭情况,可以有效...

    Struts1.x_Project.zip

    在Struts1.x中,实现I18N(Internationalization)主要是通过资源文件(如*.properties)来管理不同语言的文本。这些文件按照语言和地区进行组织,例如,`message_en.properties`用于英文,`message_zh_...

    java Struts 1.x 框架 Web 开发

    然而,随着时间的推移,Struts 1.x 因为其局限性和安全问题,逐渐被Struts 2 和其他现代框架如Spring MVC、Play Framework等取代。尽管如此,了解 Struts 1.x 的基础知识对于理解Java Web开发的历史和演变仍然非常有...

    struts1.x入门教程

    - 首先,你需要下载Struts1.x的库文件,如struts-1.3.10-all.zip,并将其解压缩。 - 在解压后的lib目录中,你可以找到所有必需的jar文件,包括Struts框架的实现和其他依赖。 - 创建一个新的Web项目,例如myStruts...

    struts1.x apps 所有最新的Struts1.x项目应用

    1. **安装和配置**:了解如何在项目中集成Struts1.x框架,配置web.xml和struts-config.xml文件。 2. **Action和ActionForm**:深入理解这两者的作用,如何编写和使用它们。 3. **视图渲染**:熟悉JSP页面和Struts...

    Struts1.x的登录示例

    然而,需要注意的是,Struts1.x已经较为过时,现代的Web开发更多地转向了Spring MVC、Play Framework或AngularJS等更现代的解决方案。尽管如此,理解Struts1.x可以帮助我们了解Web框架的发展历程,以及MVC模式在实际...

    搭建struts1.x的jar包

    首先,我们来看核心的`struts.jar`文件。这是Struts框架的核心库,包含了所有必要的类和接口,用于处理HTTP请求,管理Action类,以及实现MVC模式。它包含了ActionForm、Action、Dispatcher等关键组件,这些组件协同...

    Struts 2.x权威指南(第3版)

    Struts 2.x权威指南(第3版)

    Struts1.x 中文帮助文档

    Struts1.x是Apache软件基金会旗下Jakarta项目的一个核心组件,它是一款开源的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。这个框架在2000年代初非常流行,因其规范化的开发流程和强大的功能...

    使用struts1.x上传多个文件的一中方法

    在Struts1.x中,实现文件上传功能是一个常见的需求,特别是在处理用户提交的表单时需要包含多个文件。下面我们将详细介绍如何使用Struts1.x来实现多个文件的上传。 首先,我们需要在HTML表单中添加`...

    魔乐科技Struts2.x框架笔记

    **国际化资源文件**:为了支持多语言环境,可以通过在`struts.properties`文件中配置`Struts.custom.i18n.resources`属性来指定资源文件。资源文件可以分为全局资源文件、包级别的资源文件和类级别的资源文件。当...

    Struts1.x入门与提高系列教程.pdf

    通过本系列教程的学习,读者将能够掌握Struts 1.x框架的基本使用方法,了解其核心组件和配置,并能够通过实践来加深对Struts 1.x开发过程的理解。同时,通过与Struts 2.x的比较,读者可以更深入地理解Web应用框架的...

Global site tag (gtag.js) - Google Analytics