使用response的writer
通过response设置响应体
响应体设置文本
PrintWriter getWriter()
获得字符流,通过字符流的write(
String s)
方法可以将字符串设置到response 缓冲区中,随后Tomcat会将response缓冲区中的内容组装成Http响应返回给浏览 器端。
关于设置中文的乱码问题
原因:response缓冲区的默认编码是iso8859-1,此码表中没有中文,可以通过 response的setCharacterEncoding(
String charset)
设置response的编码
但我们发现客户端还是不能正常显示文字
原因:我们将response缓冲区的编码设置成UTF-8,但浏览器的默认编码是本地系 统的编码,因为我们都是中文系统,所以客户端浏览器的默认编码是GBK,我们可以 手动修改浏览器的编码是UTF-8。
我们还可以在代码中指定浏览器解析页面的编码方式,
通过response的setContentType(
String type)
方法指定页面解析时的编码是UTF-8
response.setContentType("text/html;charset=UTF-8");
上面的代码不仅可以指定浏览器解析页面时的编码,同时也内含
setCharacterEncoding的功能,所以在实际开发中只要编写 response.setContentType("text/html;charset=UTF-8");
就可以解决页面输出中文乱码问题。
package com.learn.content;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class TextServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//设置response查询的码表//response.setCharacterEncoding("UTF-8");//通过一个头 Content-Type 告知客户端使用何种码表//response.setHeader("Content-Type", "text/html;charset=UTF-8");response.setContentType("text/html;charset=UTF-8");PrintWriter writer = response.getWriter();//writer.write("hello response!!!");writer.write("你好");}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}
使用response的writer相关推荐
- 3.request response
rr的介绍 request是代表请求,response是响应 执行流程: 1.浏览器发送请求 2.服务器接受请求,创建两个对象,将请求信息封装给request,将两个对象发送给对应的servlet 3 ...
- response.getWriter().write()和 response.getWriter().print()的区别
异步上传图片的代码.发现里面用了response.getWriter().print(),故联想到response.getWriter().writer(),经过一番api的查找与实操,总结如下: r ...
- 解决response响应乱码
最简单的方法在最下面! 所对应的xml里面的信息都是一样的! <?xml version="1.0" encoding="UTF-8"?> < ...
- Java实战之04JavaWeb-02Request和Response
一.Response和Request的生态环境 二.HttpServletResponse---代表响应对象 1.设置状态码 void setStatus(int sc) 状态码: 200:一切正常 ...
- 有关Struts2a的ction直接使用response异步问题
假设我们在项目中使用struts2,正在使用ajax而通信时后端程序.为简单起见,我们经常使用下面的方法: ActionContext ac = ActionContext.getCo ...
- response 中OutputStream和PrintWriter区别
https://blog.csdn.net/feipeng8848/article/details/56286399 https://blog.csdn.net/lhanson/article/det ...
- 装饰模式-包装request和response
包装request,把header中的token取出来,写入body中,controller用@RequestBody注解解析成pojo,token可以自动注入值到入参类中 继承HttpServlet ...
- response.getWriter().write()和 response.getWriter().print()的区别 以及 PrintWriter对象 和 out对象 的区别
感谢原文作者:krismile__qh 原文链接:https://blog.csdn.net/krismile__qh/article/details/89926001 一.response.getW ...
- 请求转发(request对象)和重定向(response)的区别及何时使用请求转发和重定向
标题request和response主要区别: 1. 请求转发使用 request对象,重定向使用 response 对象 2. 请求转发使用服务器端路径,重定向使用客户端路径 3. 请求转发不能跳转 ...
最新文章
- Subsonic设置--新手上路
- UNIX环境高级编程——无名管道和有名管道
- JDK8 Stream 效率如何?
- 【vscode】python工作目录添加到环境中
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统...
- 线程间操作无效,从不是创建控件的线程访问它。
- how is sales pipeline retrieved from backend
- 价值98元的千神资源网模板
- 推荐系统之协同过滤算法分布式实现(附代码实现)
- 可口可乐造型设计_可口可乐推出黑科技音响,还能当冰箱用?
- linux php zend load,在Linux系统中为PHP5.3安装Zend Guard Loader
- 署五笔软件测试初学者,三天学会五笔打字练习(新手教程)
- 计算机 管理 用户,一种计算机系统及管理计算机用户权限的方法_2
- 服务器上系统使用排行,服务器操作系统使用排行榜
- Hive批量删除历史分区
- 上海亚商投顾:沪指震荡反弹 游戏、传媒概念股再度大涨
- Redis缓存穿透、击穿、雪崩、概念及解决办法
- 【数学 裴蜀定理】luogu_4549 裴蜀定理
- Netty5基础知识介绍及简单使用
- 怎样使页面加载完再执行js代码