JavaWeb response对象常用操作

摘要:
注意:1.在设置Content Disposition头字段之前,请确保设置Content Type头字段;2.如果返回的文件名是中文,则需要对中文进行编码,否则会导致乱码。
 

JavaWeb response对象常用操作

CreationTime--2018年7月18日10点42分

Author:Marydon

1.设置响应内容类型

  方式一

response.setContentType(contentType);

  方式二

response.setHeader("Content-Type", contentType);

  response.setContentType(MIME)的作用:

  让服务器告诉浏览器它发送的数据属于什么文件类型,使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。

  例如:

  当Content-Type 的值设置为text/html和text/plain时,前者会让浏览器把接收到的实体内容以HTML格式解析,后者会让浏览器以普通文本解析。

2.设置响应数据字符集

response.setCharacterEncoding("UTF-8");

  解决中文乱码问题

3.设置响应内容类型并设置编码集

  上面的2个可以合并到一起

  方式一

response.setContentType(contentType + ";charset=UTF-8");

  方式二

response.setHeader("Content-Type", contentType + ";charset=UTF-8");

4.返回客户端数据

  方式一

response.getWriter().print("String字符串");

  方式二

response.getWriter().println("响应数据");

注意:使用print(strParam)方法返回的数据只能是字符串格式。 

5.设置Content-Disposition(指定下载该文件时的文件名) 

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

作用:告诉浏览器这个文件的名字和类型(指定返回的文件的名称及扩展名);

说明:在弹出的下载对话框中的文件类型是按照文件的扩展名显示的,点保存后,文件以filename的值命名,保存类型以ContentType中设置的为准。

注意:

  1.在设置Content-Disposition头字段之前,一定要设置Content-Type头字段;

  2.返回的文件名为中文时,需要对中文进行编码,否则会造成乱码。

解决方案:

方法一:(推荐使用)

// 对中文以UTF-8格式进行编码
String formatFileName = URLEncoder.encode(fileName, "UTF-8");

方法二:(ie不兼容)

// 为什么不适用这种方式?因为不兼容ie浏览器
// String formatFileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
 

免责声明:文章转载自《JavaWeb response对象常用操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇通过gdb跟踪Linux内核装载和启动可执行程序过程quartz 设置时间格式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ASP.NET中Get和Post的用法 Request.QueryString,Request.Form,Request.Params的区别

表单form的提交有两种方式,一种是get的方法,一种是post 的方法.看下面代码,理解ASP.NET Get和Post两种提交的区别:   代码 view plaincopy to clipboardprint?< form id="form1" method="get" runat="server"> < div>...

asp.net C#后台实现下载文件的几种方法(全)

protected void Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite 下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。 代码如下: */ Res...

腾讯云对象存储权限管理操作指南

第一步:登录网站 腾讯云官网 点击左上角的登入选项,进行界面的登录登录页面 可以进行多端登录,这里推荐使用微信直接扫码进行登录 第二步:对象存储 登录后进入如下界面,将鼠标移动到左上角产品,点击中间的对象存储,进入对象存储界面 点击立即使用跳转到对象存储界面。 第三步:创建存储桶 点击左侧的存储桶列表,进行查看存储桶,再点击创建存储桶进行存储桶的创建 按照...

【从零开始学SpringMVC笔记】SpringMVC进阶

@RequestMapping 通过@RequestMapping注解可以定义不同的处理器映射规则。 URL路径映射 @RequestMapping(value="item")或@RequestMapping("/item") value的值是数组,可以将多个url映射到同一个方法 @RequestMapping(value = { "itemList",...

jQuery以Post方式发送请求并获取返回的文件供下载!

用ajax请求文件下载当然是可以的,不用有返回值,代码差不多是这样: try { string FileName = ".//doc//[大家网]Beginning.ASP.NET.2.0.E-Commerce.in.C#.2005.From.Novice.to.Professional[www.TopSage.c...

Django—中间件

CBV加装饰器(session) 要在CBV视图中使用我们上面的check_login装饰器,有以下三种方式: from django.utils.decorators import method_decorator from django.shortcuts import render,redirect,HttpResponse from django....