import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class DownloadClient extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { download(request,response); } public void download(HttpServletRequest request, HttpServletResponse response) throws IOException { try { // UploadConfigConstants.CLIENT_FILE是下载文件的路径。 File file = new File(request.getSession().getServletContext().getRealPath(UploadConfigConstants.CLIENT_FILE)); if(! file.getParentFile().exists()){ file.getParentFile().mkdirs(); } if(! file.exists()){ file.createNewFile(); } // 清空response response.reset(); // 设置response的Header,同时解决乱码问题 response.addHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes("GBK"),"ISO8859_1")); response.addHeader("Content-Length", "" + file.length()); // 以流的形式下载文件。 response.setContentType("application/octet-stream"); InputStream in = new BufferedInputStream(new FileInputStream(file)); byte[] b = new byte[2048]; int n = -1; OutputStream out = new BufferedOutputStream(response.getOutputStream()); while((n = in.read(b)) != -1){ out.write(b,0,n); } in.close(); out.flush(); out.close(); } catch (IOException ex) { throw ex; } } }
相关推荐
下面将详细阐述servlet和jsp中文乱码的处理方式。 1. **理解编码基础** - **Unicode**:全球统一的字符编码标准,包含了世界上几乎所有的字符。 - **UTF-8**:最常用的Unicode编码方式,它以字节为单位进行编码,...
通过修改Tomcat配置文件中的`URIEncoding`属性以及在Servlet中通过`response.setContentType()`和`request.setCharacterEncoding()`方法来设置字符编码,可以有效解决中文乱码问题。此外,还可以通过字符集转换的...
分析这个文件可以帮助我们深入理解解决IE11下载文件乱码问题的方法。具体来说,这个文件可能包含了Servlet的实现,通过设置正确的HTTP响应头,确保文件名在下载过程中正确显示。 总的来说,解决Java Web中IE11下载...
jsp+servlet+mysql乱码解决方案是指在使用jsp+servlet+mysql开发web应用程序时,如何解决中文乱码问题的解决方案。该方案通过设置每个页面的编码格式为utf-8,控制器servlet中的请求编码格式为utf-8,数据库连接url...
本文将深入探讨如何解决Servlet页面显示乱码的问题,这对于初学者来说是至关重要的知识点。 首先,我们需要理解乱码的根源。在Web应用中,乱码通常出现在两个阶段:输入(如POST表单数据)和输出(如HTML页面的响应...
这里导入了处理文件I/O操作所需的库文件以及Servlet相关的API。 3. **Servlet定义**: ```java public class FileDownLoadServlet extends HttpServlet { // ... } ``` `FileDownLoadServlet`类继承自`...
本文将深入探讨如何在Servlet中解决乱码问题,确保数据正确无误地进行编码和解码。 首先,我们需要了解Java Servlet生命周期中的两个关键阶段:`service()`方法和`doGet()`或`doPost()`方法。在这些方法中,我们...
jsp 传参 servlet 接收中文乱码问题的解决方法 jsp 传参 servlet 接收中文乱码问题是一个经常遇到的问题,特别是在使用 Hibernate+Servlet 框架时。当我们在 jsp 页面传参到 servlet 时,中文字符经常会出现乱码...
在处理Freemarker模板引擎时,中文乱码问题是一个常见的挑战,尤其是在国际化应用中。Freemarker是一款功能强大的模板引擎,被广泛应用于Web开发中,用于动态生成HTML、XML等文本格式的页面。然而,当涉及到非英文...
### Java导出Excel文件并下载到客户端(含解决中文乱码问题) 在现代的企业级应用开发中,数据导出功能是非常常见的一种需求。特别是在B/S架构的应用中,用户经常需要将查询结果导出为Excel文件以便进行后续的数据...
### Servlet过滤器解决乱码问题 在Web应用开发过程中,字符编码问题经常出现,尤其是在处理中文等多字节字符时。如果不正确地设置字符编码,可能会导致页面显示乱码。本文将详细介绍如何通过Servlet过滤器来解决这...
解决servlet中文乱码问题1的标题指的是,如何在servlet应用程序中正确地处理中文字符,以避免乱码问题的出现。 描述解释 解决servlet中文乱码问题1的描述是指,如何通过正确的配置和编码设置来解决servlet中文乱码...
综上所述,解决`JSP文件上传`时的中文乱码问题涉及多个层面,包括客户端、服务器配置、编码过滤器、第三方库以及文件保存过程中的编码处理。确保每个环节都正确处理字符编码是避免乱码的关键。对于具体的问题,可能...
### Servlet及JSP解决中文乱码问题 #### 一、引言 在Web开发中,中文乱码问题一直是困扰开发者的一大难题。特别是在使用Java技术栈(如Servlet与JSP)进行开发时,如果处理不当,很容易出现中文字符显示乱码的情况...
在 Struts 2 中,中文乱码问题可以通过在 struts.xml 文件中配置 struts.i18n.encoding 常量来解决。我们可以添加以下代码: `<struts><constant name="struts.i18n.encoding" value="UTF-8"/></struts>` 这将设置...
本篇文章将深入探讨如何解决Servlet中的中文乱码问题,以及如何在GBK、UTF-8和ISO-8859-1之间做出合理的选择。 首先,我们需要了解字符编码的基本概念。GBK是中国大陆广泛使用的中文字符集,包含了大部分中文字符;...
JSP+Servlet 实现文件下载 在 Web 应用中,实现文件下载是非常常见的需求。通过 JSP 和 Servlet,可以轻松地实现文件下载功能。下面将对 JSP+Servlet 实现文件下载的知识点进行详细的解释。 Step 1: 配置 web.xml ...
"解决中文乱码问题" 在Java编程中,中文乱码是一个常见的问题。为了解决这个问题,我们需要从多个方面入手。首先,我们需要将Eclipse的编码方式设置为UTF-8,以便正确地显示中文字符。其次,我们需要在浏览器中将...
解决下载文件乱码问题的关键在于: - 正确设置HTTP响应头,包括Content-Type和字符编码。 - 在读取和写入文件时保持一致的编码。 - 对于多语言环境,考虑使用Unicode(如UTF-8)作为通用编码,以兼容各种语言的字符...
【如何配置Filter过滤器处理JSP中文乱码】 在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP...