servlet设置缓存时间以及文件的下载
时间:2022-05-08
本文章向大家介绍servlet设置缓存时间以及文件的下载,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
缓存时间的设置:
1 public void doGet(HttpServletRequest request, HttpServletResponse response)
2 throws ServletException, IOException {
3
4 response.setContentType("text/html;charset=UTF-8");
5 PrintWriter out = response.getWriter();
6 response.setDateHeader("Expires", System.currentTimeMillis()+60*60*1000);//缓存时间一小时
7 out.write("hello world");
8 }
通知客户端文件的下载,此处以图片为例:
1 public void doGet(HttpServletRequest request, HttpServletResponse response)
2 throws ServletException, IOException {
3 response.setContentType("text/html");
4 ServletContext context=getServletContext();
5
6 String path=context.getRealPath("/picture.jpg");
7 String fileName=path.substring(path.lastIndexOf("\")+1);
8 InputStream in=new FileInputStream(path);
9
10 //通知客户端文件的下载 URLEncoder.encode解决文件名中文的问题
11 response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(fileName, "utf-8"));
12 response.setHeader("Content-Type", "application/octet-stream");
13
14 OutputStream out=response.getOutputStream();
15 int length=-1;
16 byte []buffer=new byte[1024];
17 while((length=in.read(buffer))!=-1){
18 out.write(buffer,0,length);
19 }
20 in.close();
21 }
- Oracle数据库冷备份与热备份操作梳理
- Oracle数据库重做日志及归档日志的工作原理说明
- 用vs.net2010做flex/flash/as3开发
- python中input()与raw_input()的区别到底是啥?
- VB下中文URL编码问题的解决
- 让ZeGraph在X方向上填满
- 中国区块链技术和产业发展论坛举行——区块链应用发展尚需时日
- silverlight获取外部数据的另一种选择:FluorineFx
- 存储状态数据
- Oracle数据库设置为归档模式的操作方法
- flash/flex 与 FluorineFx通讯之Hello World!
- 苹果CEO首次泄露出自动驾驶汽车的相关战略信息
- Linux下绑定网卡的操作记录
- flash开发中如何实现界面代码分离
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- dotnet OpenXML 文本 EndParagraphRunProperties 的作用
- dotnet OpenXML 文本字体的选择规则
- 获取手机nfc的MW version 和 FW version 记录
- Sublime编辑器配置Python环境
- dotnet OpenXML 从文档生成创建文档的代码的库
- 【LeetCode每日一题】24. Swap Nodes in Pairs
- 【LeetCode每日一题】26. Remove Duplicates from Sorted Array
- K8S 生态周报| NGINX Ingress Controller又添新特性
- 网络安全实验室平台(脚本关)
- shell 多线程及线程数控制实现
- CTF考点总结-sql注入篇
- dotnet OpenXML 为什么资源使用 Relationship 引用
- k8s部署Kafka集群
- 彻底搞懂 etcd 系列文章(六):etcd 核心 API v3
- Open3d学习计划—7(RGBD测程法)