一、创建下载页面

<%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%>
<%@page import="java.net.URLEncoder"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件下载</title>
</head>
<body>
<!--     <a href="/chapter12/DownloadServlet?filename=1.jpg">文件下载 </a> --><a href="/chapter12/DownloadServlet?filename=<%=URLEncoder.encode("风景.jpg", "utf-8")%>">文件下载 </a>
</body>
</html>

二、创建Servlet

public class DownloadServlet extends HttpServlet {private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置ContentType字段值response.setContentType("text/html;charset=utf-8");//设置响应消息编码response.setCharacterEncoding("utf-8");//设置请求消息编码request.setCharacterEncoding("utf-8");               //获取所要下载的文件名称String filename = request.getParameter("filename");filename = filename.trim();      //下载文件所在目录String folder = "/download/";// 通知浏览器以下载的方式打开response.addHeader("Content-Type", "application/octet-stream");response.addHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(filename,"utf-8"));// 通过文件流读取文件InputStream in = getServletContext().getResourceAsStream(folder+filename);// 获取response对象的输出流OutputStream out = response.getOutputStream();byte[] buffer = new byte[1024];int len;//循环取出流中的数据while ((len = in.read(buffer)) != -1) {out.write(buffer, 0, len);}}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

三、创建下载目录及文件

四、启动项目,查看结果

http://localhost:8080/chapter12/download.jsp

案例:实现文件下载并能正确显示中文文件名相关推荐

  1. 让英文操作系统正确显示中文

    刚装的英文版Windows 2000/XP操作系统,不能正确显示中文.解决的方法有两种: 1.在安装过程中解决问题.在Windows XP安装过程中,进行到"区域与语言"那部分时, ...

  2. 解决文件下载在火狐浏览器出现中文文件名乱码的方法

    解决文件下载在火狐浏览器出现中文文件名乱码的方法 参考文章: (1)解决文件下载在火狐浏览器出现中文文件名乱码的方法 (2)https://www.cnblogs.com/zeng1994/p/739 ...

  3. PyDev+Eclipse4.2.2如何正确显示中文

    step1:打开Eclipse  依次进入:window->preferences->general->editors->text editors->spelling-& ...

  4. eclipse中文乱码解决_解决git status显示中文文件名乱码问题

    使用 git status 查看本地有改动但未提交的中文文件名时,发现会显示为一串数字,没有显示中文的文件名.具体如下所示: $ git status# 位于分支 master# 尚未暂存以备提交的变 ...

  5. 让secureCRT正确显示中文

    1.vi /etc/sysconfig/i18n文件改为:LANG="zh_CN.UTF-8" 2.在secureCRT里面: Session Options(会话选项) -> ...

  6. ubuntu mysql 中午_Ubuntu更改MySQL字符集UTF-8,正确显示中文

    首先停mysql服务,编辑配置文件my.cnf $ sudo stop mysql $sudo vim /etc/mysql/my.cnf [client] default-character-set ...

  7. python-如何正确显示中文(日文)以及负号

    plt.rcParams['font.sans-serif']=['SimHei'] #日本語を表示するため plt.rcParams['axes.unicode_minus']=False #-を表 ...

  8. gFTP不能显示中文文件(夹)名的解决方法

    gFTP不能显示中文文件(夹)名的解决方法 现象:Ylmf OS 2.0 中预装的gFTP在登录远程服务器后,中文文件夹及中文文件名不能显示. 原因:非root身份登录 解决:用root登录,后登录g ...

  9. 浅谈如何fltk项目编译和实现显示中文

    目录 一.编译 二.中文显示如何处理: 2.1在发文2天前突然发现,我这个界面显示英文出现问题了,开始我的搜索之旅,一些参考页面有碰到问题也可以看看: 2.2. 那就开始翻翻官方自带的例程吧,看看他如 ...

最新文章

  1. IIC通信控制的AD5259------在调试过程中遇到的奇葩问题
  2. 面试前临时抱佛脚——常见的Shell脚本面试题
  3. 王达:影响100万网管员的“网管员”『英雄故事』
  4. #2002 Cannot log in to the MySQL server, PHPMyAdmin/MySQL
  5. CSS3系列一(概述、选择器、使用选择器插入内容)
  6. 初步认识Linux oops 消息
  7. sql 数组_sql注入中级
  8. k8s kubectl生成kube-config文件
  9. Linux和Windows下使用指定的JDK运行jar包
  10. c #include如何找到文件_使用 MATLAB Function 模块集成 C 代码
  11. 系统学习机器学习之神经网络(十一) --TDNN
  12. codeforces629C Famil Door and Brackets (dp)
  13. matlab cic设计,CIC滤波器设计
  14. steam安裝位置linux,steam盒子
  15. 飞船利用计算机进行飞行状态调整属于,“神舟八号”飞船利用计算机进行飞行状态调整属于____。...
  16. 无线安全之破解WPA/WPA2 加密WiFi
  17. retina屏 适配问题
  18. 什么是万维网?什么是互联网?
  19. Facet Kernel详解、Random Walk随机游走算法详解
  20. 自学Linux 2—Linux 的系统架构之 Linux 内核的主要模块和 Linux 的文件结构

热门文章

  1. ORACLE删除表分区和数据
  2. 【算法】剑指 Offer 30. 包含min函数的栈
  3. 95-31-020-ChannelGroup-DefaultChannelGroup
  4. 【Flink】FLink Barrier 在流经算子 做 checkpoint 的时候,数据是停止的吗?
  5. 【Elasticsearch】es Root mapping definition has unsupported parameters
  6. Spark编译报错:missing or invalid depency detected while loading class file RDDOperationScope.class
  7. maven 单独构建多模块项目中的单个模块
  8. ambiguous reference to overloaded definition(scala与java重载逻辑不匹配)
  9. SpringBoot 如何统计、监控 SQL运行情况?
  10. 最近,我在Spring的BeanUtils踩了不少坑