首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

HttpServletResponse中获取PrintWriter需要注意的一个小疑点

2012-11-01 
HttpServletResponse中获取PrintWriter需要注意的一个小问题写过servlet的人都知道,可以通过HttpServletRe

HttpServletResponse中获取PrintWriter需要注意的一个小问题

写过servlet的人都知道,可以通过HttpServletResponse中的getWriter方法获取对客户端的输出流,但是如果在调用getWriter之前未设置编码(既调用setContentType或者setCharacterEncoding方法设置编码),HttpServletResponse则会返回一个用默认的编码(既ISO-8859-1)编码的PrintWriter实例。这样就会造成中文乱码。而且设置编码时必须在调用getWriter之前设置,不然是无效的。比如:

?

PrintWriter out = resp.getWriter();
resp.setContentType("text/html;charset=utf-8");

out = resp.getWriter();

?

这样用out输出中文的时候肯定会是乱码的,而且即便你在下面再获取一次getWriter(红色地方),此时的PrintWriter也不会是utf8编码的PrintWriter。 正确的写法应该是:

resp.setContentType("text/html;charset=utf-8");

PrintWriter out = resp.getWriter();
这样的。

?

这是我自己犯得一个小错误。学艺不精啊,记下来!呵呵!

?

热点排行