“放到桌面”的Servlet实现
复习下Servlet下载文件,
- 当
response把ContentType设置成application/xxxx的时候呢,浏览器会默认启动下载,而不是试图打开。 - 通过给httpHeader里面加入内容描述
Content-Disposition来告知浏览器文件名称等信息。
中文时,URLEncoder.encode下下更健康。 - 如果要通过Response拿到的输出流写中文出去的话,要先设置
response.setCharacterEncoding("UTF-8");,写成小写的utf-8不好使? - 通过
response.setConetentLength(Long)告诉浏览器response要写出的文件有多少字节。不设置的话就是不知道多少,下完为此,没有进度条之类的东东。
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// System.out.println("I'm get your request!!");
response.setCharacterEncoding("UTF-8");
response.setContentType("application/txt");
response.addHeader("Content-Disposition", "attachment; filename="+URLEncoder.encode("中国通号门户.url","utf-8"));
Writer w = response.getWriter();
w.write("[InternetShortcut]\r\n"
+ "URL=http://w3.crsc.isc\r\n"
+ "IDList=\r\n"
+ "HotKey=0\r\n"
+ "IconFile=%windir%\\system32\\SHELL32.dll\r\n"
+ "IconIndex=130\r\n"
+ "[{000214A0-0000-0000-C000-000000000046}]\r\n"
+ "Prop3=19,2");
w.close();
}
大家都知道,像下面这种内容,写入到txt文本中,然后更改文件扩展名为.url就直接是一个url快速链接了。
[InternetShortcut]
URL=http://w3.crsc.isc
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
所以呢,只要有Servlet里面把这些内容用txt的格式通过response写出来就好了,然后给一个明确的文件名与后缀就好了。
“放到桌面”的Servlet实现的更多相关文章
- 2019-6-23-win10-uwp-应用放到桌面
title author date CreateTime categories win10 uwp 应用放到桌面 lindexi 2019-06-23 11:11:30 +0800 2019-06-2 ...
- Applet、Scriptlet与Servlet
Applet.Scriptlet与Servlet - 青春念邵的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/mo_fan_qing_wa/article/deta ...
- 使用win10的开始屏幕,在系统中设置简洁、快捷桌面
前几天入手了一个本本,由于之前电脑使用的柠檬桌面软件和现在本本的分辨率不适应,意外发现win10自带的开始屏幕整理桌面也是很有意思,再加上触摸板的手势,瞬间觉得整个电脑都清洁许多.废话少说,开始上料. ...
- XP如何在桌面新建宽带连接的快捷方式
1 打开控制面板,点击网络和Internet连接 2 如果存在宽带连接选项. 则点击左侧的网上邻居,然后点击查看网络连接 右击宽带连接,点击创建快捷方式,放到桌面,改一下快捷方式的名字即可. 3 ...
- Ubuntu 创建 Pycharm 桌面快捷方式
1. 安装 Pycharm,我的运行目录是: /opt/pycharm-/bin 2. 在 /usr/share/applications/ 下创建文件 pycharm.desktop [Deskto ...
- Servlet技术之——概述、实现、细节、获取资源、ServletConfig、ServletContext
Servlet概述.实现.细节.获取资源.ServletConfig.ServletContext (一) Setvlet基本概述 (1) 什么是Servlet ? Servlet(Server Ap ...
- servlet的抽取
servlet的抽取 servlet按照模块来划分,比如注册和登录的servlet就放到user的servlet中 原来: 登录时登录的servlet 注册时注册的servlet 现在: 登录注册的s ...
- 2.2 学习总结 之 servlet 的两次抽取
说在前面 昨天 完成了文件上出的学习和实践 今天 学习servlet的两次抽取,以加快编写工程的速度 一.servlet 抽取的原因: 刚刚学习使用servlet写后台,往往只使用一个servlet来 ...
- 【转】BAT 批处理脚本 教程
第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...
随机推荐
- C# 图片文件与字符串之间的转换
1.将图片文件转化为字符串类型 2.将字符串类型的图片数据转换为本地图片保存
- CodeSmith 二、多模板按目录树批量自动生成代码
通过调用指定目录下的所有模板,逐一按照数据表生成独立的代码文件.支持多模板调用.支持所有数据表生成或批量指定多个生成.支持自动的文件目录结构.支持代码文件格式化命名等. 背景:最近一个新项目一高兴选了 ...
- windows系统中给qt工程添加第三方库
· TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp LIBS ...
- nginx安装,启动亲测有效
一:安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 二:安装PCRE,让 N ...
- 什么是CAS机制?(转)
围绕下面四个点展开叙述: 一:什么是CAS机制? 二:Java当中CAS的底层实现 三:CAS的ABA问题和解决方法 四:java8对CAS的优化 一:什么是CAS机制? 我们先看一段代码: 启动两个 ...
- java程序高CPU,如何直接定位(linux系统下命令行操作)
1.top命令找出 2.也可以使用 (1)ps -ef|grep java|grep -v grep (2)jps -l|grep 公司名 然后,记住PID是9529. 3.定位具体的线程或者代码: ...
- Mint-ui 脱坑日记
Field表单组件 这个组件真是大坑特坑 带默认背景边框 找了半天才找到 原生属性 :attr="{ maxlength:10 }" 是可以设置原生属性的 注意此处限制的输入长度 ...
- 1.promethues监控融入k8s
文档链接地址 https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_confi ...
- Linux-I/O重定向和管道
Linux I/O重定向 标准输入(stdin):文件描述符0 标准输入(stdout):文件描述符1 标准错误(stderr):文件描述符2 file descriptors(FD,文件描述符 或 ...
- Java Socket、计算机网络
一个服务器对应一个客户端 http://blog.51cto.com/wangdy/1588379 https://www.cnblogs.com/rocomp/p/4790340.html pack ...