`

Spring MVC下载及下载时遇到IE下中文乱码问题解决

 
阅读更多
@Override
	public void export(HttpServletRequest request,
			HttpServletResponse response, List<Map<String, Object>> dataResult,
			String saveAsFileName) throws ServletException, UnsupportedEncodingException {
		response.setContentType("text/html;charset=utf-8");
		// 完美解决IE浏览器下载中文乱码的问题,兼容IE,Firefox,Chorme
		String agent = request.getHeader("User-Agent");
		boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1);
		String fileName = null;
		if (isMSIE) {
			fileName = URLEncoder.encode(saveAsFileName, "UTF-8");
		} else {
			fileName = new String(saveAsFileName.getBytes("UTF-8"),
					"ISO-8859-1");
		}

		BufferedOutputStream bos = null;
		try {
			byte[] data = exportReport(dataResult);
			long fileLength = data.length;
			response.addHeader("Content-Length", "" + fileLength);
			response.setContentType("application/octet-stream;charset=UTF-8");
			// response.setContentType("application/x-msdownload;");
			response.setHeader("Content-disposition", "attachment; filename="
					+ fileName + ".zip");
			response.setHeader("Content-Length", String.valueOf(fileLength));
			bos = new BufferedOutputStream(response.getOutputStream());
			bos.write(data);
			bos.flush();
		} catch (IOException e) {
			throw new ServletException(e.getMessage(), e);
		} finally {
			try {
				if (bos != null)
					bos.close();
			} catch (IOException e) {
				throw new ServletException(e.getMessage(), e);
			}
		}
	}

 

分享到:
评论

相关推荐

    精通Spring MVC 4

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。...通过阅读本书,读者将深度把握Spring MVC的各项特性及实用技巧。

    Spring MVC jar包

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...

    Spring MVC 文件上传下载 后端 - Java.zip

    在Spring MVC框架中,文件上传和下载是常见的功能需求,特别是在构建Web应用程序时。这个压缩包文件"Spring MVC 文件上传下载 后端 - Java.zip"包含的文档可能详细阐述了如何在Java后端实现这些功能。以下是关于...

    Spring MVC 4.2.3

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序而设计。它提供了模型-视图-控制器(MVC)架构,使开发者能够有效地分离业务逻辑、数据处理和用户界面。在"Spring MVC 4.2.3"版本中,我们看到了一系列的...

    最全最经典spring-mvc教程

    Spring MVC提供了MockMVC,可以在不依赖服务器的情况下进行单元测试和集成测试。 这个"最全最经典spring-mvc教程"应该会详细讲解上述所有概念,并可能通过实例演示如何配置、创建和调试Spring MVC项目。对于想要...

    spring mvc 4.0

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring ...

    Spring MVC 4.2.4.RELEASE 中文文档

    尽管如此,这份中文文档可以帮助开发者理解Spring MVC的基本概念和使用方法,以便于快速上手和解决问题。由于官方文档无法访问,这份文档成为了临时的学习资源,虽然不够最新,但对于理解4.2.4版本的功能是足够了。...

    Spring MVC 入门实例

    配置 CharacterEncodingFilter (filter 标签), 否则你会发现中文乱码. 因为我的 jsp 和 html 文件都是 UTF-8 编码的, 所以我在 param-value 标签中设置了 UTF-8. 估计你使用的是 GB2312 或者 GBK, 立即转到 UTF-8 ...

    spring mvc demo下载地址

    在学习这个Spring MVC demo时,你可以关注以下重点: 1. **注解驱动开发**:Spring MVC允许使用注解来简化配置,例如@Controller、@RequestMapping、@Autowired等。 2. **视图解析**:理解如何配置视图解析器,...

    spring mvc框架依赖全面jar

    Spring MVC 是一个基于 Java 的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。在本压缩包中包含了一系列与Spring MVC相关的jar文件,这些文件是构建和运行Spring MVC项目所...

    Spring MVC框架的各种依赖包下载

    在使用Spring MVC时,依赖包的正确配置至关重要,因为它们包含了框架运行所需的类库和组件。 Spring MVC的依赖主要分为以下几个方面: 1. **Spring Framework核心**:这是Spring MVC的基础,包括Spring Context、...

    Spring MVC整合IReport生成PDF及中文不显示、乱码解决

    本篇文章将详细讲解如何在Spring MVC项目中整合IReport来生成PDF,并解决可能出现的中文不显示和乱码问题。 首先,我们需要了解Spring MVC的基本概念。Spring MVC是Spring框架的一部分,它提供了一个模型-视图-控制...

    Spring mvc 教程

    - **Servlet 3.0 下的 MultipartResolver**:对于 Servlet 3.0 及以上版本,Spring MVC 提供了内置的文件上传支持。 - **处理表单中的文件上传**:通过控制器方法来接收和处理上传的文件。 #### 异常处理 ...

    Spring MVC所需jar包

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...

    spring MVC .docx

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。Spring MVC的设计目标是提供一个清晰的组件化架构,使得开发者可以独立地开发和测试控制器、...

    Spring MVC 文件上传下载

    Spring MVC 是一个强大的 web 应用开发框架,它提供了丰富的功能来处理用户请求,包括文件上传和下载。本文将深入探讨如何使用 Spring MVC 实现文件的上传与下载。 首先,要实现文件上传,我们需要引入一些必要的...

    Mastering Spring MVC 4(2015.09)源码

    Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。...这将有助于提升你在Spring MVC框架下的开发技能,使你能够构建更加高效、健壮的Web应用。

    Spring MVC简单例子

    Spring MVC 是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的Web应用程序。这个框架基于Spring IoC(Inversion of ...实践中遇到的问题和解决方法也会加深对Spring MVC的理解,有助于提升开发技能。

Global site tag (gtag.js) - Google Analytics