博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaweb 学习笔记 Response响应
阅读量:3905 次
发布时间:2019-05-23

本文共 1417 字,大约阅读时间需要 4 分钟。

获取文件的绝对路径

//getRealPath之后是WebContent后的文件路径String path = this.getServletContext().getRealPath("download/"+filename);

获取想要下载文件的类型

//根据文件名来获取mime类型		String mimeType = this.getServletContext().getMimeType(filename);		response.setContentType(mimeType);

设置浏览器是以附件的形式下载

response.setHeader("Content-Disposition", "attachment;filename="+filename);

请求参数中文乱码问题解决

//先将文件名按照ISO8859-1转成二进制位,然后将二进制位通过UTF-8编码进行转换String filename = request.getParameter("filename");		System.out.println(filename);				byte[] bytes = filename.getBytes("ISO8859-1");		filename = new String(bytes,"UTF-8");		System.out.println(filename);

解决中文下载名称问题

//filename 是中文文件名称// 获取客户端信息		String agent = request.getHeader("User-Agent");		// 定义一个变量记录编码之后的名字		String filenameEncoder = "";		if (agent.contains("MSIE")) {
// IE编码 filenameEncoder = URLEncoder.encode(filename, "utf-8"); filenameEncoder = filenameEncoder.replace("+", " "); } else if (agent.contains("Firefox")) {
// 火狐编码 BASE64Encoder base64Encoder = new BASE64Encoder(); filenameEncoder = "=?utf-8?B?" + base64Encoder.encode(filename.getBytes("utf-8")) + "?="; } else {
// 浏览器编码 filenameEncoder = URLEncoder.encode(filename, "utf-8"); } //告诉浏览器是以附件形式下载 response.setHeader("Content-Disposition", "attachment;filename="+filenameEncoder);

解决Servlet向页面写入中文字符不识别问题

response.setContentType("text/html;charset=UTF-8");

设置定时跳转某个页面(重定向)

response.setHeader("refresh", "3;url=#");

转载地址:http://cdaen.baihongyu.com/

你可能感兴趣的文章
深入理解Mysql索引底层数据结构与算法
查看>>
B+tree结构详解
查看>>
B+树算法在mysql中能存多少行数据?
查看>>
【vue学习】—条件判断、循环遍历
查看>>
【vue学习】—slot插槽的使用
查看>>
【vue学习】—前端模块化
查看>>
STM32 外部中断
查看>>
STM32 PWM
查看>>
STM32 PWM波驱动模拟舵机(库函数版)
查看>>
STM32——ADC
查看>>
破解百度网盘屏蔽文件分享失效被和谐的独家秘籍
查看>>
STM32F10X_XX宏定义的选择
查看>>
在头文件声明全局变量和创建extern
查看>>
stm32 USART 串口通信[操作寄存器+库函数]
查看>>
MATLAB画图常用调整代码
查看>>
WORD2010加载mathtype6.6
查看>>
TTL电平、CMOS电平、RS232电平的区别
查看>>
c语言那些细节之a+1和&a+1的区别
查看>>
交换两个变量的值,不使用第三个变量的四种法方
查看>>
STM32 产生随机数
查看>>